Jmeter使用接口传递数据过程图解
一。
1.提取响应结果中的“mobile_phone”,作为下一个登录接口的账号信息
1)在当前接口下,添加-置处理器-正则表达式提取器
2)正则表达式处理器
说明:
后置处理器:在请求结束或者返回响应结果时发挥作用
- APPly to:作用范围(返回内容的断言范围)
- Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
- Main sample only:仅作用于父节点的取样器
- Sub-samples only:仅作用于子节点的取样器
- JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
要检查的响应字段:需要检查的响应报文的范围
主体:响应报文的主体,一个网页页面的内容,除了信息头以外的内容
- Body(unescaped):主体,响应的主体内容且替换了所有的html转义符,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
- BodyasaDocument:从不同类型的文件中提取文本,注意这个选项比较影响性能
- Response Headers:响应信息头
- Request Headers:请求信息头
- URL:统一资源定位符,即Internet上用来描述信息资源的字符串
- Response Code:响应状态码,比如200、404等
- Response Message:响应信息
引用名称(ReferenceName):Jmeter变量的名称,存储提取的结果;即下个请求需要引用的值、字段、变量名(例子中我提取的是SOCIAL_NO)
引用方法:引用方法:${引用名称}
正则表达式(RegularExpression):使用正则表达式解析响应结果,“()”表示提取字符串中的部分值,请不要使用“||”,除非你本身需要匹配这个字符。
下面是常用的正则表达式操作符:
():括起来的部分就是要提取的。
.:匹配任何字符串。+:一次或多次。?:不要太贪婪,在找到第一个匹配项后停止。
模板(Template):模板,用来从匹配的结果中创建一个字符串,这是通过正则表达式匹配出来的一组值,语法为:$1$指代第一组,$2$指代第二组,$0$指代整个匹配结果
匹配数字(MatchNo):匹配数字,指明哪一个匹配结果值将被使用,正则表达式一般会有多个匹配结果。使用:0,表示Jmeter任选一个匹配值,使用:正整数N,表示Jmeter选择第N个值进行匹配,使用负数表示选取所有的值,一般与ForEach控制器配合使用
缺省值:如果正则表达式没有匹配到数据,引用变量将会返回一个默认值,在调试中此功能很有用,如果没有设置默认值,那么很难分辨出正则表达式是否有匹配到数据或使用是否正确,当然你也可以根据你的测试需求,在调试完成后去掉默认值的设置
提取到的参数,调用时用${SOCIAL_NO_1},${SOCIAL_NO_2}...,如果想要得到匹配出的参数的个数,用${SOCIAL_NO_matchNr},如果想随机选取一个,只需要将
匹配数字设为0,使用${SOCIAL_NO}调用即可。
正则表达式提取账号信息如下图:
查看正则表达式提取结果,线程组-添加-Sampler-Debug Sampler
不需要做变动
添加查看结果树(此处省略),进行注册请求并查看Debug Sampler结果
添加登录接口,并进行引用mobile_phone
运行测试脚本,在察看结果树中 查看到已经登录(登录code为:0):
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Jmeter调用java脚本过程详解
这篇文章主要介绍了Jmeter调用java脚本过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 jmeter为纯java编写,所以有三种方式使用java脚本,分别是:调用 .java 文件:调用 .class文件 :调用 .jar 文件 1. jmeter调用.java文件 1>. 新建一java脚本,内容如下: 2>. 新建线程组>>添加BeanShell Sampler.Debug PostProcessor.查看结果树
-
java自定义jar包让jmeter使用的方法
上一篇文章中,提到怎么生成jar包让jmeter使用,这次我们来试试做参数,因为发现调包的时候其实更多还是参数化,那么开始改造吧 1.在httpclientpost这个类中替换参数,且打印参数 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; impo
-
python Django编写接口并用Jmeter测试的方法
一.环境准备 python3.6.7 Pycharm 二.创建项目 我这里是在Django项目中新建了个APP,目录结构如下图所示: 那么怎么在已有的Django项目中新建APP并进行配置呢: 2.1.新建app a.可以在终端输入命令:python manage.py startapp myapp(这里myapp是指你自己app的名称),如下图所示: b.也可以在pycharm中找到Tools-->Run manage.py Task, 在弹出的命令框中输入:startapp myapp(这里
-
JMeter 实现Java请求步骤及原理详解
1.jar包 添加jar包依赖,注意和Jmeter的版本相同: ApacheJMeter_core.jar,ApacheJMeter_java.jar 2.写Java请求 先继承 AbstractJavaSamplerClient,或者实现 JavaSamplerClient, 各方法和参数: getDefaultParameters(),用来自定义参数的. runTest(),请求主体. Arguments类: 参数管理: addAuguments() 用来添加参数. JavaSamplerC
-
Jmeter线程组传参原理解析
这篇文章主要介绍了jmeter线程组传参原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景介绍: 使用jmeter做登录和搜索接口的测试: 登录接口请求头为:Content-Type: application/x-www-form-urlencoded; charset=UTF-8 搜索接口请求头为:Content-Type: application/json; charset=UTF-8 同时,搜索的请求头中需要用到登录接口返回值中
-
Web Jmeter–接口测试工具详解
关于Jmeter性能测试工具不再过多介绍.如果你要学习软件性能测试,那么多少应该会对它有所耳闻. 强烈建议阅读官方文档学习:http://jmeter.apache.org/index.html 还有比这个更权威更全面的介绍Jmeter工具使用的么? 不过,此处要介绍是用它来做接口测试. 一.安装Jmeter Jmeter官方首页:http://jmeter.apache.org/ 关于Jmeter可以做什么,官方上也有非常详细的介绍.另外它的文档也写很
-
Jmeter HTTPS接口测试证书导入过程图解
python中没有swich..case,若要实现一样的功能,又不想用if..elif来实现,可以充分利用字典进行实现 主要是想要通过不同的key调用不同的方法,在学习过程中,发现不管输入的key是什么,只要字典中存在输出内容,每次都会输出,这跟自己需要的功能有出入. 通过调试后,发现问题主要出现在key值对应的value的方法名有没有带()有很大的关系,如下: 不管bb中的number填写的是多少,总是会输出123 如果把cs()改为cs,那么只有在调用2的时候才会输出123:或者改下retu
-
Jmeter如何添加循环控制器
这篇文章主要介绍了Jmeter如何添加循环控制器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 场景描述:批量数据创建 新建线程组->编辑请求信息POST,创建产品 将入参录入Body Data 添加用户定义的变量,将数据参数化${value},在请求入参中引用 循环控制器应该控制的是多次请求,生成批量产品数据,添加循环控制器,设置循环次数,为3次,请求循环3次 添加循环变量参数,此处为年级递增创建,目标为:5,6,7 如果需要创建不同类型的数
-
Jmeter使用接口传递数据过程图解
一. 1.提取响应结果中的"mobile_phone",作为下一个登录接口的账号信息 1)在当前接口下,添加-置处理器-正则表达式提取器 2)正则表达式处理器 说明: 后置处理器:在请求结束或者返回响应结果时发挥作用 APPly to:作用范围(返回内容的断言范围) Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器 Main sample only:仅作用于父节点的取样器 Sub-samples only:仅作用于子节点的取样器 JMet
-
基于jmeter实现跨线程组传递token过程图解
遇到一些综合场景的设置,每个不同的请求并发数设置不同的时候,可以用多个线程组的组合来实现,但是这个时候,会遇到一个问题,那就是jmeter各个线程组之间是相互独立的,各个线程互不影响,所以线程组A中输出的参数,无法直接在线程组B中调用. 拿token来说,虽然每一个线程组中我们也可以在放一个登录请求,然后输出一个token供此线程组使用,但这样就比较繁琐且冗余.此时我们就可以使用跨线程组传递参数来解决这样的问题. 接下来,我们看下这个例子: 要发送短信,必须要先登录,才能发送. 实现思路: 在登
-
Jmeter正则表达式提取器实现过程图解
说到Jmeter正则表达式提取器的应用,就不得不说到关联.所谓关联,就是把应用中动态变化返回的数据获取到,把它保存为一个参数,提供给后面需要用到的地方进行使用. 如下面图中中userId.token在是关联参数, 方法一:正则表达式提取器 debug sampler 可以看到userId.token已被提取:引用写法为:${token},${userId} 方法二:JSON Extractor debug sampler 可以看到userId.token已被提取:引用写法为:${token},$
-
Jmeter配置代理实现录制过程图解
1.谷歌浏览器配置管理 在代理服务器中,按上图进行设置,可以把localhost换成 127.0.0.1 ,端口换成你想设置的,但是不要与别的端口进行冲突,一般四位数的端口冲突比较少 2.Jmeter中配置代理 (1)添加线程组,在线程组里面添加HTTP Cookie管理器如下图所示 添加路径是:[线程组]右键--[添加]--[配置元件]-[HTTP Cookie管理器] (2)在线程组里面添加http请求默认值 添加路径:[线程组]右键--[添加]--[配置元件]-[HTTP请求默认值] 3.
-
TCP第三次握手传数据过程图解
RFC793文档里带有SYN标志的过程包是不可以携带数据的,也就是说三次握手的前两次是不可以携带数据的(逻辑上看,连接还没建立,携带数据好像也有点说不过去).重点就是第三次握手可不可以携带数据. 先说结论:TCP协议建立连接的三次握手过程中的第三次握手允许携带数据. 对照着上边的TCP状态变化图的连接建立部分,我们看下RFC793文档的说法.RFC793文档给出的说法如下(省略不重要的部分): 重点是这句 "Data or controls which were queued for trans
-
如何使用jmeter录制浏览器Https请求过程图解
Jmeter录制脚本时,跟http脚本录制主要区别是,https录制需要添加安全证书. 那么在jmeter上如何操作呢?且看下面的操作步骤 一.jmeter的代理服务器及证书配置 1.打开jmeter后,在工作台右键选择非测试元件,添加"HTTP代理服务器" 2.在线程组下面添加"录制控制器" 3.在"http代理服务器"界面,目标控制器选择,之前添加好的线程组:排除模式添加 .*\.(js|css|PNG|jpg|png|gif).* ,过滤掉
-
python:接口间数据传递与调用方法
如下所示: import requests import unittest import json from pubulic_way.get_token import getSession class testlogin(unittest.TestCase): def test_getIdentify(self): '''调用test_listCollectInfoByCreditId(self)响应数据中的taxid参数''' result = self.get_listCollectInfo
-
jmeter设置全局变量与正则表达式提取器过程图解
接口测试中,很多接口都要带上登录后的token才能正常发送请求,这里记录一下登录获取token设置为全局变量供其他接口使用 登录后返回信息信息中会有一个token值,添加后置处理器中的正则表达式提取token,然后用后置处理器中的BeanShell PostProcessor设置token为全局变量 1.获取token值: 1.1.用fiddler抓包 1.2.F12查看接口信息 1.3.用jmeter登录查看 2.正则表达式提取token: 3.BeanShell PostProcessor设
-
jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)
目录 一.前言 二.使用正则表达式提取器实现接口关联 三.使用json提取器实现接口关联 json提取器的使用步骤 四.扩展:返回复杂json数据的提取 一.前言 在开展接口测试或者是接口面试的过程中,我们会发现很多接口需要依赖前面的接口,需要我们动态从前面的接口返回中提取数据,也就是我们通常说的关联. 关联通俗来讲就是把上一次请求的返回内容中的部分截取出来保存为参数,用来传递给下一个请求使用. 二.使用正则表达式提取器实现接口关联 正则表达式提取器,见名知意就是使用正则表达式的方法把我们需要提
随机推荐
- Python3利用SMTP协议发送E-mail电子邮件的方法
- 详解JSP 中Spring工作原理及其作用
- 浅谈在koa2中实现页面渲染的全局数据
- Python 40行代码实现人脸识别功能
- php从csv文件读取数据并输出到网页的方法
- Android App端与PHP Web端的简单数据交互实现示例
- php自定义函数实现统计中文字符串长度的方法小结
- js倒计时抢购实例
- 在jsp页面中响应速度提高的7种方法分享
- [转]Accesskey引起的一点点思考
- Python实现获取网站PR及百度权重
- 学习Android Handler消息传递机制
- Javascript中常见的校验如域名、手机、邮箱等等
- Java组件javabean用户登录实例详解
- android 捕获系统异常并上传日志具体实现
- python获取糗百图片代码实例
- yii2实现 "上一篇,下一篇" 功能的代码实例
- jQuery Datatables表头不对齐的解决办法
- Java责任链模式模板代码分享
- 一步一步跟我学易语言之第二个易程序菜单设计