追求代码质量 - 操纵TestNG-Abbot实现自动化GUI测试[Java编程]
本文“追求代码质量 - 操纵TestNG-Abbot实现自动化GUI测试[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
利用Swing、AWT 和近似的技术构建用户界面普通会给开辟人员举行测试带 来挑衅,缘由以下:
底层图形框架的复杂性
GUI 中表现情势和业务逻辑之间的耦合
贫乏直观的自动测试框架
当然,前两个缘由并不新颖 —— 图形框架本来就很复杂,并且向 GUI 利用程序增添业务功效老是会给测试造成麻烦.另一方面,过去几年中有很多便利的框架涌现出来,确切使 GUI 测试越发便利.
本月,我将介绍一种新的框架,它极大地减轻了 GUI 测试的痛楚.
TestNG-Abbot 简介
TestNG-Abbot 源自于两个成功的开辟人员测试框架的结合:Abbot 和 TestNG.Abbot 是一种 JUnit 扩大框架,主要目的是使 GUI 组件实现编程断绝 ,它还供应了一种考证 GUI 行为的简易办法.举例来说,可以利用它来获得对 按钮组件的引用,利用编程的办法点击按钮,然后查验其操作.Abbot 还附带了 一个脚本记录器,利用它就可以够以 XML 格局布设测试场景,可以通过编程的方 式运行它.
在本系列中,我已经介绍了一些关于 TestNG 的内容,这里将持续介绍 TestNG.基本上,TestNG 是 JUnit 的一个替换物.除了全部预期的功效外,它 还增添了一些额外功效.正如我在其他文章中提到的一样,TestNG 分外合适于 更高层次的测试,此中,它可以用来测试依靠关系并只返回失利了的测试 —— 简而言之,在测试 GUI 时,这范例测试非常便利.
它的发源就如此让人印象深化,所以 TestNG-Abbot 成为测试工具中的神童 就没什么好奇特的了.同 Abbot 一样,TestNG-Abbot 使 GUI 组件可以举行编 程断绝.同时,它利用了 TestNG 的断言,将 GUI 操作细节提取到了简单的fixture 中,后者可以公开考证办法.如能精确利用,TestNG-Abbot 的直观的fixture 类可以使 GUI 测试好像从小男孩手里偷一块糖一样简单.(当然,您 不会想那么干的!)
直观的fixture 类
TestNG-Abbot 的当前版本支持七种 fixture 范例,此中一种范例用于操作 按钮、菜单标签以及文本项组件,如文本字段.此外,这些 fixture 范例按照 名字在逻辑上链接到了测试中的代码(即 GUI 组件).这使得 GUI 和其测试实 现了松耦合,这样做至少有以下两个好处:
测试不会依靠于特定位置的GUI 组件 —— 这样无需中止测试便可对其举行 移动.
可以在早期举行测试,并且不会遭到开辟期间筹划和外观改变的影响.
固然目前只支持七种 fixture 范例,很快就会支持其他 fixture 范例.更 多的fixture 范例只会增添 TestNG-Abbot 在编程考证 GUI 方面的高效性.
GUI 考证不再普通!
固然 TestNG-Abbot 使得考证 GUI 的历程越发简单,这并不意味着这个历程 很简单.必须使 GUI 测试辨别于单元或组件测试.考证 GUI 中业务法则的历程 变成了对用户场景举行考证;大概,换种说法,GUI 测试包含考证可见状况的改 变.
比方说,假如按下了订单输入 GUI 上的保存按钮,业务法则会保证号令的内 容被保存到数据库中.但是,在一个用户场景中,会保证成功的状况信息被插入 了按钮下 —— 这恰是利用TestNG-Abbot 可以编写的测试.事实上,假如 GUI 计划杰出的话,可以测试被保存到数据库中的号令内容而无需 测试 GUI.接着 您还可以同时并赶早地编写这两个分外的测试.
加油!
记着 TestNG-Abbot 并无阻碍端对端测试(end-to-end).可以轻 松将 TestNG-Abbot 和 DbUnit 结合在一同,比方,成立一个同时考证用户场景 和业务法则的可反复测试.
以上是“追求代码质量 - 操纵TestNG-Abbot实现自动化GUI测试[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |