day1_jmeter接口测试
一、Jmeter-http接口脚本:
步骤:
1、添加线程组
2、添加http请求
3、在http请求中写入接口url、路径、请求方式、参数
4、添加查看结果树
5、调用接口、查看返回值
二、Jmeter之HTTP信息头管理器
HTTP信息头管理器在Jmeter的使用过程中起着很重要的作用,通常我们在通过Jmeter向服务器发送http请求(get或者post)的时候,往往后端需要一些验证信息,比如说web服务器需要带过去cookie给服务器进行验证,一般就是放在请求头(header)中,因为对于此类请求,在Jmeter中就可以通过HTTP信息头管理器,在添加http请求之前,添加一个HTTP信息头管理器,发请求头中的数据通过键值对的形式放到HTTP信息头管理器中。在往后端请求的时候就可以模拟web携带header信息了
线程组>添加>逻辑控制器>HTTP信息头管理器
三、Jmeter-参数化
Jmeter参数化的方式有三种
1、用户定义的变量
- 这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的
2、函数生成器
- 函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数
3、从文件中读取
- 文件读取就是事先写好一些数据,然后从文件中读取,这样的话,比如说登录接口,账号和密码都是我们事先注册好的
1、参数化-用户定义的变量
在线程组中添加一个用户定义的变量,然后写key和value就可以了,key就是这个参数的名称,也就是你在脚本里面取的值,value就是具体值了。在取参数化的值的时候,使用${name}这样去取值,name就是你取的变量名称。
2、参数化-函数生成器
几种函数:
__random:可以在指定范围内随机取值
__counter函数:用于统计函数的使用次数
每次调用计数器函数都会产生一个新值,从1开始每次加1。计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。如果每个虚拟用户的计数器
__time:取当前时间到变量
时间格式,支持,年yyyy,月MM,日dd,时hh,分mm,秒ss,毫秒sss,之间任意符号连接,/1000就是10位时间戳(精确到秒),不填就是精确到毫秒13位时间戳
3、参数化-从文件中读取-CSV Data Set Config
从文件中读取的话,三个步骤
1、读取文件
2、取文件内容里面的参数,给它一个名字
3、使用值
从文件读取的话,需要在线程组里面添加一个CSV Data Set Config,它就是做前面两步的操作的
如果有多列,则逗号隔开分别起名
如果文件不写绝对路径,只写一个文件名,那么你就把你的文件放到jmeter的bin目录下就ok了
四、关联-JSON Extractor
1、关联也就是:
1)调用第一个接口,然后从这个接口的返回数据里面拿到某个值
2)放到第二个接口里面来用。
接口响应结果,通常为HTML、JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取。
对于JSON格式的数据,可以通过正则表达式、JSON Extractor插件、BeanShell 来提取。
本次说下如何通过JSON Extractor 插件来提取JSON响应结果
Variable names : 变量名
JSONPath Expression:JSON表达式
Default Value:未取到值的时候默认值
2、举例:
响应结果为:
{
"error_code": 0,
"login_info": {
"login_time": "20180814094236",
"sign": "3f823a72b517ff6c36f95635d8a741f1",
"userId": 1
}
}
获取登录接口的sign值,则表达式为:$.login_info.sign($表示当路径 .表示下一层及 意思为:当前路径下的login_info下的sign)
调用jp@gc - JSON Path Extractor
备注: JSON中 data 是一个对象数组, data[0] 代表取的是第一个对象数组,data[*] 代表取全部。
3、可添加Debug Sampler查看调用结果
打开测试计划—>线程组—>右键,添加—>Sampler,Debug Sampler
day1_jmeter接口测试的更多相关文章
- 从Fiddler抓包到Jmeter接口测试(简单的思路)
备注:本文为博主的同事总结的文章,未经博主允许不得转载. Fiddler下载和配置安装 从网上下载fiddler的安装包即可,直接默认,一直点击下一步,直至安装完成. 安装完成后直接打开Fiddler ...
- C#进阶系列——WebApi 接口测试工具:WebApiTestClient
前言:这两天在整WebApi的服务,由于调用方是Android客户端,Android开发人员也不懂C#语法,API里面的接口也不能直接给他们看,没办法,只有整个详细一点的文档呗.由于接口个数有点多,每 ...
- JAVA+Maven+TestNG搭建接口测试框架及实例
1.配置JDK 见另一篇博客:http://www.cnblogs.com/testlurunxiu/p/5933912.html 2.安装Eclipse以及TestNG Eclipse下载地址:ht ...
- Web接口测试工具--Jmeter
关于Jmeter性能测试工具不再过多介绍.如果你要学习软件性能测试,那么多少应该会对它有所耳闻. 强烈建议阅读官方文档学习:http://jmeter.apache.org/index.html 还有 ...
- Web接口测试工具---Poster与Postman
工作当中有不少时间在编写和维护接口自动化测试用例.打算先整理一些接口相关工具的使用. 简单对接Web口测试的相关工具/技术做个划分. HTTP/SOAP协议接口的功能测试: 1.浏览器URL(GET请 ...
- HttpClient在HTTP协议接口测试中的使用
TTP协议的接口测试中,使用到最多的就是GET请求与POST请求,其中POST请求有FORM参数提交请求与RAW请求,下面我将结合HttpClient来实现一下这三种形式: 一.GET请求: GET请 ...
- Jsoup做接口测试
最早用Jsoup是有一个小的爬虫应用要写,发现Jsoup较HttpClient轻便多了,API也方便易懂,上手很快,对于response的Document解析的选择器用的是cssSelector(Jq ...
- java分享第十一天(接口测试)
HTTP协议的接口测试中,使用到最多的就是GET请求与POST请求,其中POST请求有FORM参数提交请求与RAW请求( post请求时有一个选项是form-data,或者raw,使用raw可以请求 ...
- django项目的接口测试
基于Python的Django框架: 进行接口测试: 参见虫师的博客: 整理部分笔记:
随机推荐
- Android Launcher分析和修改3——Launcher启动和初始化
前面两篇文章都是写有关Launcher配置文件的修改,代码方面涉及不多,今天开始进入Launcher代码分析. 我们开机启动Launcher,Launcher是由Activity Manager启动的 ...
- Openlayers离线载入天地图
概述: 经过一个春节的休整,今天最终開始了! 任何时候.都不要忘记学习.学习是一辈子的事情!今天,我来说说怎样实现天地图的离线以及Openlayers载入离线数据实现天地图数据的展示. 实现: 1.获 ...
- 使用echo $? 查看命令是否执行成功
shell中的特殊变量:变量名含义$0shell或shell脚本的名字$*以一对双引号给出参数列表$@将各个参数分别加双引号返回$#参数的个数$_代表上一个命令的最后一个参数$$代表所在命令的PID$ ...
- Java知多少(42)泛型通配符和类型参数的范围
本节先讲解如何限制类型参数的范围,再讲解通配符(?). 类型参数的范围 在泛型中,如果不对类型参数加以限制,它就可以接受任意的数据类型,只要它是被定义过的.但是,很多时候我们只需要一部分数据类型就够了 ...
- Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解
一.mycat的安装 环境准备:准备一台虚拟机192.168.152.128 1. 下载mycat cd /softwarewget http:-linux.tar.gz 2. 解压mycat tar ...
- 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V4 -- 粘包拆包
网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——Netty -- new LengthFieldPrepender(2) : 设置数据包 2 字节的特征码 new LengthFieldB ...
- js 获取验证码计时器
效果图: 贴上代码: <div class="logintitle"> <input type="tel" id="mobile&q ...
- C++定义字符数组
问:C++中定义字符型数组时'\0'是不是也占一位?是不是定义char a[5],只能有4个字符?那计算字符长度时又否忽略'\0'? 答: C++中定义字符型数组时'\0'是不是也占一位?是不是定义c ...
- PhoneGap 数据库操作
1,openDatabase phonegap官方文档中已经很清楚的标明,如果使用一个数据库首先要用window对象进行创建: var dbShell = window.openDatabase(na ...
- Linux模拟网络延迟、丢包等
一.工具介绍 1.netem netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽.传输延迟.丢 ...