第六节 JMeter基础-中级登录【用户自定义变量】
1.认识JMeter
(1)配置元件:配置对应的一些数据 (例如:HTTP请求默认值、用户定义的变量)
(2)【HTTP请求默认值】:HTTP请求默认值是设置的Web服务器部分信息,可以贯穿多个接口。
适用于切换测试环境:比如SIT测试环境,UAT测试环境,上线前的STAGE环境等。
(3)【用户自定义变量】:定义变量贯穿多个接口。
2.HTTP请求默认值
因为注册跟登录请求的IP地址都是一样的,后面的路径不一样而已,所以把相同的Web服务器请求放在【HTTP请求默认值】里面。
如果后面的接口A【HTTP请求】中Web服务器部分与注册、登录的不一样,可以在【HTTP请求】时填写接口A的Web服务器信息,以接口A的【HTTP请求】为准。只有【HTTP请求】Web服务器信息为空时,JMeter系统才会去找【HTTP请求默认值】中的Web服务器。
(1)新建【HTTP请求默认值】
右击【线程组】【添加】【配置元件】【HTTP请求默认值】

(2)设置【HTTP请求默认值】
① 名称:HTTP请求默认值-商城地址
② 协议:http
③ 服务器名称或IP:shop-xxx.com。


3.用户自定义变量
因为是一个连贯的流程,注册成功后,会用注册成功的用户名跟密码登录商城,看是否能够登录成功。所以这里注册跟登录的用户名、密码肯定是一样的。对于这种一个变量需要用到多个接口的操作,可以通过【用户自定义变量】来实现。
(1)新建【用户定义的变量】
右击【线程组】【添加】【配置元件】【用户定义的变量】

(2)设置【用户定义的变量】
① 名称:用户定义的变量-注册成功后登录成功
② 添加变量1:accounts,值:20200102。(变量名称由接口文档来确定,有些习惯用username为用户名,password为密码。)
③ 添加变量2:pwd,值:123456。

4.HTTP请求【注册】
(1)设置【HTTP请求】
① Web服务器部分:为空(已设置【HTTP请求默认值】,如果这里有设置,则以【注册】的为准)。
② 请求方法:POST。
③ 路径:?s=api/user/reg&application=app&application_client_type=weixin。
④ 参数:点击“添加”按钮进行添加参数,通过 ${变量名} 的方式来获取【用户自定义变量】参数的值(变量名要与【用户自定义变量】中的变量名一致)。

(2)新增【JSON断言】

5.HTTP请求【登录】
(1)设置【登录】HTTP请求:
① Web服务器部分:为空。
② 请求方法:POST。
③ 路径:?s=api/user/login&application=app&application_client_type=weixin。
④ 参数:点击“添加”按钮进行添加参数,通过 ${变量名} 的方式来获取。

(2)新增【JSON断言】:

6.【查看结果树】
(1)检查【查看结果树】
① 启动:点击启动,启动线程。
② 结果树面板:出现【注册】【登录】请求,前面绿色牌显示请求成功。
③ 响应数据:主要查看Response Body中,信息是否正确:
【"msg":"注册成功","code":0,"id":"18720","username":"20200103"】
【"msg":"登录成功","code":0,"id":"18720","username":"20200103"】


