如何使用JMeter传递随机用户/通行证(用于基本身份验证)?

时间:2010-06-15 05:40:08

标签: jmeter basic-authentication

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

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

  1. 添加自定义HTTP Header(通过HTTP Header Manager Element)并将值设置为随机字段(即我从csv文件中读取的内容)
  2. 使用HTTP Authorization Manager Element并在那里传递用户名和密码。
  3. 现在,如果我尝试使用上面的方法(1),我需要创建以下标题/数据: -

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

    KEWL。简单。但是标题值没有通过电线传递:(我可以添加任何其他标题类型,它通过电线传递..

    嗯......好吧..让我们试试方法(2)。

    现在可行..但我只能在用户名&amp;中使用硬编码密码。我无法看到如何传递用户名 VARIABLE (即${usernmae})或密码 VARIABLE (即${password})。 ...如果它是硬编码的,那么服务器会正​​确回复正确的页面/数据。

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

1 个答案:

答案 0 :(得分:10)

我建议您尝试以下方法:

  1. 创建HTTP授权管理器元素
  2. 将用户名和密码设置为变量,$ {username},$ {password}
  3. 使用您的用户名和密码创建CSV文件(不要使用标题行)
  4. 创建CSV数据集配置元素,变量名称设置为“用户名,密码”(无引号,逗号后面没有空格)
  5. 每个线程/循环将从CSV文件中读取不同的值。
  6. 或者,如果您希望登录的值真正随机,则可以使用一些函数来生成随机数或在执行时发送。