Jmeter的数据驱动
一、简介
数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。
有的时候会有大量的测试脚本与测试数据内聚在一起,使得我们的测试脚本的可移植性及可维护性变得很不好,所以采取了csv格式表格保存测试数据来驱动测试的方式。这样也方便对脚本的移植和维护。
二、操作
1、添加一个线程组
2、线程组下新增循环控制器,循环次数设置为永远

3、循环控制器下新增CSV Data Set ConFig控件

Filename:csv文件(txt格式和dat格式)所在的路径以及名称如(如果和jmx文件在相同路径直接写名称,
如果不是,需要填写具体路径)
File encoding:给出页面的编码方式,可以不填写;
这里以百度为例,它的源代码里 ,所以这里File encoding:gb2312
Variable Names(comma-delimited):给出变量名如:name,pwd;这里的变量名是给后面引用用的,
如要用到这个文件的值,可以利用变量名来引用:
${name},${pwd},如test.csv文件中有这样的数
Delimiter(use '\t' for Tab):这个是用来隔开变量的分隔符,
如上面的name,pwd,那分隔符就是“,”或者Tab也可以
Allow Quoated data: 双引号相关,例:如果参数中需包含,或者”等,该项可以选择True,效果如下:

Recycle on EOF:(默认True),到了文件尾是否循环,True---继续从文件第一行开始读取,False---不再循环 。
Stop thread on EOF?:到了文件尾是否停止线程,True---停止,False---不停止,注:当Recycle on EOF设置为True时,此项设置无效
Sharing Mode:共享模式:
1.All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行。
2.Current thread group:当前线程组,各个线程组分别循环取值。
3.Current thread:当前线程,该测试计划内的所有线程都取第一行
4、用excel表格打开新建的csv文件,设计测试用例

5、添加如果控制器,来做用例优先级的筛选执行

6、根据调用方法选择请求方式
通过if选择器区分GET与POST方法的请求,配置http请求(默认)

Post请求的配置方式 :post请求参数放在body data中

Get 请求的配置方式:get请求的参数配置url后面

配置响应断言

7、执行测试,查看结果
通过查看结果树控件查看测试结果详情,绿色为通过

笔者创建了一个测试交流群,如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以加测试交流群:829792258,还会有同行一起技术交流