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信息头管理里设置,就可以访问了

 

posted @ 2022-06-27 21:55  隗洋yy  阅读(4136)  评论(0编辑  收藏  举报