第六节 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)测 ...
随机推荐
- SSL/TSL 总结
参考:https://blog.csdn.net/qq153471503/article/details/109524764 (一)生成CA证书 1.创建CA证书私钥openssl genrsa -a ...
- nginx aio模块添加与配置
1. 升级目的 让现有服务平滑过渡到高版本,减少服务漏洞,提高服务性能 让其支持nginx最新特性 nginx threads模块 2. 获取nginx1.7.2版本 wget http://ngin ...
- (拼多多)pdd的Anti-Content
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6 ...
- react withRouter高阶组件
作用:把不是通过路由切换过来的组件中,将react-router 的 history.location.match 三个对象传入props对象上 默认情况下必须是经过路由匹配渲染的组件才存在this. ...
- Linux扩展篇-shell编程(八)-shell字符串截取
shell字符串截取,一般包含从指定位置和从指定字符截取. 一.从指定位置截取 1) 从字符串左边开始计数 格式: ${string: start :length} 从 string 字符串的左边第 ...
- EF 从设计器改为 DB First时遇到 Keyword not supported: 'data source'.
EF 从设计器改为 DB First时遇到 Keyword not supported: 'data source'. 解决方法: 把providerName="System.Data.En ...
- ES备份恢复
1.官网提供snap快照备份恢复 https://www.elastic.co/guide/en/elasticsearch/reference/7.9/snapshot-restore.html 环 ...
- redis自动化安装
1.ruby脚本自动化安装 1.安装ruby开发环境 yum install rubygems -y 2.通过ruby包管理工具,安装操作redis的模块 gem sources --remove h ...
- Django路由层、视图层及模板层
Django路由层 URL配置(URLconf)就像Django所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表; 你就是以这种方式告诉Django,对于客户端发来的某个UR ...
- idea文件的编码设置,解决中文编码不一致问题,对RSA验签及文本比较的测试方法 -Dfile.encoding=UTF-8
String reqContent = "abcdef中文"; //new String("abcdefee".getBytes()," GBK &q ...