快速业务通道

调试和测试Swing代码 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
ialog.textBox("firstName").enterText("Luke"); dialog.button("ok").click();

验证 GUI 组件状态的断言方法。清单 2 显示了一个断言,它验证了标签名 为 “answer” 的文本是 “21”:

清单 2. FEST-Swing 的断言

dialog.label("answer").requireText("21");

促进强健测试:布局变化不会 中断测试。

支持出现在 JDK 中的 Swing 组件。

支持 JUnit 4 和 TestNG。

为正确的 Swing 线程使用提供验证。

简化故障检修失败测试。

用 FEST-Swing 编写功能 GUI 测试

目前我们已经了解了编辑器应用程序的 GUI 的结构,收集了要测试的用例, 找到了可靠的测试工具,终于可以开始编写功能 GUI 测试了。

用例:打开一个 HTML 文件

在 HTML 编辑器中打开文件需要执行以下操作:

选择 File > Open 子菜单

在显示的文件选择器中选择要打开的文件

确保编辑器加载了文件内容

清单 3 显示了这一用例的代码:

清单 3. 打开 HTML 文件的测试

public class HTMLDocumentEditor_Test extends  FestSwingJUnitTestCase {    private FrameFixture editor;    protected void onSetUp() {     editor = new FrameFixture(robot(), createNewEditor ());     editor.show();    }    @RunsInEDT    private static HTMLDocumentEditor createNewEditor()  {     return execute(new GuiQuery<HTMLDocumentEditor>()  {      protected HTMLDocumentEditor executeInEDT() {       return new HTMLDocumentEditor();      }     });    }    @Test    public void should_open_file() {     editor.menuItemWithPath("File", "Open").click();     JFileChooserFixture fileChooser = findFileChooser ().using(robot());     fileChooser.setCurrentDirectory(temporaryFolder())          .selectFile(new File("helloworld.html"))          .approve();     assertThat(editor.textBox("document").text()).contains ("Hello");    } }

调试和测试Swing代码(5)

时间:2011-06-11 IBM Alex Ruiz

以下内容详细介绍了清单 3 中的测试工作:

第一行扩展了 FEST-Swing 的 FestSwingJUnitTestCase。它提供对 FEST- Swing Robot 的自动创建,对正确 Swing 线程的验证(稍后详细介绍),对资 源的自动清理(关闭打开的窗口,释放鼠标和键盘,等等)。

editor = new FrameFixture(robot(), createNewEditor()); 创建一个新的 FrameFixture,能够在 Frame 上模拟用户输入,查询它内部的组件(使用多种 搜索标准)并验证其状态。

editor.show();在屏幕上显示 HTML 编辑器。

@RunsInEDT 用文档记录保证要在事件调度线程(EDT)中执行的 createNewEditor() 方法。

return execute(new GuiQuery<HTMLDocumentEditor>() 创建 EDT 中 HTMLDocumentEditor 的一个新实例。

在 editor.menuItemWithPath("File", "Open").click(); 中,FEST-Swing 模拟一个用户单击File > Open 子菜单。

在 JFileChooserFixture fileChooser = findFileChooser().using(robot ()); 中,FEST-Swing 查找由 HTML 编辑器启动的 “Open File” JFileChooser。

在接下来三行中,FEST-Swing 模拟用户选择位于系统临时文件夹中的 helloworld.html 文件。

assertThat(editor.textBox("document").text()).contains("Hello"); 通 过检查文件中是否包含 Hello 来验

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号