前言:本人接触jmeter已有半年,刚开始接触和使用jmeter,参数化的时候走过不少弯路,此次分享给大家jmeter参数化之CSV Data Set Config,避免走过我走过的弯路。
jmeter环境变量配置:
JDK:
1、下载jdk
地址:http://java.sun.com/javase/downloads/index.jsp
2、安装JDK
正常安装,一路默认就好,记住安装路径,配置环境变量时用得到。默认安装路径: C:Program FilesJavajdk1.8.0_51。 安装好之后会有两个文件夹一个是jdk 一个是jre(运行)
3、配置JDK环境变量
变量名:JAVA_HOME
变量值:
C:Program FilesJavajdk1.8.0_51 (即jdk安装的位置)
变量名:Path (这个变量名已在系统变量中存在,现只需在这个值的前面添加以下变量值就可以了)
变量值:
%JAVA_HOME%in;%JAVA_HOME%jrein
变量名:CLASSPATH
变量值:.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar(记住前面的.)
JMETER:
4、下载 Jmeter
百度搜索jmeter下载即可
5、配置Jmeter环境变量
变量名:JMETER_HOME
变量值:C:Program Filesapache-jmeter-2.11
变量名:CLASSPATH
变量值:%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;
%JMETER_HOME%lib/logkit-2.0.jar;
6、找到Jmeter安装目录-bin-jmeter.bat 双击打开就好,会弹出两个窗口,一个是windows窗口,一个是Jmeter我们使用的测试界面(记住弹出的widows命令窗口不能关闭)
7.打开jmeter界面,出现如下界面(本人下载的是中文版的)
8.测试计划,右击鼠标,添加Theeads(Users),添加线程组,
9.添加好线程组后,右击线程组,添加、配置原件,添加http请求默认值
10.添加好http信息头部管理器后,把每个接口多要用到一些地址、参数填到里面(在http请求就无需再填这些重复的,直接可调用)
11.头部信息请求填写完后,这时我们可以开始请求实例了,右击线程组、添加、sampler,添加http请求
12.以登录为例,方法选择post请求,路径选择相应路径(可根据自己实际路径来填写),请求参数(根据自己实际参数来填写)。(协议、服务器名称或ip、端口号以及content encoding和些常用的参数,直接引用http请求默认值即可)
13.信息填写完毕后,这时我们需要运行来查看我们接口填写信息是否正确,此时我们需添加查看结果树,右击http请求或线程组、添加、监听器、查看结果树
15.添加完毕后,此时我们需要看我们接口是否能执行成功,点击上面的绿色按钮(或按ctrl+R)执行
16.执行后我们需要看接口是否和预期结果(接口文档)一致,以下看到我的接口是返回正确的,一致后我们便在jmeter中执行我们的测试用例(即参数化)。
17.准备好测试用例(即测试点),新建txt文件,把测试点写在里面,我测试点写了一条正确案例,两条反例
18.添加完毕后,保存文件.dat格式
19.jmeter中添加CSV Data Set Config,右击http请求、添加、配置元件,CSV Data Set Config
20.填写路径,Filename:填写测试用例的路径(路径可保存到本地任意地方),File encoding:解决乱码问题,一般填utf-8,Variable Names(comma-delimited):mobile,password 参数名称(如:有几列参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,分隔符在下面的“Delimitet”中定义,为了和文件中的“,”对应,这里也用“,”分割每个参数名,这里的 mobile,password,可以被可以利用变量名来引用:${mobile},${password},
21.填写成功后,我们需要在http请求中来引用参数
21.引用完毕后,我们需要添加断言来验证是否与预期结果一致,http请求,右击添加、断言、响应断言
22.添加要测试模式(添加想要的内容后,查看结果树中如有没有想要的内容后,就会报错)
23.这时我们在线程组设置循环次数,因为我这里只写了3条用例,所以我这里设置的循环数设置了3次
24.接下来执行,看执行是否与我们测试的内容是否一致,一个成功,2个失败,接下来我们看看失败的请求参数
25.接下来我们来看看失败的请求,看是否是执行用例中的参数,与用例中请求参数一致
至此,我们的参数化就完成啦,有不懂的可以留言,笔者看到会帮各位解决不懂的问题