9

我正在使用JMeter对 API 进行压力测试。我已经Basic Authentication设置好了 - 似乎工作得很好。

现在,我正在尝试随机化JMeter 通过网络传递的凭据。所以,我知道有两种方法可以做到这一点。

  1. 添加自定义HTTP Header(通过HTTP Header Manager Element)然后将值设置为随机字段(即我从 csv 文件中读取的内容)
  2. 使用HTTP Authorization Manager Element并在此处输入用户名和密码。

现在,如果我尝试使用上面的方法 (1),我需要创建以下标头/数据:-

Authorization: Basic <some Base64 encoded string in the format username:password>

eg.
Authorization: Basic OnVzZXIxOnBhc3Mx

科尔。简单的。但是该标头值没有通过网络传递:(我可以添加任何其他标头类型并且它通过网络传递..

嗯..好的然后..让我们尝试方法(2)。

现在可以了..但我只能硬编码用户名和密码。我看不到如何传入用户名VARIABLE(即。${usernmae})或密码VARIABLE(即。${password})....如果它是硬编码的,那么服务器会正​​确地回复正确的页面/数据。

所以..有人可以帮忙吗?

4

1 回答 1

11

我建议尝试以下方法:

  1. 创建 HTTP 授权管理器元素
  2. 将用户名和密码设置为变量 ${username} , ${password}
  3. 使用您的用户名和密码创建一个 CSV 文件(不要使用标题行)
  4. 创建一个 CSV 数据集配置元素,变量名称设置为“用户名,密码”(无引号,逗号后无空格)
  5. 每个线程/循环将从 CSV 文件中读取不同的值。

或者,如果您希望登录的值是真正随机的,您可以使用一些函数来生成随机数或在执行时发送。

于 2010-07-08T21:32:17.393 回答