jmeter中测试接口
本文主要介绍在jmeter中测试接口:主要从以下几个方面进行说明:
1、jmeter简介
2、jmeter怎么做接口测试
3、jmeter进行参数化的几种形式
4、jmeter中处理乱码方法
5、jmeter中如何做接口关联
6、jmeter中如何做断言
7、jmeter中如何简单的做压测
1、1 jmeter
jmeter是Apache公司基于java开发的一款开源压力测试工具,体积小,功能全,是一个轻量级的测试工具,运行时,必须安装jdk,jmeter是免安装的。
需要进入到jmeter的bin目录下,打开jmeter.bat,就开启了jmeter
2、1jmeter中做http接口的步骤
步骤一:添加线程组(右键测试计划--添加--Thread--线程组)
步骤二:创建一个http请求(右键线程组--添加-Sample--http请求)
步骤三、在http请求中写入接口url,路径,请求方式,参数
步骤四:添加结果树(右键线程组--添加--监听器--察看结果树)
步骤五:运行脚本,察看结果
2、2 接口中参数是文件类型的
如果接口要上传文件,在jmeter这样进行设置:
参数传值时,从Parameters切换到File Upload
点击浏览,选择要上传的文件
参数名称:输入接口文档中要传入的参数名称
如果运行时,提示MIME不能为空,就给该参数传一个“”test“”的值
3、1jmeter进行参数化的几种形式
参数化是干什么的?就是在调用接口的时候,有入参,参数是经常变换的,就需要把每次都变的值提前设置好一些值,这样调用的时候就不用每次都修改了。
第一种:函数 助手
点击选项--函数助手对话框,进入到函数助手的页面
在函数助手的页面中,功能选择—Random,范围内最大值和最小值,都输入完成后
点击生成,生成一个函数字符串,
复制函数${__Random(1,9999,)}到入参位置
设置循环次数为5次,点击允许,查看结果,显示允许5次
第二种,用户自定义函数
线程组右键--添加--配置元件--用户定义的变量
然后写key和value就可以了,key就是这个参数的名称,也就是你在脚本里面取的值,value就是具体值了。
在取参数化的值的时候,使用${name}这样去取值,name就是你取的变量名称。
第三种,从文件中读取数据,进行参数化
文件读取就是事先写好一些数据,然后从文件中读取,支持txt和csv格式的文件
步骤一:右键http请求--添加--配置元件--csv Data Set Config
步骤二:创建一个存储数据的.txt或csv结尾的文件,里面以列的形式存放参数的值,如果有多个参数,就用空格或逗号进行隔开
步骤三:设置csv Data Set Config中的参数值
各个字段详解:
:参数化文件的路径,一般是文件的绝对路径;如果只写文件名的话,就把文件放在jmeter的bin目录下
:参数的字段的名称:如果有多个参数,就用逗号隔开,传入参数的时候就用${name}形式进行传参
:如果有多个参数需要参数化的话,中间用逗号隔开或者空格,和参数化文件中的一致
:假如参数用完后,要不要从头开始取,true是从头取,false是不从头取
:参数用完成后,要不要停止,和recyle on EOF 配合使用
步骤四:都设置完成后,在接口中是如何传参的,${name},name就是csv Data Set Config定义的参数名称
4、1 jmeter中处理乱码方法
第一种:jmeter返回中文乱码
1、在jmeter的bin目录下,找到jmeter的配置文件,jmeter.properties,然后把sampleresult.default.encoding =utf-8 加到最下面
2、重新打开jmeter
第二种:jmeter bodydata里面的中文乱码
1、在jmeter的bin目录下,找到jmeter的配置文件,jmeter.properties,然后把jsyntaxtextarea.font.family=Hack加到最下面
2.重新打开jmeter
第三种:向数据库中插入数据时,中文若是乱码,就设置content-encoding=utf-8
5、1 jmeter中如何做接口关联
关联就是获取返回值,然后保存起来,给别的请求使用,或者做一些其他的处理
比如登录接口和抽奖接口相关联,选设置登录接口,在登录接口处添加关联
设置json path,获取几个参数名,就添加几个json path postProcessor
各个字段的详解:
:关联的参数名称
:从当前接口中获取关联的参数值:接口返回值是
,获取userID的值=$.login_info.userid
在抽奖接口中使用登录接口返回的userid 和sign
6、jmeter中如何做断言
何为断言?它是用来检查返回结果对不对的
用来验证结果是否正确,如果正确的话,就代表这个请求的返回是正确的,如果没有的话,就代表这个请求的结果和我们预期的不一致,我们就可以通过断言来检查返回结果,测试是否通过
设置如下:
右键http请求--添加响应断言
设置响应断言,模式匹配规则选择“”包括“
添加一个响应结果里面返回的数据”
7、1压力测试场景设置
一般在做压力测试的时候,分单场景和混合场景,单场景就是压测单个接口,多场景就是有业务流程的情况下,多接口一起来做操作
单场景:一个请求就可以了
混合场景:多个请求
压测时间:一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或一周,根据具体情况来定
7、2压测结果的查看
右键--添加聚合报告
7、3 查看结果
Lable:每个jmeter的element都有一个name属性
#samples:表示这次请求中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间,默认情况下单个request的平均响应时间
Media:50%用户的响应时间
90%Line:90%用户的响应时间
min:最小的响应时间
Max:最大的响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量--默认情况下表示每秒完成的请求数
KB/SEC :每秒从服务器端接收到的数据量
TPS越大越好,响应时间越小越好
jmeter中测试接口的更多相关文章
- Jmeter如何测试接口
现在对测试人员的要求越来越高,不仅仅要做好功能测试,对接口测试的需求也越来越多!所以也越来越多的同学问,怎样才能做好接口测试? 要真正的做好接口测试,并且弄懂如何测试接口,需要从如下几个方面去分析问题 ...
- swagger-ui中测试接口(enum传值) 报400错误
swagger-ui中测试接口(enum传值) 报400错误 PriceRuleController: @PostMapping("/update") @ApiOperation( ...
- jmeter中websocket接口测试
一.Websocket协议简介 Websocket是一个持久化的协议,相对于HTTP这种非持久的协议来说: HTTP协议: HTTP的生命周期通过 Request 来界定,也就是一个 Request ...
- get、post请求方式在jmeter中使用步骤
jmeter:性能测试工具,压测 一.jmeter工具测试接口时使用步骤: 1.测试计划右键--添加--Threads(Users)--线程组(线程数就是并发数) 2.线程组右键--Sampler-- ...
- Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发
前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...
- Jmeter测试接口简单使用教程
1. 打开 解决 apache-jmeter-2.13 然后进解压后的然后点击bin 文件里面的jmeter.bat 打开jmeter 2. 添加测试组件 1:添 ...
- 学习总结——JMeter做http接口压力测试
JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做 ...
- Jmeter测试接口
文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接 ...
- jmeter压力测试中的疑难杂症
概述 大部分新手在用jmeter做压力测试的时候,对一些性能术语十分模糊,直接导致的后果就是对测试出来的结果数据根本不能理解,更谈不上分析了.今天的文章就着重给大家解释一下压力测试中的一些专有名词 问 ...
随机推荐
- Fiddler拦截http请求修改数据
1.拦截http请求 使用Fiddler进行HTTP断点调试是fiddler一强大和实用的工具之一.通过设置断点,Fiddler可以做到: ①修改HTTP请求头信息.例如修改请求头的UA,Cookie ...
- html和jsp的区别及优缺点
♥ HTML(Hypertext Markup Language)文本标记语言,它是静态页面,和JavaScript一样解释性语言,为什么说是解释性语言呢?因为,只要你有一个浏览器那么它就可以正常显示 ...
- [CodeForces - 614C] C - Peter and Snow Blower
C - Peter and Snow Blower Peter got a new snow blower as a New Year present. Of course, Peter decide ...
- Script to Collect Log File Sync Diagnostic Information (lfsdiag.sql) (文档 ID 1064487.1)
the article from :http://m.blog.itpub.net/31393455/viewspace-2130875/ Script to Collect Log File Syn ...
- Oracle物理DG自动切换——Dataguard Broker配置
1.前言部分 1.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能: ① Data Guard Broker 的配置 ② Fast-Start Failover 的配置 ③ Oracle D ...
- 《高性能SQL调优精要与案例解析》——10.4_SQL语句改写部分文档
应各位读者要求,现将<高性能SQL调优精要与案例解析>中<10.4 SQL语句改写>部分整理成电子文档,上传至群共享文件(群号:298176197): 或者通过如下链接下载: ...
- Python3+selenium+BaiduAI识别并下载花瓣网高颜值妹子图片
一.说明 1.1 背景说明 上周在“Python3使用百度人脸识别接口识别高颜值妹子图片”中自己说到在成功判断颜值后,下截图片并不是什么难点. 直观感觉上确实如此,你判断的这个url适不适合下载,适合 ...
- ifcfg-eth配置详解(CentOS6)
1.基本配置形式 1.1 动态IP基本配置 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp DEVICE--网卡名,要与ifcfg-ethx中的 ...
- 快捷键设置 keyiing.json
// 快捷键设置 keyiing.json // 将键绑定放入此文件中以覆盖默认值 [ /* // 转换大写 { "key" : "ctr ...
- ProtoBuf 常用序列化/反序列化API 转
http://blog.csdn.net/sealyao/article/details/6940245 1.C数组的序列化和反序列化API //C数组的序列化和序列化API bool ParseFr ...