squish for qt怎么用

关注51Testing
软件测试工具厂商如何“突出重围”
发表于: 12:08 &作者:陈能技 & 来源:网络转载
推荐标签:
  随着软件的复杂度提高和人们对软件质量的重视程度的提升,大家对越来越重视,的使用也备受关注。根据市场调查机构IDC的研究报告指出,全球工具的市场发展,已经在2004年达到了7.8亿美元的规模,近几年保持了持续的增长,各大软件巨头纷纷看好自动化测试工具的发展,持续投入研发,这从最近几年的几个大的并购案可以看出,例如HP收购 Interactive、买入e-TEST等。  另一方面,目前软件自动化测试工具市场被几大厂商瓜分所剩无几,HP的几款测试工具成为大公司们的默认选择。那么测试工具厂商们如何“突出重围”呢?  走轻量级路线  HP、等往往非常庞大,动辄上G的安装文件往往让一些只需要简单的自动化功能的使用者望而却步。对于这些用户,也许选择低价格、轻量型的工具更加适合,例如Macro Scheduler。  MJT NET最近发布了Macro Scheduler 11(http://www.mjtnet.com),售价仅为115美元。当然,Macro Scheduler追求的不是大而全,而是“轻量主义”。目标瞄准自动化,通过脚本编程来提高效率,从这个角度来看,它不局限于测试。    Macro Scheduler对于所有应用程序都适用,因为它是通过录制键盘和鼠标来工作的,通过图像识别技术和界面上的文本捕获能力,可以自动化操作所有类型的应用程序。内置了超过250个脚本命令,支持VBScript。  “剑走偏锋”  大型的测试工具对主流应用的支持是比较完备的,例如Java、.NET等编程语言编写的应用程序。但是对于一些相对冷门的语言或GUI库的应用程序,例如 QT、TK、XView等,这些大型的测试工具就"鞭长莫及"了。而这恰恰是一些小的测试工具厂商的生存机会,例如Squish(http://www.froglogic.com)。  Squish分成了9个版本,其中一些版本声称是市面上唯一专业支持某种类型的应用程序的自动化测试。  (1)Squish for Qt  Squish for Qt版本支持测试基于Trolltech的Qt界面库,能识别出所有标准的Qt widget,支持Qt 2.x/3.x 和 Qt 4.x widgets ,例如:QListView、QListBox、Q*ItemView、QMenu等。对于从Qt widget继承而来的个性化控件也能很好地支持。    Qt是由挪威的Trolltech公司出品的一个跨平台的C++图形用户界面库。基本上,Qt同X Window上的Motif、Openwin、GTK等图形界面库和Windows平台上的MFC、OWL、VCL、ATL是同类型的东西,但是Qt具有广泛的跨平台能力,支持win95、win98、winNT、、Solaris、SunOS、HP-UX、Digital Unix、Irix、FreeBSD、AIX、OS390等等。
搜索风云榜
51Testing官方微信
51Testing官方微博
测试知识全知道{{data.item.arttitle}}
作者 {{data.item.artauthorname}} {{data.item.artcreatetime}}
请使用浏览器的分享功能分享到微信等基于GUI测试工具Squish的使用 | | 日o读
基于GUI测试工具Squish的使用
Notify of new replies to this comment - (on)
Notify of new replies to this comment - (off)
Notify of new replies to this comment - (on)
Notify of new replies to this comment - (off)
& Subscribe &
新跟进评论
我评论的新回复使用Squish有可能调用任何Qt对象的每个公开的函数。另外也有可能调用Qt提供的静态函数。
下面的例子中我们改变button的text,在上一部分中使用QButton::setText函数查询该button。
button = waitForObject(":Address Book - Add.OK_QPushButton")
button.setText("Changed Button Text")
相似地,可以调用Qt的静态函数。作为一个例子,我们使用静态函数QApplication::activeModalWidget查询当前激活的模态widget(例如,dialog box)。如果返回一个有效的对象,我们在test log中打印该对象的对象名(或 如果没设置对象名字打印“unnamed”)。为了检查对象是否是有效的(即,not null),我们可以使用Squish的isNull函数。为了找到对象的名字我们访问objectName属性。
widget = QApplication.activeModalWidget()
if not isNull(widget):
test.log(widget.objectName or "unnamed")
QT 一个类调用另一个类中的方法 (样式表例子)
Qt一个工程调用另一个工程的类成员变量
qt 子窗口调用父窗口的函数
类似策略模式,Qt实现动态函数调用
Qt使用QTimer实现函数的周期性执行
Qt 调用外部exe的方法
Qt如何调用外部可执行文件。
【QT】Qt 5.9 QWidget程序执行过程分析
Qt中一个.cpp类的函数调用另一个.cpp中类的函数的方法
关于Qt 两个.cpp文件相互调用各自的函数
没有更多推荐了,Squish - GUI Tester - swee632 - 博客园
随笔 - 20, 文章 - 2, 评论 - 0, 引用 - 0
Squish overview
网上查询关于自动化测试工具Squish的资料很少。特别是中文搜索。最近正好在使用这款工具,在使用中总结了一些知识,在这里和大家一起分享下。
Squish是froglogic公司的一款商业自动化工具,几年前好像是有免费的版本使用的,叫Squish/KDE,是针对Qt的自动化测试工具。现在需要买License,才能使用。当然在买之前是可以有一段时间的试用,需要用公司的邮箱注册。试用过后,就只能购买License才能使用。
Squish官网:
官网介绍Squish是一个主要用于功能性GUI回归测试的跨平台/跨技术的GUI测试自动化工具。
  Squish is the leading cross-platform/cross-technology GUI test automation tool for functional GUI regression tests.
Squish开发了针对不同平台的API,这些API封装在不同的套件(toolkit)里,在购买Licence时,Sale会询问购买哪个或几个套件,价格是不一样的。具体可以参考另外一篇关于licence的文章。
接下来介绍下Squish主要的功能
&Visual Verifications 图形验证,不仅可以图像像素对比,还可以验证图片中元素所在坐标位置是否正确
&BDD - Behavior-Driven Development & Testing 行为驱动开发测试
&Recording and Playback 录制回放
&Test Verification & Validation 测试验证和校验
&Powerful and Intuitive Test Creation Environment 拥有强大的IDE
&Multiple Real-World Scripting Languages 多脚本语言支持
&Data-Driven Testing 数据驱动测试
&Distributed Batch Testing 分布式批量测试
&Extensive Integration Options 广泛的集成选项,可以与ALM,Jenkins等集成使用,有对应的插件提供
&Object Map & Object Identification Tools 对象匹配工具
&Hybrid Application Testing 多应用程序一起测试
Squish工作原理:
Squish运行一个服务Squish Server来处理被测程序与脚本之间的通信
脚本由squishrunner工具执行,squishrunner会连接到Squish server。此时squish server会启动被测程序,注入squish hook,这是一个库文件,用于实时获取被测程序的对象,并与squish server通信。有了Squish hook,squish server就可以根据对象的属性查询到对象,并代表SquishRunner执行脚本里定义的命令。
所有的通信都是通过网络套接实现的,所以测试可以在单一的设备上完成,也可以脚本在一台电脑上,被测程序运行在连入同一网络的其他不同平台或嵌入式设备上。
&Squish IDE

我要回帖

更多关于 qtforjava 的文章

 

随机推荐