自訂程式碼除錯

這個範例以新增岔斷點的方式來示範如何進行自訂程式碼除錯。 它提供範例程式碼來新增岔斷點。這種自訂程式碼除錯方式僅適用於排程。

程序

  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 資料夾,然後按一下確定。 排程執行會在指定的岔斷點之處停止。
        此視圖顯示已停止執行的岔斷點。

意見