調(diào)試場景
壓測場景配置完成后,您可以通過調(diào)試場景驗證配置是否合理,避免壓測失敗。本文介紹如何調(diào)試PTS和JMeter場景。
前提條件
已創(chuàng)建PTS或JMeter場景。具體操作,請參見創(chuàng)建PTS場景或創(chuàng)建JMeter場景。
操作步驟
登錄PTS控制臺,選擇 。
在目標場景的操作列下單擊編輯,進入編輯場景頁面。然后單擊調(diào)試場景,進行全場景調(diào)試。
在調(diào)試過程中可以單擊右上角的圖標來最小化窗口,在右下角以懸浮窗口隨時關(guān)注調(diào)試狀態(tài)。再次單擊懸浮窗口,可切換回場景調(diào)試對話框。
在調(diào)試結(jié)果中可以查看所有鏈路的請求日志。單擊某個API,可以查看該API的調(diào)試詳情。
若您只需對單個API進行調(diào)試,您還可以在場景配置頁面,單擊單個API右側(cè)的調(diào)試API,查看單個API的調(diào)試結(jié)果。
重要暫不支持對VPC內(nèi)網(wǎng)的單個API進行調(diào)試,針對VPC內(nèi)網(wǎng)的調(diào)試您可以選擇單擊調(diào)試場景進行全場景調(diào)試。
PTS場景調(diào)試界面說明
PTS場景調(diào)試界面如下:
斷言判斷
叉圖標表示異常。選中該API后,即可在右側(cè)查看響應詳情。
響應狀態(tài)
可能顯示一個狀態(tài)碼(200、302、403、503、500等)或異常字樣。若顯示異常,則表示未收到Response,可能是因為請求超時,或因為請求的URL(含Body)有錯誤,例如函數(shù)無法識別、URL不規(guī)范等。
說明每條調(diào)試的API均可查看到請求與響應詳情。針對上述異常現(xiàn)象,可以從以下方面排查:
若響應狀態(tài)為異常,請在右側(cè)響應詳情標簽頁的Error信息區(qū)域查看異常信息。例如上圖中的異常原因為非法參數(shù)(系統(tǒng)函數(shù)使用不合法)。
若響應狀態(tài)為除200以外的狀態(tài)碼,請查看具體返回信息,并結(jié)合服務器上的日志進行常規(guī)排查。
若斷言出現(xiàn)異常,請在右側(cè)響應詳情頁簽的檢查點信息區(qū)域查看斷言信息。若當前值為空,則表示未獲取到出參值。
Error 信息
可顯示異常響應詳情,例如超時、參數(shù)錯誤、連接拒絕等。
Timing為請求在核心的生命周期內(nèi)的耗時詳情。
調(diào)試中的異常信息可結(jié)合Timing瀑布模型查看,各種報錯都可以體現(xiàn)在Timing瀑布模型中。
例如場景配置開啟了302跳轉(zhuǎn),您需要查看壓測是否跳轉(zhuǎn)以及跳轉(zhuǎn)的具體路徑,可以結(jié)合Timing瀑布流查看。
出參表達式測試入口
當您需要基于請求的響應詳情提取特定字符串時(一般是文本類型的響應體),可在調(diào)試窗口中測試正則表達式是否正確,可按需重新設置出參。
說明由于Application/JSON和TEXT/JSON兩種類型的JSON格式解析比較簡單,暫不提供相關(guān)功能。
在場景調(diào)試對話框的右側(cè),選中某條API,單擊點此去測試出參正則表達式。
在測試出參正則對話框,選擇來源格式,填寫正則表達式,指定為第幾個匹配項。單擊測試表達式。通過響應詳情匹配結(jié)果,預判提取的內(nèi)容是否符合預期。
若需重新設置出參,則單擊同步出參配置,將此正則表達式同步到該API的出參列表中。
說明場景調(diào)試結(jié)束后,如有同步的出參,需返回壓測場景配置頁簽,在對應的API出參定義頁簽下,設置出參名。
Jmeter場景調(diào)試界面說明
JMeter場景調(diào)試界面如下:
單擊Sampler,即可在采樣日志區(qū)域查看請求和響應的詳情以及Timing瀑布流。
采樣日志:
General頁簽中展示了請求URL、請求方法以及請求狀態(tài)碼。
請求詳情頁簽中展示了請求Headers和Body值以及請求的原始報文。
響應詳情頁簽中展示了響應Headers和Body值以及響應的原始報文。
Timing頁簽中展示了各接口的耗時信息。
引擎日志區(qū)域展示了JMeter的運行日志。如果腳本調(diào)試后沒有采樣日志輸出,您可以根據(jù)引擎日志中的報錯信息進一步分析并處理問題。常見報錯及原因,請參見常見報錯。