Rational Performance Tester 对编写脚本的调试
如何调试客户化的 RPT 脚本,因脚本在后端运行时,无法看到任何的控制台信息,运行完也无从发现,因为 log 信息也被序列化成 xmi 了,因此采用 System.out.println 基本是没有办法了,这里提供了两种方式:
式:
通过将调试信息写入文件的方式 。
首先定义变量:
String mess = “begin”; |
mess = mess +line + "*******\r\n"; |
try { FileWriter outFile = new FileWriter("C:\\response1.txt"); outFile.write(mess); outFile.close(); } catch (Exception e) { } |
最后直接打开文件,查看相关的内容 。
如果是在 RPT Test 中的代码,可以采用 TPTP 的 Log, 将相关信息输出到执行日志中 。
首先 import IVirtualUserInfo, 主要是为了得到当前的用户 id。
然后调用 ITestExecutionServices 的 getTestLogManager 的 reportMessage 方法,把需要的信息记录到 TPTP Log 中 。
Tes.getTestLogManager().reportMessage( "name =" + Integer.toString(vui.getUID()) + "==" + name); |
调试方式的比较:
在第一种方式下,能直接以文件的方式一目了然所有的输出,但无法看到那个虚拟用户的 id 等信息,这是传统的,大家比较适应的方式。
通过 TPTP Log 的方式,查看起来比较麻烦,需要在执行日志中展开来看每个节点的返回,效率比较低,如果要象第一种方式下以文件的方式,需要用 winrar 解开 .execute 文件 ( 执行日志 ), 然后会看到 EMF 模型实例的序列化的 xmi 文件,然后通过 ultraedit 打开了就可以看到了。
总结
Rational Performance Tester 构建于 Eclipse 的 TPTP 的测试框架 ,它是 Eclipse 的一类项目 (Top Projects)之一,目前仍然在不断的发展,基于 TPTP 的框架,一方面能很方便的采用框架上已经提供的功能,比如 DataPool,TPTP Log 等,另外,因为 TPTP 本身基于 Java 架构,因此完全可以通过 Java 底层的提供的强大的 API 来客户化代码满足各种不同环境下的不同需求,本文就是对数据池进行改造的一个例子。大家在实际的使用过程中也可以采用各种新的 Eclipse 的技术,比如 EMF,BIRT 来对 RPT 进行各种扩展。开放的架构,灵活的扩展方式和丰富的接口,这也就是我们认为的开放的力量吧。