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