接口测试学习-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,配置后会影响使用,但是还是记录一下配置方法,如果只有一个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”的文件,双击打开,如果jdk环境变量配置没问题,即可顺利打开jmeter。 

上图就是jmeter的初始界面。在使用jmeter的过程中,可能会出现乱码的情况。此时打开"bin"目录下的文件"jmeter.properties",找到字段"sampleresult.default.encoding",将前面的注释符"#"去掉,字段等号后方的数据修改为"utf-8"即可。修改完毕后,文件中该行数据如下图所示:

3、创建HTTP请求并完成基础测试

首先右键测试计划,选择"添加-threads-线程组"。线程组添加成功后,再右键线程组,选择"添加-sample-HTTP"请求。 

image.png
 
 
 
 

添加HTTP请求成功后,展现的就是基础的接口测试数据配置界面,如上图所示。

首先利用接口文档中的请求URL填写"服务器名称或IP"&"路径"后,根据文档提供的信息,填写端口号、协议,选择请求方式。这样基础的配置就完成了,接下来再根据入参格式进行参数的添加或输入。当然也会有需要添加信息头,Cookie的情况。

a,当测试时只需要配置基础的入参

该接口请求方式是get,这个根据文档说明的配置就好。图中的服务器名称是一个自定义参数,当在测试中需要多次使用到该地址时,可以先配置一个自定义参数,以后直接调用该参数即可。用户参数在“配置原件”中,只要右键后选择添加可以看到“配置原件”,就都可以在该级别下定义参数,点击选择配置原件-用户自定义参数。就可以看到如下图的界面。
选择添加,输入参数名称和参数代表的数据即可。在不同级别下添加的用户自定义函数所能生效的范围也不一样。在请求参数只是简单的参数对应数值时,只需要在请求配置界面的下方,默认的“parameters”模块,点击添加,输入参数和对应的数据即可。配置完进行请求时,点击界面上方的运行按钮即可。 
运行后需要查看测试结果,在jmeter中需要利用“察看结果树”的功能来展示请求结果 
上图可以看到这个请求是成功了的,请求结果也可能是错误的。如果请求结果错误且按照测试计划该请求应该成功时,可以根据请求、响应数据等检查错误原因。

b,需要添加headers的请求

在配置原件中,选择“HTTP信息头管理器”,为该测试任务添加文档中要求的信息头数据即可。

 
进入界面后,点击添加,按照文档提供的信息输入信息头的key和value即可。 
c,需要添加cookie的请求
在配置原件中选择“HTTP cookie管理器”即可。
然后根据文档信息,填写cookie的key和value。还需要填写域数据,这个和请求配置中的服务器名称一致即可。 
d,输入参数为json格式
只需要在输入参数的位置选择“body data”,再在输入框中填入json格式的请求参数即可,一般文档中会有例句。

e,文件上传 

在输入参数的位置,选择“Files Upload”,点击“添加”可以直接输入文件路径,点击“浏览”可以查找到文件后选择即可。

注:系统为win8或者win10的jmeter用户,测试时最好将需要上传的文件放在jmeter安装包的bin目录下,否则可能会报错。
注:如果文件已经放在了安装包的bin目录下,就只需要如图中所示填写文件名即可。
4、参数化

a,用户自定义的变量

在第3点中已经提到过。

b,函数生成器

如果需要生成一个随机的数据,可以利用函数助手。

选择功能时一般使用图中的两种功能。第一种可以生成某个范围内的随机一个数字,第二种可以生成随机的一个时间。 
填写最小值和最大值,点击“生成”即可产生一个函数,可以直接使用。 
填写想要的时间格式,生成函数,在使用时该函数会生成一个随机的这样格式的时间数据。

d,文件参数化

如果在同一个测试任务中,需要输入不同的数据进行测试,可以先将这些数据储存在文件中,然后在填写入参值时直接使用这些文件。在配置好线程组的请求次数后,会再每次请求时自动调用数据。 

首先添加“CSV Data Set Config”这个配置元件。 
filename直接填写文件名称即可(该文件放在jmeter安装包的bin目录下);
variable names是该文件的变量名,随意定义即可;
delimiter是文件中数据的分隔符,比如要传入登录名和密码两个参数,在文档中就需要记录两个参数,这两个参数键以某个符号进行分隔,默认为英文逗号。
每次输入的数据换行保存。 
使用方式如下图:
5、链接数据库并操作

链接数据库一般需要一些插件,在网上都可以下载。链接MySQL数据库时需要插件“mysql-connector-java-5.1.7-bin.jar”,将其复制到jmeter安装目录下的bin目录下。
然后在测试计划中添加该插件。

 
接下来就可以进行数据库链接了。首先需要添加“JDBC Connection Configuration”这个配置元件。 
 
image.png
上图中variable name是必填的,随便定义一个变量名即可。
上图中database url有固定格式:

jdbc:mysql://host:port/{dbname}?allowmultiqueries=true
Jdbc driver class则是驱动,不同数据库驱动不同,mysql为:
com.mysql.jdbc.Driver
然后输入账号密码即可完成链接配置。
接下来可以对数据库进行增删改查等操作了。先添加一个“jdbc request”配置元件。

image.png
上图中variable name直接输入数据库链接中配置的变量名即可。然后在query type中选择上图中那一项,这样所有的MySQL语句才能运行。接下来输入MySQL命令语句,点击运行即可。当然运行结果还是在“察看结果树”中观察。

6、文件下载
一般的HTTP请求只能找到该图片,但是下载图片需要保存,此时就需要先配置“BeanShell Sampler”,在sample下选择即可。

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请求。

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

posted on 2018-03-20 15:31  四方城郭  阅读(255)  评论(0编辑  收藏  举报