数据驱动测试
通过文件测试
除了通过前面演示过的以Post-Processors(后置处理器)的方式来提取数据外,JMeter还可以从文件和数据库中提取数据。
先用JMeter录制
本地Web Tours Application注册的脚本,仅保留提交数据的请求 ,结果显示如下。

现在需要将注册数据保存到外部文件而非硬编码到JMeter,例如,从Excel中读取1000
条用户数据并注册。
这里就需要用到CSV Data Set Config了。

新建一个空的csv文件,然后用记事本打开,然后输入需要注册的用户信息。
在这里面输入的内容要和注册信息对应。

这里只输入前四列注册信息,默认以英文逗号,
分割。

然后设置CSV Data Set Config相关的参数。

将之前硬编码的注册信息以变量替代。

记得将Thread Group的线程数设置为6
(因为这里添加了6
条注册信息),其他不变,然后执行测试,结果如下。

使用函数助手
另一种使用CSV Data Set Config的方式是通过Function Helper(函数助手)
来实现。

做完上面这几步之后就可以关闭Function Helper
面板了,将被拷贝下来的内容粘贴到这里。

测试之前最后需要注意的就是,让注册用户数和Thread Group的线程数保持一致,csv
文件内容也不能是已经注册过的用户信息。

函数使用的一般方式是,通过Function Helper
定义参数,然后生成数值。

JMeter中函数的通用写法是以
${__
开头,以FUNCTION_NAME
命名,并在()
中写入参数,然后以}
结尾。有些函数不需要参数,例如,
${__UUID}
,而有些函数则需要多个参数,例如,${__Random(1,100,result)}
。Generate & Copy to clipboard
并不是必须要点击的,完全可以自己写。The result of the function is
是函数生成结果的预览。Current JMeter Variables
则表示当前可以用的JMeter变量。
上面三个不同的Debug Sampler执行了三个不同的函数,其输出结果如下。

计数器
每次注册用户时,都需要手动修改注册信息比较繁琐,可以通过Counter(计数器)来实现自动修改。

Counter的设置比较简单,如下图所示。

然后修改csv
文件的内容,仅保留一行,用户名称不带数字。

然后再修改注册时的请求参数。

测试结果显示用户全部注册成功。
因为在Counter中设置的最大值是10
,而Thread Group的线程数是6
,执行时会以Thread Group的线程数为准。
通过JDBC测试
创建一个新的Test Plan,并给它添加Thread Group,然后以JDBC Request的方式采样。

同时,需要为JDBC Request添加一个JDBC Connection Configuration。

JDBC Connection Configuration的配置如下。


- 有些机器可能装的是MySQL
8.0
,但我亲测结果是用mysql-connector-java-5.1.49.jar
一样可以访问成功。
使用定义的连接池变量,然后编写SQL语句进行测试。

测试结果如下图所示。

还可以测试更多的SQL语句,这里就不啰嗦了。
感谢支持
更多内容,请移步《超级个体》。