Jmeter中java.net.URISyntaxException錯誤


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

jmeter中的響應結果如下:

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],在請求中沒有進行轉碼,導致存在特殊符號“空格”,坑啊。。。

解決方法:

1、自動轉碼:

    在jmeter的“HTTP請求”中勾選fullExtent參數后面的“編碼?”復選框,如下圖所示:

  

2、手動轉碼:

  手動轉碼就簡單了,將fullExtent的參數值手動轉碼為[object%20Object]后對其賦值即可。

PS:任何事情都需要細致嚴謹,尤其做測試工作,2018年第一份隨筆,希望新的一年生活上家庭甜美,身體健康,工作上嚴謹細致,勇攀高峰!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM