Eclipse Test & Performance Tools Platform (TPTP) 是建立在 Eclipse 平台上的開源測試工具集,包含四大子項目:Platform(核心服務)、Testing Tools(自動化測試)、Tracing & Profiling(性能分析)、Monitoring(實時監控)。本文聚焦 Testing Tools 中的 HTTP 測試錄製與 JUnit 腳本生成。
.rec 記錄文件.testsuite(XML 序列化),包含 Loop、TestCase、HTTP Request 結構HyadesTestCase 的 Java 測試類生成的 executeRequest 斷言僅檢查 HTTP 狀態碼 < 400,**完全忽略響應體內容驗證**,導致腳本在實際驗證業務邏輯(如頁面關鍵字、JSON 字段)時無效。根因在於 TPTP 內部 HttpResponse 僅保存 Content-Type,未保存完整 Body。
HttpExecutor.execute()
→ HttpRequestHandler.getServerResponse()
→ 讀取 InputStream → 封裝 HttpResponse
HttpRequestHandler 重寫 getServerResponse,將完整響應流寫入 HttpResponse.bodyHttpExecutor 覆寫 execute,注入自定義 HandlerHttpExecutor 實例為自定義 DHttpExecutor,調用 response.getBody() 進行內容斷言// 關鍵片段:捕獲完整響應體
StringBuilder content = new StringBuilder();
while ((bytes_read = inputStream.read(buffer)) != -1) {
content.append(new String(buffer, 0, bytes_read, "UTF-8"));
}
response.setBody(content.toString());
TPTP 作為開源平台,優勢在於:
建議團隊沉澱通用的 BaseTestCase 封裝 TPTP 底層 API,降低業務測試編寫門檻。