接口测试入门学习-jmeter

在接口测试第一课中,学习了postman和jmeter两种工具。个人觉得postman界面简洁合理,入手较快,可以做一些简单的接口测试,但jmeter功能更强大。在这篇文章中,主要对jmeter的操作进行一个记录。
1、安装和配置环境变量
jmeter安装包一般不需要特地进行安装,只需要将安装包解压后放在平时安装软件的目录下即可。接下来需要安装jdk并配置环境变量。
a,jdk环境变量配置
右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量:
变量名:JAVA_HOME
变量值:D:\Program Files\Java\jdk1.8.0_92(jdk安装路径)
变量名:path(该变量一般是已存在的,直接在前方添加变量值即可)
变量值:;%JAVA_HOME%\bin;
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.不能漏)
b,jmeter环境变量配置
变量名:JMETER_HOME
变量值:C:\Program Files\apache-jmeter-2.11
变量名:CLASSPATH
变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
创建完成之后点击“确定”即可。
2、使用jmeter及前期准备
找到jmeter的安装文件,打开文件夹“bin”,找到一个叫“jmeter.bat”的文件,双击打开,如果环境变量配置没问题,即可顺利打开jmeter。

接口测试入门学习-jmeter_第1张图片

上图就是jmeter的初始界面。
在使用jmeter的过程中,可能会出现乱码的情况。此时打开“bin”目录下的文件“jmeter.properties”,找到字段“sampleresult.default.encoding”
,将前面的注释符“#”去掉,字段等号后方的数据修改为“utf-8”即可。
3、创建HTTP请求并完成基础测试
首先右键测试计划,选择添加-threads-线程组。线程组添加成功后,再右键线程组,选择添加-sample-HTTP请求。
接口测试入门学习-jmeter_第2张图片
image.png

接口测试入门学习-jmeter_第3张图片
image.png

接口测试入门学习-jmeter_第4张图片
image.png

这样即可进入测试配置界面。
利用URL填写好“服务器名称或IP”&“路径”后,根据文档提供的信息,填写端口号、协议,选择请求方式。这样基础的配置就完成了,接下来再根据入参格式进行参数的添加或输入。当然也会有需要添加信息头,Cookie的情况。
a,当测试时只需要配置基础的入参
接口测试入门学习-jmeter_第5张图片
image.png

该接口请求方式是get,这个根据文档说明的配置就好。图中的服务器名称是一个自定义参数,当在测试中需要多次使用到该地址时,可以先配置一个自定义参数,以后直接调用该参数即可。用户参数在“配置原件”中,只要右键后选择添加可以看到“配置原件”,就都可以在该级别下定义参数,点击选择配置原件-用户自定义参数。就可以看到如下图的界面。
接口测试入门学习-jmeter_第6张图片
image.png

选择添加,输入参数名称和参数代表的数据即可。在不同级别下添加的用户自定义函数所能生效的范围也不一样。
在请求参数只是简单的参数对应数值时,只需要在请求配置界面的下方,默认的“parameters”模块,点击添加,输入参数和对应的数据即可。
配置完进行请求时,点击界面上方的运行按钮即可。
image.png

运行后需要查看测试结果,在jmeter中需要利用“察看结果树”的功能来展示请求结果。
接口测试入门学习-jmeter_第7张图片
image.png

接口测试入门学习-jmeter_第8张图片
image.png

上图可以看到这个请求是成功了的,请求结果也可能是错误的。如果请求结果错误且按照测试计划该请求应该成功时,可以根据请求、响应数据等检查错误原因。
b,需要添加headers的请求
在配置原件中,选择“HTTP信息头管理器”,为该测试任务添加文档中要求的信息头数据即可。
接口测试入门学习-jmeter_第9张图片
image.png

进入界面后,点击添加,按照文档提供的信息输入信息头的key和value即可。
接口测试入门学习-jmeter_第10张图片
image.png

c,需要添加cookie的请求
和信息头的处理类型,在配置原件中选择“HTTP cookie管理器”即可。
接口测试入门学习-jmeter_第11张图片
image.png

然后根据文档信息,填写cookie的key和value。还需要填写域数据,这个和请求配置中的服务器名称一致即可。
接口测试入门学习-jmeter_第12张图片
image.png

d,输入参数为json格式
接口测试入门学习-jmeter_第13张图片
image.png

