Jmeter接口测试 (一) 单个接口测试

一、安装jmeter

1、jmeter运行需要java环境,所以需要先安装jdk,并配置jdk的环境变量,具体参考https://www.cnblogs.com/gloria-5/p/10411447.html。

补充:Jmeter依赖java,对jdk的版本有要求,具体百度查询

2、打开官网:http://jmeter.apache.org/download_jmeter.cgi 点击zip的包下载
3、下载好直接解压,打开bin目录下的jmeter.bat文件,即可。
不过jmeter比较特殊,支持多窗口打开,再次打开的时候找到安装的文件夹,继续点击bin目录下的jmeter.bat文件即可。

 
 
注解:

a、bin目录:打开Jmeter主界面,有很多可执行文件、配置等,Jmeter.properties中存放jmeter日志文件,默认在Jmeter.log可查看日志
b、docs目录:是JMeter的java Docs,可打开apiindex.html页面来查看
c、extras目录:提供了对构建工具Ant的支持,可以使用Ant来实现测试自动化
d、lib目录:该目录包含两个子目录,其中ext子目录存放有JMeter的核心jar包,另一个 junit 目录存放JUnit测试脚本。用户扩展所依赖的包,应该直接放到lib目录下,而非lib/ext下。
e、printable_docs目录:usermanual目录下存放JMeter用户手册文档,其中component_reference.html可看到最常用的核心原件帮助文档。
demos目录下放有一些常用到的JMeter脚本案例

二、语言设置

1.设置成中文(此次生效,重启后恢复默认设置)

2、设置jmeter默认为中文的方法

打开jmeter文件夹,在bin目录中找到 jmeter.properties

用notepad++打开,找到第37行,修改为language=zh_CN

三、Jmeter简介

 

四、单个接口测试框架搭建

1、设置http请求默认值

2、添加线程组
方法二:
补充:
 3、线程组建立完,需要建立一个监听器----察看结果树
4、搭建完基本结构,对数据库和线程组分别取名

5、想看哪个线组的运行结果,直接启动哪一个,其他全部禁用就可以了

6、完善每个线组的框架

6.1 添加简单控制器 修改成单一测试项目名称

6.2 添加http请求默认值---规定每个测试项目的协议,ip:端口,编码格式

补充:http请求默认值里填写的内容包括:协议,ip,端口号,content endcoding 内容编码

如果一个web服务器发送多个请求,就在线程组里添加一个http请求默认值,那http请求里就不需要填写web服务器了。

6.3 在商城注册里添加一个http信息头管理器,

Http信息头部管理器——作用就是规定请求正文中的数据格式。键值对的可以不用修改,直接用请求默认数据格式就可以了

比如:
i、json数据格式
 ii、键值对 数据格式

6.4 在商城注册里再添加两个简单控件,修改为正常流、异常流

6.5 在正常流,异常流里分别添加http请求,修改名称(格式:如正常流,是 xx_正常流_全字段覆盖)
 6.6 在http请求里添加响应断言
补充:断言里面添加的内容,一般0000表示运行成功;9999或者其他的表示失败,不过具体要在察看结果树里看响应数据里响应码是什么

运行成功与否都是在查看结果树里看到的,一般绿色表示成功,红色表示失败

五、框架搭配好,需要在http请求里填写数据

注意:具体内容参考接口文件或者swagger里的请求传参格式

1)有文本型接口规范的

步骤:
第一、根据文本格式用Notepad++写好xml文本规定的格式(一般编写xml或键值对格式,json格式一般用百度翻译转把xml格式化成json格式)
第二、根据编写的格式填写框架

2)查看在线接口文档swagger里的接口规范

3)如果没有测试规范 

方法一、点击F12,查询接口规范

方法二、用抓包工具把接口请求抓下来,查看请求数据格式

六、不同数据类型的请求

1、post请求之json数据

2、query数据(键值对),不管是post请求还是get请求,请求正文里的参数都可以填写在parameters里面。除之之外,post还可以放在body里,以键值对的格式填写;而get请求只能放在路径里,在url后面加?以键值对的格式填写即可。

i、post请求之键值对有两种方法

方法一:填写在Parameters里

 方法二:以键值对的格式写在BodyData里

 ii、get请求之键值对数据

方法一:以键值对的格式填写在Parameters里

 方法二:以?分割填写在路径里面

3、path数据(参数在请求路径里)

不管是post请求还是get请求,直接把请求路径里的{变量}用具体的参数替代即可。

4、post请求之path+json数据

 5、post请求之上传文件

i、先准备好要上传的文件,知道文件存放的位置

ii、打开抓包工具

iii、手动操作一遍上传文件

iiii、在抓包工具里查看请求正文里的信息

 iiiii、根据抓包里的请求正文,填写数据

 如果上传失败

 6、get请求之下载文件

i、根据接口文档或抓包填写http请求数据

ii、执行脚本,查看结果树,发现乱码,所以需要把下载的数据以什么格式存放在一个文件里

iii、添加BeanShell PostProcessor——在后置处理器里。编写脚本

iiii、在用户定义的变量填写文件名

七、fiddler抓包的方法把接口抓下来,直接导入jmeter

步骤:
i、打开fiddler,设置网站地址过滤

ii、手动执行业务流程

iii、添加备注 comment

 
iiii、导出脚本
iiiii、导入jmeter,修改脚本
 
原文地址:https://www.cnblogs.com/gloria-5/p/12468874.html