收下这份实操案例,还怕不会用Jmeter接口测试工具?!
01、简介
JMeter,一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是接口功能、自动化、性 能测试的工具。具有高可扩展性、支持HTTP、HTTPS、TCP、等多种协议,还可以自己编写Java脚本对 协议进行扩展。
官方网站:https://jmeter.apache.org
02、安装和配置
1、本机安装好jdk环境
2、官网下载压缩包,在任意目录下解压
3、修改配置文件,打开Jmeter的bin目录下jmeter.properties,修改:
language=zh_CNsampleresult.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,代表整个json,代表整个json,.username就是 username对应的值
Additionally assert value:是否对Json路径表达式对应的值进行判断
Expected Value:期望值的内容,填写你的期望值
Json Path的更多详细用法参见:https://github.com/json-path/JsonPath
响应断言
响应断言的应用范围更广一些,只要返回的响应内容是文本内容,无论什么格式,HTML、Json等,响 应断言都可以判断 在HTTP请求上右键,添加响应断言
解释:
测试字段:对哪部分数据进行判断,默认是响应内容
模式匹配规则:判断规则,默认是包含字符串
测试模式:具体判断的内容
最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…
收下这份实操案例,还怕不会用Jmeter接口测试工具?!相关推荐
- 毕业季offer怎么拿?收下这份非典型求职面试指南
摘要:求职面试莫慌,先自我评估一下 ,华为云专家手把手为你指导. 本文分享自华为云社区<毕业季offer怎么拿?收下这份非典型求职面试指南>,原文作者:技术火炬手 . 又是一年毕业季,对于 ...
- 实操案例:机智云调试APP控制云端虚拟设备
本文通过<机智云调试APP控制云端虚拟设备>实操案例,快速理解和体验机智云接入服务,完成新手入门. 机智云自助开发平台 机智云自助开发平台提供一套模拟软件开发工具,其中包括虚拟设备和机智云 ...
- TikTok广告实操案例数据分析(一)
TikTok作为短视频届的头部平台,在鼓励用户进行原创内容生产(UGC).搭建话题社区和话题造势方面的能力远远超出了APP本身该具备的能力范畴.而话题标签功能(#XXXX)在造势方面发挥着不小的作用- ...
- 图解大数据 | Hive搭建与应用@实操案例
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/84 本文地址:http://www.showmeai.tech/article-det ...
- Python自学笔记9:实操案例六(千年虫,购物流程)
Python自学笔记9:实操案例六(千年虫,购物流程) 网课传送门:第155,156讲,https://www.bilibili.com/video/BV1Sw411Z779?p=155 1.千年虫 ...
- python训练营朋友圈广告如何发_如何发朋友圈广告?三个实操案例
本文分析了朋友圈发广告的要点,以及用三个实操案例做了说明. 你是否在你的朋友圈中发过"小广告"? 在朋友圈中发小广告,现在已经不算什么新鲜事了.那么作为现在出现在朋友圈中最为普遍的 ...
- 普通平键的主要尺寸有_快来收下这份家装尺寸表,衣柜不再鸡肋
有些人在装修的时候还把思想停留在户型决定一切的理念.户型的好坏对于我们的家装效果固然重要.但是好的装修效果离不开户型和格局布局设计的相辅相成.空间布局的设计其实和硬装没有太大的关系,几乎是由家具的摆放 ...
- 同软件多个线程设置不同ip_软件测试如何自学?收下这份《2020千锋性能测试入门视频教程》...
萧亚轩在吐槽大会上说:"我只是天赋异禀,一个平平无奇的恋爱小天才."讲真,小千是百分百赞同,毕竟谁不是在平平无奇的生活里悄咪咪的给自己加持各种装备,偶尔一个大招适时放出,真的能够亮 ...
- 史上最高效Shell四剑客实操案例
01.Shell编程四剑客之Find 通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句.各种语法.编程工具.各种命令的集合 ...
最新文章
- 最牛逼的 Java 日志框架,性能无敌,横扫所有对手.....
- 第54期《SCI论文插图排版与绘制》课程欢迎你!
- Hillstone SA-5020 与Juniper SSG 520 的×××互联
- 抽奖自定义中奖概率总结
- 数字图像处理实验(6):PROJECT 04-02,Fourier Spectrum and Average Value
- js 继承的几种方式
- android桌面小组件开发_快使用Scriptable自己开发一个iPhone小组件吧
- 1051. 复数乘法 (15)
- Linux格式化sd卡博客,linux设备驱动那点事儿之SD卡驱动理论篇
- 746.使用最小花费爬楼梯
- Microsoft Office2021中文版Mac(office全家桶)
- 使用Docker实现vsftpd配置——用户访问上传修改篇
- centeros7网络服务无法启动_Center OS7网络设置
- 几个同步盘的使用体会
- 音乐流媒体应用Polaris
- 根据前序序列和中序序列重建二叉树
- 初创公司股权分配协议应该如何设计
- 从程序中学习UKF-SLAM(一)
- python随机森林变量重要性_python机器学习之随机森林(七)
- 域,域名,同域,跨域及解决
热门文章
- 线程进程通信和同步方式
- python高阶函数_python_bomb----高阶函数
- python拦截修改数据包_拦截指定数据、修改JS -- mitmproxy
- mysql limit锁_mysql中limit的用法
- html标签非成对,深入document.write()与HTML4.01的非成对标签的详解
- 如何提取明细表头_BIM/Revit常用技巧——如何添加项目参数
- 汉语诗词 LaTeX 排版样式
- Error running app: Default Activity Not Found
- 【转】如何在win10(64位系统)上安装apache服务器
- div模拟textarea在ios下不兼容的问题解决