JMeter中java.net.URISyntaxException错误

发表于:2018-1-05 10:08

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:一点空白    来源:博客园

  今天在做服务发布性能测试的时候,傻傻的犯了个错,没有对参数进行仔细的检查,直接从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年第一份随笔,希望新的一年生活上家庭甜美,身体健康,工作上严谨细致,勇攀高峰!

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号