4 用户名密码参数化
前面我们都是用cindy/SHA-256散列后的12345作为登录参数的,这个在实际场景肯定是不匹配的,所以我们必须对登录数据进行参数化处理。在JMeter中参数化的方法主要有以下三种方式:CSV Data Set Config、数据库和函数助手。这里我们现在介绍CSV Data Set Config和数据库。函数助手我们将在模糊查询商品的时候用到。
4.1利用CSV Data Set Config参数化步骤
1)建立文件user.dat,与测试脚本jmx放在同一个目录下。其内容为。
username,password linda,knyzh158 cindy,123456 jerry,654321 susan,qwert peter,zxcvb
确保使用这些用户名和密码均可以登录成功的。
2)右键点击登录HTTP请求,在弹出菜单中选择“添加->配置元件->CSV Data Set
Config”。按照图23中进行设置。
图23 从user.dat文件中获取username和password参数
- 修改名称:获取用户名和密码
- 文件名输入:user.dat。由于文件user.dat,与测试脚本jmx放在同一个目录下,所以在这里直接输入user.dat即可,如果通过浏览器来选择,产生的是一个绝对地址,反而不利于脚本的维护。
- 文件编码输入:utf-8。实际的user.dat可以是任意的文件编码,比如ANSI等。
- 变量名称(西文逗号间隔)输入:username,password。表示在user.dat中的一行中西文逗号前的内容赋予名为username的变量中;西文逗号后的内容赋予名为password的变量中。
- 忽略首行(只有设置了变量名称后才生效):由于在user.dat,第一行为username,password标识,所以这里选择True。
- 分割符(用\t代表制表符):输入,号,与user.dat保持一致。
- 其他均选择默认项。
3)到商品列表的HTTP请求元件中,把username的值改为:{username},把password的值改为:{__digest(SHA-256,${password},,,)}。
4)将循环控制器的循环次数改为5(因为设置了5个参数对)。、
5)把调试取样器拖到循环控制器下面
5)运行测试
6)在察看结果树中察看,保证5次循环结果均为绿的。观察每次循环的username和password参数,均来自于user.dat不同行。如图24 显示。
图24 CSV Data Set Config参数化成功
关于CSV Data Set Config我们将在第5.4-1节中进行详细介绍。