前情提要:在用jmeter做介面測試時,對請求體進行引數化,執行結果報錯。但在不引數化的情況下,執行結果成功,而且引數化後,請求中讀取到的引數是正確的(執行失敗與執行成功時的引數一致)。
問題排查:引數化後,請求中的兩個反斜槓(\)變成了一個反斜槓(\)。
問題原因:引數化的時候,${}把反斜槓給轉義了。
解決辦法:把單反斜槓替換成雙反斜槓。
問題發現、排查及解決過程,如下:
1. 請求未引數化
1.1 【執行緒組】請求訊息體資料
1.2 【檢視結果樹】請求
1.3 【檢視結果樹】響應資料
2. 請求引數化
2.1 【執行緒組】請求訊息體資料
2.2 【檢視結果樹】請求
2.3 【檢視結果樹】響應資料
3. 排查分析
3.1 排查
對比兩種情況下的【檢視結果樹】請求,發現引數化後的三個反斜槓變成了兩個。
3.2 分析
引數化的時候,${}把反斜槓給轉義了。即:請求中的兩個反斜槓(\)變成了一個反斜槓(\)。
4. 解決辦法
引數化後,將請求中的\\\修改為\\\\\,再次執行,執行成功。
4.1 【執行緒組】請求訊息體資料
4.2 【檢視結果樹】請求
4.3 【檢視結果樹】響應資料
綜上,解決。這應該是jmeter一個bug。