Jmeter工具做接口自动化
一、软件下载
1 、JDK 1.7 Java Downloads | Oracle
2、 Apache tomcat 7.0 Apache Downloads
3 、JMeter-2.9 Apache Downloads
二、软件安装及设置环境变量
1、JDK 安装目录在C:\Program Files\Java ,其环境变量设置为:
(1) JAVA_HOME 值为: C:\Program Files\Java\jdk1.7.0_21
(2) CLASSPATH 值为:.;%JAVA_HOME%\lib;
(3) Path 值为: %JAVA_HOME%\bin;
2、Apache tomcat 安装目录在 C:\Program Files\Apache Software Foundation\Tomcat 7.0
3、JMeter安装
第一步:解压 apache-jmeter-2.9.zip 文件至c盘,本文解压至C:\ jmeter2.9 目录下。
第二步:桌面上选择“我的电脑” (右键)/高级/环境变量,在“系统变量”栏中点击“新建”,在变量名中输入:JMETER_HOME ,变量值中输入:C:\ JMeter2.9 ,点击确定即可。
第三步:再修改 CLASSPATH变量,变量值中添加如下值:
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar; 然后确定即可。
第四步:检查JMeter安装是否 OK
进入JMeter目录下的 bin文件夹C:\jmeter2.9\apache-jmeter-2.9\bin ,点击jmeter.bat ,查看页面显示,如果能显示JMeter操作页面则安装成功。
三、Jmeter做接口自动化测试的步骤
1、添加线程组:在“测试计划”上点击鼠标右键-->添加-->线程(用户)-->线程组
(线程数一般和csv文件里的数据条数一致)
2、新建用户定义的变量,在测试计划--添加--配置元件--用户定义的变量。里面可以把项目的域名、端口定义好,后面就不用每个接口里都要填。
3、新建http默认请求值,在测试计划--添加--配置元件--http默认请求值。
(IP和端口就可以使用定义变量里的)
4、添加结果树,在测试计划--添加--监听器--查看结果树。
5、在线程组下建http请求,在线程组--添加--取样器--http请求。需要填写请求方法、接口路径、编码。消息体数据里填写入参,具体的值可取csv文件里的数据
6、添加http信息头管理,在线程组--添加--配置元件--http信息头管理。里面的内容由接口文档定义,headers需要什么值就填什么,但是如果请求数据是json格式,则必须填content-type。
7、添加csv数据文件设置,在线程组--添加--配置元件--csv data
(文件名:csv文件的路径,文件编码:文件里有中文就选utf-8,变量名称:和文件里的每列一一对应。)
8、添加断言,在线程组--添加--断言--json断言。
(1:使用json表达式提取的接口返回结果里的值,2:预期值,使用变量获取csv文件里的预期值,然后做断言。)
四、接口依赖的解决
比如其他接口要依赖登录的token
1、新建setup线程组,在测试计划--添加--线程(用户)--setup线程组。
2、新建http请求,在setup线程组--添加--取样器--http请求
(消息体里的数据可以在用户自定义变量里定义好,直接取变量值访问就行)
3、新建json提取器,获取token。在http请求--添加--后置处理器--json提取器
(1:变量值命名,2:json表达式,提取登录接口返回信息里的token)
4、新建Beanshell后置处理程序,使token成为一个全局变量。在http请求--添加--后置处理器--Beanshell后置处理程序
(图中表达式为;将token设置为全局变量,并命名为Token)
5、其他需要依赖token的接口,可以在http信息头管理里设置,就可以访问了