Jmeter中java.net.URISyntaxException錯誤

今天在作服務發佈性能測試的時候,傻傻的犯了個錯,沒有對參數進行仔細的檢查,直接從fiddler中copy到jmeter中了,業務流程配置好後執行測試報錯。。。java

jmeter中的響應結果以下:apache

java.net.URISyntaxException: Illegal character in query at index 222: http://xxx.xx.xx.24:9006/xx-cloud/rest/china1_10/wmts?service=WMTS&...&width=256&tileSize=256&fullExtent=[object Object]&tilematrix=10&tilerow=146&tilecol=820
    at java.net.URI$Parser.fail(URI.java:2848)
    at java.net.URI$Parser.checkChars(URI.java:3021)
    at java.net.URI$Parser.parseHierarchical(URI.java:3111)
    at java.net.URI$Parser.parse(URI.java:3053)
    at java.net.URI.<init>(URI.java:588)
    at java.net.URL.toURI(URL.java:946)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:331)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1135)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:465)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:410)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:241)
    at java.lang.Thread.run(Thread.java:745)

仔細檢查了一下各控件的相關參數,感受沒有什麼問題,頓時萌幣了。性能

好吧,休息一下,想想當初哪裏的雷忘了排了,對照着原始Url仔細對比,發現響應報錯中fullExtent的參數值爲[object Object],在請求中沒有進行轉碼,致使存在特殊符號「空格」,坑啊。。。測試

解決方法:編碼

一、自動轉碼:spa

    在jmeter的「HTTP請求」中勾選fullExtent參數後面的「編碼?」複選框,以下圖所示:.net

  

二、手動轉碼:rest

  手動轉碼就簡單了,將fullExtent的參數值手動轉碼爲[object%20Object]後對其賦值便可。code

PS:任何事情都須要細緻嚴謹,尤爲作測試工做,2018年第一份隨筆,但願新的一年生活上家庭甜美,身體健康,工做上嚴謹細緻,勇攀高峯!blog

相關文章
相關標籤/搜索