只需要在输入参数的位置选择“body data”,再在输入框中填入json格式的请求参数即可,一般文档中会有例句。
e,文件上传
接口测试入门学习-jmeter_第14张图片
image.png

在输入参数的位置,选择“Files Upload”,点击“添加”可以直接输入文件路径,点击“浏览”可以查找到文件后选择即可。
注:系统为win8或者win10的jmeter用户,测试时最好将需要上传的文件放在jmeter安装包的bin目录下,否则可能会报错。
注:如果文件已经放在了安装包的bin目录下,就只需要如图中所示填写文件名即可。
4、参数化
a,用户自定义的变量
在第3点中已经提到过。
b,函数生成器
如果需要生成一个随机的数据,可以利用函数助手。
接口测试入门学习-jmeter_第15张图片
image.png

接口测试入门学习-jmeter_第16张图片
image.png

选择功能时一般使用图中的两种功能。第一种可以生成某个范围内的随机一个数字,第二种可以生成随机的一个时间。
接口测试入门学习-jmeter_第17张图片
image.png

填写最小值和最大值,点击“生成”即可产生一个函数,可以直接使用。
接口测试入门学习-jmeter_第18张图片
image.png

填写想要的时间格式,生成函数,在使用时该函数会生成一个随机的这样格式的时间数据。
d,文件参数化
如果在同一个测试任务中,需要输入不同的数据进行测试,可以先将这些数据储存在文件中,然后在填写入参值时直接使用这些文件。在配置好线程组的请求次数后,会再每次请求时自动调用数据。
接口测试入门学习-jmeter_第19张图片
image.png

首先添加“CSV Data Set Config”这个配置元件。
接口测试入门学习-jmeter_第20张图片
image.png

filename直接填写文件名称即可(该文件放在jmeter安装包的bin目录下);
variable names是该文件的变量名,随意定义即可;
delimiter是文件中数据的分隔符,比如要传入登录名和密码两个参数,在文档中就需要记录两个参数,这两个参数键以某个符号进行分隔,默认为英文逗号。
每次输入的数据换行保存。
接口测试入门学习-jmeter_第21张图片
image.png

使用方式如下图:
接口测试入门学习-jmeter_第22张图片
image.png

5、链接数据库并操作
链接数据库一般需要一些插件,在网上都可以下载。链接MySQL数据库时需要插件“mysql-connector-java-5.1.7-bin.jar”,将其复制到jmeter安装目录下的bin目录下。
然后在测试计划中添加该插件。
接口测试入门学习-jmeter_第23张图片
image.png

接下来就可以进行数据库链接了。首先需要添加“JDBC Connection Configuration”这个配置元件。
接口测试入门学习-jmeter_第24张图片
image.png

接口测试入门学习-jmeter_第25张图片
image.png

上图中variable name是必填的,随便定义一个变量名即可。
上图中database url有固定格式:
jdbc: mysql://host:port/{dbname}?allowmultiqueries=true
Jdbc driver class则是驱动,不同数据库驱动不同,mysql为:
com.mysql.jdbc.Driver
然后输入账号密码即可完成链接配置。
接下来可以对数据库进行增删改查等操作了。先添加一个“jdbc request”配置元件。
接口测试入门学习-jmeter_第26张图片
image.png

接口测试入门学习-jmeter_第27张图片
image.png

上图中variable name直接输入数据库链接中配置的变量名即可。
然后在query type中选择上图中那一项,这样所有的MySQL语句才能运行。接下来输入MySQL命令语句,点击运行即可。当然运行结果还是在“察看结果树”中观察。
6、文件下载
一般的HTTP请求只能找到该图片,但是下载图片需要保存,此时就需要先配置“BeanShell Sampler”,在sample下选择即可。
接口测试入门学习-jmeter_第28张图片
image.png

然后需要编写保存的程序语言,是Java格式的。
import java.io.*;

byte[] result = prev.getResponseData();
String file_name = "C:\Users\john\Desktop\picture.jpg";//该路径需要改为自己想要保存图片的地址
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();
接下来再配置HTTP请求。


接口测试入门学习-jmeter_第29张图片
image.png

接下来点击运行,顺利成功的话该图片就会保存在桌面上了。

你可能感兴趣的:(接口测试入门学习-jmeter)