【发布时间】:2021-03-26 16:58:10
【问题描述】:
我有一个应用程序,我记录了 Jmeter 脚本来进行负载测试。通过 Azure AD 进行授权。
我已将与身份验证相关的内容关联起来,例如动态生成的访问令牌、刷新令牌和 id 令牌,并在负责调用 API 的请求中对它们进行参数化,这可能需要这些令牌来授权调用 API。
但是,我得到一个错误:-
java.net.URISyntaxException: Illegal character in query at index 98:
at java.base/java.net.URI$Parser.fail(URI.java:2938)
at java.base/java.net.URI$Parser.checkChars(URI.java:3109)
at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3197)
at java.base/java.net.URI$Parser.parse(URI.java:3139)
at java.base/java.net.URI.<init>(URI.java:623)
at java.base/java.net.URL.toURI(URL.java:1063)
at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:615)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1281)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1270)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
at java.base/java.lang.Thread.run(Thread.java:832)
我不确定我哪里出错了。我有共同相关的 3 个动态令牌,它们是作为身份验证令牌请求的一部分生成的。
以下链接中的截图:-
【问题讨论】:
-
我认为您需要将授权放在 HTTP 标头而不是参数中。
-
我没数过,但索引 98 似乎确实在
pages和listTiles之间的:周围,而:是保留字符。您需要对冒号进行百分比编码。
标签: java jmeter performance-testing jmeter-5.0 jmeter-3.2