第六节 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)测 ...
随机推荐
- js 中你不知道的各种循环测速
在前端 js 中,有着多种数组循环的方式: for 循环: while 和 do-while 循环: forEach.map.reduce.filter 循环: for-of 循环: for-in 循 ...
- 像阿里OSS一样的文件对像存储服务,容器实现 docker初探及minio测试
像阿里OSS一样的文件对像存储服务,容器实现 docker run -p 8000:9000 --name oss-minio -d -e "MINIO_ACCESS_KEY=AKIAIOS ...
- NOIP模拟96
T1 树上排列 解题思路 是一个一眼切的题目... 看到题目第一眼就是 Deepinc 学长讲的可重集,无序 Hash . 直接套上一颗线段树再加上树剖, \(nlog^2n\) 直接过,好像也可以树 ...
- 面试官:说说Netty对象池的实现原理?
Netty 作为一个高性能的网络通讯框架,它内置了很多恰夺天工的设计,目的都是为了将网络通讯的性能做到极致,其中「对象池技术」也是实现这一目标的重要技术. 1.什么是对象池技术? 对象池技术是一种重用 ...
- Vue.js 动画与过渡效果实战
title: Vue.js 动画与过渡效果实战 date: 2024/6/4 updated: 2024/6/4 description: 这篇文章介绍了如何在网页设计中使用过渡动画和组件效果,以及如 ...
- Wgpu图文详解(01)窗口与基本渲染
写在前面 如果对Rust与Wgpu比较关注的同学可能在网络上搜到过@sotrh国外大佬编写的<Learn Wgpu>,以及国内大佬@jinleili的优秀翻译作品<学习 Wgpu&g ...
- ETL工具-nifi干货系列 第十三讲 nifi处理器QueryDatabaseTable查询表数据实战教程
1.处理器QueryDatabaseTable,该组件生成一个 SQL 查询,或者使用用户提供的语句,并执行它以获取所有在指定的最大值列中值大于先前所见最大值的行.查询结果将被转换为 Avro 格式, ...
- kettle从入门到精通 第二十二课 kettle carte web服务中文乱码
在windows 上面 carte服务的canvas画布展示的中文正常,但是在linux上面中文展示乱码,如下所示: 原因:linux 机器缺少字体所致. kettle源码中使用字体: 解决方法: 安 ...
- INFINI Gateway 如何防止大跨度查询
背景 业务每天生成一个日期后缀的索引,写入当日数据. 业务查询有时会查询好多天的数据,导致负载告警. 现在想对查询进行限制--只允许查询一天的数据(不限定是哪天),如果想查询多天的数据就走申请. 技术 ...
- python xlrd excel读取操作
import xlrd wb = xlrd.open_workbook("test.xlsx") sheet1 = wb.sheets()[1] # 通过索引顺序获取 #table ...