第六节 JMeter基础-中级登录【用户自定义变量】的更多相关文章
- jmeter调试脚本之用户自定义变量
一.用户自定义的变量 用户自定义变量,设置变量名.变量值,就引用变量名执行操作 名称:用户定义变量的描述性名称,显示在左边节点上,并用于命名事务 注释:用户定义变量的注释信息,非必填项 变量名称:定义 ...
- 『忘了再学』Shell基础 — 12、用户自定义变量
目录 1.变量定义 2.变量调用 3.变量的修改 4.查看变量 (1)-u选项说明: (2)-x选项说明: (3)set命令说明: 5.变量删除 1.变量定义 变量正确定义. 格式:变量名=" ...
- 第十六节 BOM基础
打开.关闭窗口 open:蓝色理想运行代码功能 <button onclick="window.open('http://www.baidu.com')">打开窗口&l ...
- Jmeter之csv、用户自定义变量以及Query Type分析(八)
很多童鞋不知道对于Jmeter的Query Type 不知道选哪个,为什么选,怎么选! 下面这边做个简单的分析, 那么首先什么是CSV Data Set Config,有什么用呢? CSV Data ...
- 第三百三十六节,web爬虫讲解2—urllib库中使用xpath表达式—BeautifulSoup基础
第三百三十六节,web爬虫讲解2—urllib库中使用xpath表达式—BeautifulSoup基础 在urllib中,我们一样可以使用xpath表达式进行信息提取,此时,你需要首先安装lxml模块 ...
- 『动善时』JMeter基础 — 23、JMeter中使用“用户自定义变量”实现参数化
目录 1.用户自定义变量介绍 2.使用"用户自定义变量"实现参数化 (1)测试计划内包含的元件 (2)数据文件内容 (3)测试计划界面内容 (4)线程组元件内容 (5)CSV数据文 ...
- 性能测试工具JMeter 基础(六)—— 测试元件: 线程组
线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...
- 第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承
第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承 母板-子板-母板继承 母板继承就是访问的页面继承一个母板,将访问页面的内容引入到母板里指定的地方,组合成一个新页 ...
- JMeter基础之--元件的作用域与执行顺序
前面有介绍过jmeter的元件类别,对于新手来说,jmeter的元件是还是不少的,如果我们按照每一个元件的每一个参数的含义去学习,无疑会降低学习性能测试的热情,就算我们熟悉了所有元件以及元件上的参数了 ...
- JMeter基础之一 一个简单的性能测试
JMeter基础之一 一个简单的性能测试 上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢.这一节创建一个简单的测试计划来使用这些元件.该计划对应的测试需求. 1)测 ...
随机推荐
- flask blinker信号
Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为. pip3 install blinker 1.内置信号 request_started = _ ...
- python垃圾回收和缓存管理
Python垃圾回收和缓存管理 你有没有想过为什么我们频繁地使用Python敲代码做项目,实际上一直在生产对象并不断占用内存,而我们很少会去清理Python的内存,理论上来讲它总有一天把内存消耗殆尽( ...
- 1.Prism
Region(区域)在程序编写的过程中我们肯定会遇到在一个区域上显示不同的内容,这些内容可能属于不同窗口,之前是弄个panel,需要显示哪个窗口就给让panel显示. 1.定义区域2.提供对区域的访问 ...
- nginx学习记录【二】nginx跟.net core结合,实现一个域名访问多个.net core应用
1.实现转发 打开conf下的nginx.conf文件,如下图: 2.添加.net core网站的转发 按下面的进行修改,修改完后,就把localhost的80转发到了https://localhos ...
- 『手撕Vue-CLI』函数柯里化优化代码
开篇 在上一篇文章中,给 nue-cli 添加了拉取版本号的功能,这一次来优化一下代码,使用函数柯里化的方式来优化代码. 实现 函数柯里化 函数柯里化是一种将使用多个参数的一个函数转换成一系列使用一个 ...
- 老张,你的服务是不是挂了?论全局 SLI 的重要性
场景再现 你正在午休,正梦见中了彩票,突然收到电话告警,说服务对外接口 95 分位延迟突增,惊出一身冷汗,睡意全无,抓紧打开监控系统,查看服务的 SLI 指标,发现确实有问题,已经持续 1 分钟,这服 ...
- django跨域设置
Django 跨域问题,解决前后端连接 CORS 1.安装 django-cors-headers pip install django-cors-headers 2.配置settings 在 INS ...
- vue判断开始日期不能大于截至日期
method下的方法: checkTime() { var start = new Date(this.form.startDate).getTime() var end = new Date(thi ...
- 安装并使用 openssl 生成证书
1. 安装 openssl参考链接: OpenSSL加密算法库使用系列教程_openssl算法哭调用-CSDN博客 安装包下载地址: 安装包下载地址(正常情况需要将 openssl 源码下载后, 自己 ...
- Apollo quick start SampleApp demo Java
<!--配置中心--> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <a ...