图 7. 测试项示例
“test.FetchInv”是通过自定义的正则表达式取得关联数据,此处的正则表达式匹配可以通过分析新版本的页面结果的 html 文件来获得:
清单 8. 通过自定义的正则表达式取得关联数据
public static String extractInvoice(String response) { if (response == null || "".equals(response)) return null; response = response.substring(response .indexOf("document.getElementById(\"GIWINVOICE.I_InvNo\")")); String patternString = "orginValue = '(.*?)'"; Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(response); if (matcher.find()) { return matcher.group(1); } return null; } |
3.5 通过命令行触发 RPT 脚本的执行
执行 RPT 的测试项有两种方式,通过 GUI 方式启动执行和通过命令行方式启动执行。RPT GUI 本身会消耗比较大的系统资源,在测试机器资源不是非常充裕的情况下,尤其是频繁的数据采样长时间的运行会使 RPT 的 GUI 产生内存不足的错误,此时可以考虑用命令行触发 RPT 脚本的执行。下面是一个实例,具体命令行中的各个参数可以参考 RPT 帮助文档。
图 8. 命令行调用 RPT 脚本
(查看大图)
设置自动导出测试结果报告(在 RPT 的 Eclipse 客户端中通过下面的路径找到 Export Reports 设置页面,Window->Preferences->Test->Performance Test Reports->Export Reports):
图 9. 设置结果文件格式
结合 3.3 小节中介绍的监控脚本执行情况的方法,用命令行启动并执行测试脚本同时可以通过我们自定义的日志文件来监控脚本是否正常执行同时将结果自动导入到结果文件中,即节省了 RPT GUI 所占用的系统资源,同时也完成了脚本执行监控和结果搜集的功能。
回页首
4. 总结
由于持续性测试的特性,传统的录制或者设计性能测试脚本的方法也许会遇到很多问题,本文中介绍了适于持续性测试的基于 Rational Performance Tester 的脚本录制和设计方法。其中包括对 RPT 一些固有功能的扩展。对使用 RPT 进行性能测试尤其是持续性测试的用户具有参考价值。
原文转自:http://www.ibm.com/developerworks/cn/rational/r-cn-rptlongrun/index.html