我已经使用JMeter几周了,并且最近遇到了一个问题,试图将参数插入到我正在测试的API请求中。
当我设置基本GET HTTP请求时,使用以下结束点:
https://www.blahSite.com/blahReport/reportDates?q=start_date::2017-01-01|end_date::2017-05-23
我收到以下错误:
java.net.URISyntaxException: Illegal character in query at index 90: https://www.blahsite.com/blahReport/reportDates?q=start_date::2017-01-01|end_date::2017-05-23
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
at java.net.URL.toURI(Unknown Source)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:357)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1166)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1155)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:475)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:418)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249)
at java.lang.Thread.run(Unknown Source)
我已经尝试设置要使用reqeust发送的参数,它位于Path的文本字段的正下方,但是当我尝试使用它时出现以下JSON错误:
{"status":"error","message":"Invalid parameter start_date","code":30000}
我认为我错过了一些对于经验丰富的用户来说可能显而易见的步骤,但我还没有找到手册中的答案,或者我观看过的各种YouTube视频。
如果有人有任何建议或解决方案,我将非常感谢您的帮助。
答案 0 :(得分:0)
弄清楚我做错了什么。
我将每个日期(开始和结束)列为自己的参数。
我需要将参数列为&#34; q&#34;,将包含开始日期和结束日期的字符串作为值
所以代替:
**Parameter** **Value**
start_date 2017-01-01
end_date 2017-05-23
应该是:
**Parameter** **Value**
q start_date::2017-01-01|end_date::2017-05-23
希望这可以帮助有类似问题的人。