JMeter:如何在HTTP GET请求中插入参数?

时间:2017-05-25 15:08:53

标签: http parameters get jmeter

我已经使用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视频。

如果有人有任何建议或解决方案,我将非常感谢您的帮助。

1 个答案:

答案 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

希望这可以帮助有类似问题的人。