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,可打开api\index.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请求默认值
5、想看哪个线组的运行结果,直接启动哪一个,其他全部禁用就可以了
6.1 添加简单控制器 修改成单一测试项目名称
6.2 添加http请求默认值---规定每个测试项目的协议,ip:端口,编码格式
补充:http请求默认值里填写的内容包括:协议,ip,端口号,content endcoding 内容编码
如果一个web服务器发送多个请求,就在线程组里添加一个http请求默认值,那http请求里就不需要填写web服务器了。
6.4 在商城注册里再添加两个简单控件,修改为正常流、异常流
运行成功与否都是在查看结果树里看到的,一般绿色表示成功,红色表示失败
五、框架搭配好,需要在http请求里填写数据
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请求之键值对数据
方法二:以?分割填写在路径里面
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