调试定制代码

本示例说明了如何通过添加断点来调试定制代码。它提供了用于添加断点的样本代码。这种调试定制代码的方法仅适用于调度。

过程

  1. 启动 IBM® Rational® Performance Tester 并创建性能测试项目 MyProject
  2. 通过记录对 http://<hostname>:7080/ 的访问来创建 HTTP 测试 MyTest
    注: 访问此 URL 之前,请确保 Rational Performance Tester 正在运行。此 URL 将返回 HTTP 404 错误,这符合预期。
    含五次迭代的循环下的测试。
  3. 展开第一个请求并单击响应元素。
  4. 在“测试元素详细信息”部分中,在内容字段中进行右键单击,然后单击创建字段引用
  5. 输入引用名称并单击确定
  6. 单击第一个页面,然后单击添加 > 定制代码
  7. 在“测试元素详细信息”的参数部分中,单击添加
  8. 展开搜索结果页面的数据源,选择已在步骤 5 中创建的引用名称,然后单击选择
  9. 单击生成代码 将显示具有所生成代码的新选项卡。
  10. 将以下代码插入 exec() 方法:
    ITestLogManager history = tes.getTestLogManager();
    if (args.length > 0) {
        if (args[0].indexOf("Invester Relations") != -1) {
            history.reportMessage("First page failed.  Bail loop!");
            tes.getLoopControl().continueLoop();
        }
    }
    要点:
    • 修正双引号(如果有),以使它们成为直双引号并且使编译器不再给出警告。
    • 要解决与导入类相关的编译器警告,请按 Ctrl + Shift + O

    代码将看起来像:

    用于插入断点的代码

  11. 要插入断点,请在 args[0].indexOf 行上任意位置进行单击。 将指针移至文本编辑器窗口最左边的部分,并当指针在此同一行上处于水平位置时进行双击。窗口的此最左边部分内将显示一个蓝色按钮,指示断点已设置。
    添加断点
  12. 保存定制代码,然后保存测试。
  13. 创建新调度 Schtest
    1. Schtest 中,将要运行的用户数设置为 1。
    2. 单击用户组 1 并单击添加 > 测试。 选择 MyTest 测试并单击确定
    3. 单击用户组 1 并单击在以下位置运行该组按钮。
    4. 单击添加 > 新添加
    5. 在“新位置”窗口中,输入以下信息:
      1. 主机名中,输入 localhost
      2. 名称中,输入 debuglocation
      3. 部署目录中,输入 C:\mydeploy
      4. 单击完成
    6. 保存调度。
  14. 在“测试导航器”中,右键单击 debuglocation 并单击打开
  15. 单击常用属性选项卡并单击添加
  16. 属性名称字段中,输入 RPT_VMARGS,并在属性值字段中,添加以下值(每个值都用空格隔开)。
    -Xdebug
    -Xnoagent
    -Djava.compiler=NONE
    -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
    RPT_VMARGS 的属性
  17. 保存位置。
  18. 将调试器附加到调度执行过程。
    1. 运行调度。 因为调度要使用 debuglocation,所以将在开始时暂停以使您能够将调试器附加到执行过程。
    2. 单击窗口 > 打开透视图 > 其他 > 调试
    3. 单击运行 > 调试配置
    4. 在“调试配置”窗口中,右键单击远程 Java 应用程序并单击新建
    5. 单击调试 正在运行的线程的列表将显示在“调试”窗口中,而调度执行将在调试断点处暂停。
    6. 如果您是首次执行该操作,那么可能需要提供源位置才能查看定制 Java 代码。请通过执行以下步骤来执行该操作:
      1. 单击编辑源查找路径并单击添加
      2. 单击工作空间文件夹 > 确定
      3. 现在,展开 MyProject,选择 src 文件夹,然后单击确定。 调度运行将在指定断点处停止。
        该视图显示了运行停止在的断点。

反馈