调试和测试 Swing 代码
2010-03-17 00:00:00 来源:WEB开发网另外, UI 测试可将 FEST-Swing 的 FestSwingTestngTestCase 或 FestSwingJunitTestCase 分为子类,这两个类均已安装了 FailOnThreadViolationRepaintManager。 FEST-Swing 也提供有用的抽象类来确保对 Swing 组件的访问是在 EDT 中完成的。
GUI 测试失败故障排除
不管编写功能 GUI 测试所用的库是什么,这种测试都易受到环境相关事件的攻击。FEST-Swing 也不例外。例如,一次预定的反病毒扫描可能弹出一个对话框来阻止正在测试的 GUI。FEST-Swing Robot 将不能访问 GUI 并最终因超时而强迫测试终止。测试失败不是程序错误造成的,只是不合时宜而已。
FEST-Swing 的一个非常有用的特性是它能够在测试失败时摄取桌面截图。当您在 IDE 内执行单个测试时,该截图会被自动嵌入到 JUnit 或 TestNG 报告中,或保存在目录中。图 6 显示了 GUI 测试失败后的一个 JUnit HTML 报告。注意测试失败时 FEST-Swing 添加到桌面截图中的链接。
图 6. 从失败测试链接到桌面截图的 JUnit HTML 报告
造成测试失败的另一个常见原因是组件查询失败。推荐的查询组件的方式是根据组件的惟一名称查询。有时您要测试的 GUI 的组件没有惟一名称,这时就只能使用通用的搜索标准。有两种类型的组件查询失败:
无法找到 GUI 组件。 例如,假设您在查询名称为 firstName 的 JTextField ,但是原先的开发人员忘记将该名称赋给组件。在这种情况下,FEST-Swing 在抛出的 ComponentLookupException 中包含可用的组件层次结构,从而易于发现失败的原因。在本例中,您可以检查组件层次结构以查看 JTextField 是否有正确的名称,或是否真正将 JTextField 添加到 GUI。清单 7 显示了一个嵌入在 ComponentLookupException 中的组件层次结构:
清单 7. 包含组件层次结构的 ComponentLookupException
- ››调试SQL server 2008功能设置
- ››调试JavaScript错误
- ››调试和测试 Swing 代码
- ››调试集成 Java 和 C/C++ 的代码
- ››Swing中Timer定时器的使用
- ››Swing中为文本组件定制统一的菜单
- ››调试JavaScript脚本程序(Firefox篇)
- ››调试JavaScript/VB Script脚本程序(ASP.NET篇)
- ››调试JavaScript/VB Script脚本程序(Wscript篇)
- ››调试JavaScript/VB Script脚本程序(ASP篇)
- ››调试JavaScript/VB Script脚本程序(IE篇)
- ››调试诊治CSS布局的10个有效方法
更多精彩
赞助商链接