JMeter在加载测试时间歇性地无法解析URL变量

时间:2016-01-12 01:54:12

标签: jmeter load-testing

使用JMeter进行负载测试时,我试图在一秒钟内发送1000个请求。问题是我需要发送从之前每次登录获取的访问令牌。这样做时我收到以下错误:

  

java.net.URISyntaxException:索引67处路径中的非法字符:https://greenback-api.com/api/subscribers/getSavings/ $ {USER_ID}?access_token = $ {AUTH_TOKEN}

在低负载下典型的JMETER将变量转换为有效的url likeo是没有问题的:

api.com/api/subscribers/getSavings/4?access_token=443hrr4938rh9ghreughughtrugtrgt4

即使在高负载下,有没有办法强制JMETER在发出get请求之前呈现url变量?

1 个答案:

答案 0 :(得分:1)

有时看起来有时${USER_ID}${AUTH_TOKEN}不会被登录返回(或任何设置它们)。因此,JMeter将按原样使用表达式${...}。并且字符{}确实对URI无效(它们必须被编码)。

另一个选择是${USER_ID}${AUTH_TOKEN}确实包含一些对URI无效且需要编码的字符。

所以你可能需要

  1. URL Encode您的${AUTH_TOKEN}(可能还有${USER_ID}
  2. 在登录完成时(以及填充${USER_ID}${AUTH_TOKEN}的任何其他操作)进行更严格的检查,以确保在未返回值时,他们不会继续执行以下操作。 / LI>