当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

追求代码质量 - 操纵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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 追求代码质量 - 操纵TestNG-Abbot实现自动化GUI测试
  • 追求代码质量 - 可反复的系统测试
  • 追求代码质量 - 顺服复杂的冗长代码
  • <b>追求代码质量 - 测试Struts遗留的操纵程序</b>
  • 追求代码质量 - 谨防精密耦合!
  • 追求代码质量 - 亲身体验行为驱动开辟
  • 追求代码质量 - 通过测试分类实现矫捷构建
  • 追求代码质量 - JUnit 4与TestNG的对比
  • 追求代码质量 - 用代码器量举行重构
  • 追求代码质量 - 操纵Selenium和TestNG举行编程式测试
  • 追求代码质量 - 用JUnitPerf举行性能测试
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .