分享Jmeter工具做接口自动化
一、软件下载1、JDK1.7
2、Apachetomcat7.0
3、JMeter-2.9
二、软件安装及设置环境变量
1、JDK安装目录在C:\ProgramFiles\Java,其环境变量设置为:
(1)JAVA_HOME值为:C:\ProgramFiles\Java\jdk1.7.0_21
(2)CLASSPATH值为:.;%JAVA_HOME%\lib;
(3)Path值为:%JAVA_HOME%\bin;
2、Apachetomcat安装目录在C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat7.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、添加线程组:在“测试计划”上点击鼠标右键-->添加-->线程(用户)-->线程组
http://www.51testing.com/attachments/2023/05/15326880_202305221450121lZLm.pnghttp://www.51testing.com/attachments/2023/05/15326880_202305221450151N5GC.png
(线程数一般和csv文件里的数据条数一致)
2、新建用户定义的变量,在测试计划--添加--配置元件--用户定义的变量。里面可以把项目的域名、端口定义好,后面就不用每个接口里都要填。
http://www.51testing.com/attachments/2023/05/15326880_202305221450181f8Aj.pnghttp://www.51testing.com/attachments/2023/05/15326880_202305221450211qeZn.png
3、新建http默认请求值,在测试计划--添加--配置元件--http默认请求值。
http://www.51testing.com/attachments/2023/05/15326880_202305221450241Pufx.pnghttp://www.51testing.com/attachments/2023/05/15326880_202305221450291qYPc.pnghttp://www.51testing.com/attachments/2023/05/15326880_202305221450321A1Mi.png
(IP和端口就可以使用定义变量里的)
4、添加结果树,在测试计划--添加--监听器--查看结果树。
http://www.51testing.com/attachments/2023/05/15326880_202305221450351WtW8.png
5、在线程组下建http请求,在线程组--添加--取样器--http请求。需要填写请求方法、接口路径、编码。消息体数据里填写入参,具体的值可取csv文件里的数据。
http://www.51testing.com/attachments/2023/05/15326880_202305221450391TWVW.pnghttp://www.51testing.com/attachments/2023/05/15326880_202305221450421Qo4Y.png
6、添加http信息头管理,在线程组--添加--配置元件--http信息头管理。里面的内容由接口文档定义,headers需要什么值就填什么,但是如果请求数据是json格式,则必须填content-type。
http://www.51testing.com/attachments/2023/05/15326880_202305221450451IMip.png
7、添加csv数据文件设置,在线程组--添加--配置元件--csvdata
http://www.51testing.com/attachments/2023/05/15326880_202305221450481VAue.pnghttp://www.51testing.com/attachments/2023/05/15326880_2023052214505316pQD.png
(文件名:csv文件的路径,文件编码:文件里有中文就选utf-8,变量名称:和文件里的每列一一对应。)
8、添加断言,在线程组--添加--断言--json断言。
http://www.51testing.com/attachments/2023/05/15326880_202305221450561Q6i5.png
(1:使用json表达式提取的接口返回结果里的值,2:预期值,使用变量获取csv文件里的预期值,然后做断言。)
四、接口依赖的解决
比如其他接口要依赖登录的token
1、新建setup线程组,在测试计划--添加--线程(用户)--setup线程组。
http://www.51testing.com/attachments/2023/05/15326880_202305221451001A5Se.png
2、新建http请求,在setup线程组--添加--取样器--http请求
http://www.51testing.com/attachments/2023/05/15326880_202305221451041Baez.png
(消息体里的数据可以在用户自定义变量里定义好,直接取变量值访问就行)
3、新建json提取器,获取token。在http请求--添加--后置处理器--json提取器
http://www.51testing.com/attachments/2023/05/15326880_202305221451081UF9d.png
(1:变量值命名,2:json表达式,提取登录接口返回信息里的token)
4、新建Beanshell后置处理程序,使token成为一个全局变量。在http请求--添加--后置处理器--Beanshell后置处理程序。
http://www.51testing.com/attachments/2023/05/15326880_2023052214511219OhU.png
(图中表达式为;将token设置为全局变量,并命名为Token)
5、其他需要依赖token的接口,可以在http信息头管理里设置,就可以访问了。
http://www.51testing.com/attachments/2023/05/15326880_202305221451161fLFF.png
:D学习啦 此亦我所需,谢了
页:
[1]