收下这份实操案例,还怕不会用Jmeter接口测试工具?
JMeter,一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是接口功能、自动化、性 能测试的工具。具有高可扩展性、支持HTTP、HTTPS、TCP、等多种协议,还可以自己编写Java脚本对 协议进行扩展。
官方网站:https://jmeter.apache.org
02、安装和配置
1、本机安装好jdk环境
2、官网下载压缩包,在任意目录下解压
3、修改配置文件,打开Jmeter的bin目录下jmeter.properties,修改:
language=zh_CN sampleresult.default.encoding=utf-8 |
⚠️注意:要把配置前面的注释#去掉才能生效
4、进入到Jmeter的bin目录下,双击jmeter.bat启动
03、Jmeter常用组件
在Jmeter中,可以通过添加不同的组件,来实现不同的功能,常用的组件有:
测试计划
一个最基本的组件,所有的其他组件都要在它的内部运行。
线程组
线程组代表了一组用户,它可以模拟1个或多个用户,可以发起1次或多次请求,也可以连续发送n秒的 请求。
取样器
取样器代表了一个请求,比如HTTP请求,TCP请求等,通过配置服务端接口的ip、端口号和参数等信 息,就可以向服务端发送数据,并拿到响应。
断言
断言就是一个预期结果,断言通常是针对某个HTTP请求的,判断HTTP的返回值是否符合断言的规则, 比如是否包含“success”,状态码是否是200等。如果断言通过,Jmeter就认为HTTP请求成功,否则就标 记为失败。
监听器
监听器就是在Jmeter测试过程中,获取一些运行数据,比如发送了多少次请求、成功了多少次,失败了 多少次。每次请求和响应的具体内容等。
04、编写一个HTTP接口脚本
打开商城卖家管理后台登录页面,输入用户名密码进行登录,通过fiddler,可以抓包登录接口的信息:
url:/seller/login |
请求方式:GET
参数:username=mtx-001&password=e10adc3949ba59abbe56e057f20f883e&captcha=1512&uuid=c9835a40-047b- 11ec-ae8f-41d7ee6b2a89
第一步:创建线程组
在测试计划上右键,添加线程组,保持默认
第二步:创建HTTP请求
在线程组上右键,添加取样器-HTTP取样器,并根据接口的信息,填写协议类型、服务器ip、端口号、 请求方式、路径、请求参数等信息
第三步:创建监听器
在线程组上右键,添加监听器-查看结果树,,点击菜单栏运行按钮,这样就能看到接口运行后的请求和 返回数据
05、断言
默认情况下,Jmeter会根据接口的响应状态码是否为200来判断接口是否成功,但是很多时候,200只能代表HTTP请求成功了,但是业务上未必成功。因此还需要对接口的返回数据做判断。因此可以使用 Jmeter断言来对返回数据做判断。
断言通常是针对某个HTTP请求的,判断HTTP的返回值是否符合断言的规则,比如是否包含“success” 等,如果断言通过,Jmeter就认为HTTP请求成功,否则就标记为失败,在查看结果树中标记为红色。
常用的断言有Json断言和响应断言。
Json断言
针对接口返回是json格式数据的,可以使用json断言,它可以判断json字符串中的某个值是否符合预期。
比如,登录接口成功后,服务器会返回此用户的username和nickname
{ "access_token": "eyJhbGciOiJIUzUxMiJ9.eyJzZWxmT3BlcmF0ZWQiOjAsInN1YiI6IkNMRVJLIiwicm9sZSI6IlNVUE VSX1NFTExFUiIsImZvdW5kZXIiOm51bGwsInJvbGVzIjpbIkJVWUVSIiwiU0VMTEVSIiwiQ0xFUksiXS wic2VsbGVyTmFtZSI6IjExMSIsImNsZXJrSWQiOjE2LCJ1dWlkIjpudWxsLCJ1aWQiOjE5NjUsInNlbG xlcklkIjo0MSwiY2xlcmtOYW1lIjoibXR4LTAwMSIsImV4cCI6MTYyOTg3MDU5OCwidXNlcm5hbWUiOi JtdHgtMDAxIn0.BEnmRfCU2nfkqMwQVajaxMP5uoUtcyoAsTHMkaK_9RoHwaxS0GNUDY- 9I048wx8LX7pmyMqWl70Q4B31dlVTHw", "uid": 1965, "refresh_token": "eyJhbGciOiJIUzUxMiJ9.eyJzZWxmT3BlcmF0ZWQiOjAsInN1YiI6IkNMRVJLIiwicm9sZSI6IlNVUE VSX1NFTExFUiIsImZvdW5kZXIiOm51bGwsInJvbGVzIjpbIkJVWUVSIiwiU0VMTEVSIiwiQ0xFUksiXS wic2VsbGVyTmFtZSI6IjExMSIsImNsZXJrSWQiOjE2LCJ1dWlkIjpudWxsLCJ1aWQiOjE5NjUsInNlbG xlcklkIjo0MSwiY2xlcmtOYW1lIjoibXR4LTAwMSIsImV4cCI6MTYyOTg3MTE5OCwidXNlcm5hbWUiOi JtdHgtMDAxIn0.54MSaFcXIuGexBeXY-79oO5_8tAHvmEvtbJ0qKUE9A5VpqKmbECahX4zcb_2XQEox- H0aIZX49P9ncRrH22Jgg", "face": null, "role_id": 0, "founder": 1, "nickname": "mtx-001", "username": "mtx-001" } |
添加json断言,判断服务器返回的username是否符合预期。
在HTTP请求上,右键添加json断言
解释:
Assert JSON Path exists:填写Json路径表达式,其中$代表整个json,$.username就是 username对应的值
Additionally assert value:是否对Json路径表达式对应的值进行判断
Expected Value:期望值的内容,填写你的期望值
Json Path的更多详细用法参见:https://github.com/json-path/JsonPath
响应断言
响应断言的应用范围更广一些,只要返回的响应内容是文本内容,无论什么格式,HTML、Json等,响 应断言都可以判断 在HTTP请求上右键,添加响应断言
解释:
测试字段:对哪部分数据进行判断,默认是响应内容
模式匹配规则:判断规则,默认是包含字符串
测试模式:具体判断的内容
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
相关文章
- mybatis简单案例源码详细【注释全面】——Dao层接口(UserMapper.java)
- 使用阿里云智能翻译接口案例——CSDN博客
- 使用阿里云火车票查询接口案例——CSDN博客
- Mybatis+mysql动态分页查询数据案例——房屋信息的接口(IHouseDao)
- Mybatis+mysql动态分页查询数据案例——房屋信息的接口(IHouseDao)
- 三项最高级认证,两项创新技术、两大优秀案例,阿里云亮相云原生产业大会
- SPSS统计分析案例:无空白列重复正交试验设计方差分析
- Java动态代理代码案例:使用jdk自带的Proxy只能对有接口的类进行动态代理
- java监听器统计在线人数案例
- deque容器07之评委打分案例
- javascript案例11——摇号、点名、随机点名
- javascript案例9——我的生命、已活的时间、动态显示时间
- 【Android笔记36】使用Android实现一个简易版本的购物车小案例(登录注册功能)
- DataScience:机器学习中特征工程之连续型变量离散化—变量分箱的简介、常用方法、案例应用(评分卡模型为例)之详细攻略
- Interview:算法岗位面试—11.15下午上海某航天***公司(国企)技术面之工业机器视觉认知、计算机视觉算法的理解、目标检测相关项目案例
- ML之XGBoost:XGBoost案例应用实战(原生接口实现+Scikit-learn接口实现)
- jQuery综合案例——打地鼠(教学版本·附源码)
- 〖Python接口自动化测试实战篇⑧〗- 小案例 - 使用python实现接口请求 [查询天行数据]
- python案例:股民福利,采集股票数据~
- 【Neo4j构建知识图谱】配置知识图谱插件APOC与案例实现
- 收下这份实操案例,还怕不会用Jmeter接口测试工具?
- 自动化测试===unittest和requests接口测试案例,测试快递查询api(一)
- 案例:巡检自动化=selenium+截图+接口
- 案例:自动复制黏贴bat
- 数据分析案例-二手车价格预测
- 2022全网最全最细的jmeter接口测试教程以及接口测试流程详解— 使用JMeter发送一个请求
- 2022全网最全最细的jmeter接口测试教程以及接口测试流程详解— JMeter常用目录文件介绍
- 2022全网最全最细的jmeter接口测试教程以及接口测试流程详解 — JMeter插件管理