WEB开发网
开发学院软件开发Java 调试和测试 Swing 代码 阅读

调试和测试 Swing 代码

 2010-03-17 00:00:00 来源:WEB开发网   
核心提示: 另外, UI 测试可将 FEST-Swing 的 FestSwingTestngTestCase 或 FestSwingJunitTestCase 分为子类,调试和测试 Swing 代码(10),这两个类均已安装了 FailOnThreadViolationRepaintManager, FES

另外, 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 报告
调试和测试 Swing 代码

造成测试失败的另一个常见原因是组件查询失败。推荐的查询组件的方式是根据组件的惟一名称查询。有时您要测试的 GUI 的组件没有惟一名称,这时就只能使用通用的搜索标准。有两种类型的组件查询失败:

无法找到 GUI 组件。 例如,假设您在查询名称为 firstName 的 JTextField ,但是原先的开发人员忘记将该名称赋给组件。在这种情况下,FEST-Swing 在抛出的 ComponentLookupException 中包含可用的组件层次结构,从而易于发现失败的原因。在本例中,您可以检查组件层次结构以查看 JTextField 是否有正确的名称,或是否真正将 JTextField 添加到 GUI。清单 7 显示了一个嵌入在 ComponentLookupException 中的组件层次结构:

清单 7. 包含组件层次结构的 ComponentLookupException

上一页  5 6 7 8 9 10 

Tags:调试 Swing

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接