jmeter——参数化、关联、断言
1.jmeter——参数化
三种方式:
${变量名}
1.1用户定义的变量
比如注册,登录都得用到手机号码,那就把手机号码自定义为变量
1)添加一个线程组--注册、登录HTTP请求--察看结果树--用户定义的变量(http请求步骤见上一篇随笔https://www.cnblogs.com/liyongmei/p/11044466.html)

2)添加用户定义的变量

3)引用用户定义的变量,格式为:${变量名}


4)察看结果树--点击运行

1.2配置文件CSV Data Set Config(如果对其他线程也有需要,就需要把它移动到测试计划同一级目录,这样就对所有线程有效)
比如同时注册三个手机号码,并且对应用户。
1) 用文本编辑三个手机号和用户名

2) 线程组—添加—配置元件—CSV Data Set Config

3)

Filename:参数化文件路径
Variable Name(comma-delimited):参数化的名称
Delimiter(use '\t\ for tab):多个参数,用什么来隔开
Recycle on EOF?:文件读取完之后是否继续读取
Stop thread on EOF?:文件读取完之后是否停止线程
4) 参数引用

5)修改线程数

6)运行察看结果树

1.3函数助手中的函数获取参数值 _Random函数 _RandomString函数
比如进行十个用户的注册,只是往数据库添加十个手机号码,但是手机号码不一定对应真实用户,那就可以用到随机函数
1)固定段号

2)点击选项--函数助手对话框


3)在注册http请求手机号码字段粘贴生成的字段

4)修改线程数

5)察看结果树

2.jmeter——关联
1、 关联的定义:将服务器返回的动态的变化的一个值,把他保存为一个参数,以供脚本里面后边需要用到参数化的地方进行使用
2、 关联的目的
脚本值写死,但是服务器返回值每次都是动态的不可预期的,服务器用不同的值做业务处理,进行校验,所以需要关联
引导:使用了单个充值接口进行充值,提示“抱歉请先登录”,随后同时开放登录和充值两个接口,仍然提示“抱歉请先登录”

引出疑问点?
答:充值的时候,在页面上,我们是先登录,是以登录的状态去充值的。充值的时候,我们就会去校验登录的状态。而jmeter里面【登录】和【充值】两个接口是独立的,两个接口没有联系起来。
我们需要了解cookie和session?
原文链接:https://www.cnblogs.com/nickjiang/p/9148136.html
正则表达式提取器
- 关联方式
Jmeter中的关联是通过“添加—后置处理器—正则表达式提取器”来获取数据,传给后面的请求使用。
关联概念:两个请求,上一个请求的响应结果,作为下一个请求的传入关联运用的场景;下一个请求的参数值是变化的。
- 正则表达式
正则表达式概念:匹配内容的一个表达式。Error.log====rerror.log
2.1:添加正则表达式提取器(从哪里取就在哪里添加)


引用名称:下一个请求要引用的参数名称。如填写activityID,则可用${activityID}引用它
正则表达式:()括起来的部分就是要提取的
. 匹配任何字符串
+ 一次或多次
?在找到第一个匹配项后停止
模板:用$$引用起来,如果是多个提取表达式,则可以是$1$$2$等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值
匹配数字:0随机,1代表所有,通常取0
缺省值:如果返回结果中没有匹配的值,则变量的值采用默认值。
注意:正则表达式放在请求的后面,数据从“查看结果树”的响应数据获取。
从接口请求的响应结果中获取;或者数据库中获取
2.2:添加一个http cookie管理器

2.3察看结果树

3.jmeter——断言
断言==检查点
3.1添加断言

3.2添加一个检查点,如果响应中的信息与添加的检查点不一致,则做失败处理

3.3察看结果树

jmeter——参数化、关联、断言的更多相关文章
- JMeter脚本参数化和断言设置( CSV Data Set Config )
用Badboy录制了Jmeter的脚本,用Jmeter打开后形成了原始的脚本.但是在实际应用中,为了增强脚本的多样性,就要使脚本参数化.这里我以登录为例,参数化用户账号与用户密码. 图1 :原始脚本 ...
- Jmeter CSV 参数化/检查点/断言
当参数的值没有规律且量不太大时,可以使用CSV Data set config这种方法. 案例: 应用Sogou自动搜索关键字: 软件开发测试,web功能自动化测试,性能自动化测试,Selenium以 ...
- 【jmeter】关联-正则表达和xpath
话说LoadRunner有的一些功能,比如:参数化.检查点.集合点.关联,Jmeter也都有这些功能,只是功能可能稍弱一些,今天就关联来讲解一下. JMeter的关联方法有两种:后置处理器-正则表达式 ...
- Jmeter 参数化请求实例
Jmeter 参数化请求实例 在jmeter中的请求可以参数化,其中参数化的方式有4种: 1.CSV Data Set Config 2.数据库 3.用户自定义变量 4.用jmeter中的函数获取参数 ...
- Jmeter参数化的方法
测试接口时,使用Jmeter在请求中输入参数,若是有多种情况,有多条测试参数,是不是要每个情况逐条输入呢?逐条输入会让人觉得比较麻烦,因此,就有了Jmeter参数化. Jmeter参数化的方法: 用户 ...
- Jmeter参数化-CSV Data Set Config
前言 一般来说,我们使用Jmeter来模拟HTTP请求时,比如模拟查询学生信息,我们通常把查询接口的入参(如学生姓名)写在HTTP请求中.当只需要查询1个学生的信息时,我们可以把这名学生的姓名准确的写 ...
- Jmeter参数化、检查点、集合点教程
在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的,这个时候我们就可以使用参数化登录. 一.badboy录制需要的脚本.也可以用fiddler ...
- jmeter之关联的使用(正则、json)
部分接口的测试中,一个接口会依赖上一个接口的响应信息,但上一个接口的响应信息又不是固定不变的,这时候,需要提取上一个接口的响应信息,将二者每一次的信息关联起来 目录 1.应用场景 2.jmeter正则 ...
- 用Jmeter参数化实现接口自动化测试
本文记录如何使用Jmeter参数化(csv)实现接口自动化——测试Token不同入参情况下,接口请求能够返回正确的结果 1. 首先需要使用Jmeter获取一个Token,如何获取暂略(同一般访问请求方 ...
随机推荐
- 【c# 学习笔记】子类的初始化顺序
使用了继承之后,当我们初始化一个子类时,除了会调用子类的构造函数外,同时也会调用基类的构造函数.子类的初始化顺序如下: ① 初始化类的实例字段: ② 调用基类的构造函数,如果没有指明基类,则调用Sys ...
- 用 Unity 实现调色板功能
用unity 实现调色板功能. 直接上代码: using UnityEngine; using System.Collections; using UnityEngine.UI; public cla ...
- Dapper.NET—轻量ORM
Dapper.NET使用 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1 一 ...
- redis相关操作命令
一.相关命令列表: 命令原型 时间复杂度 命令描述 返回值 KEYS pattern O(N) 时间复杂度中的N表示数据库中Key的数量.获取所有匹配pattern参数的Keys.需要说明的是,在我们 ...
- linux系统中RAID10磁盘冗余阵列配置
介绍:RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高,RAID10用两个磁盘做RAID0,用其他两个做RAID1当备份. 配置流程: 第一步:在原有基础上为磁盘再填入五块磁盘(至少 ...
- react native 中 Demensions的坑
简单描述下碰到的问题:Demensions.get('window').height,一般拿来获取屏幕高度的.但是在小米mix3上面(其他安卓机型可能也会有)无论底部的虚拟物理键盘显示与否(底部的返回 ...
- Redis部分
- MySQL 新建用户,为用户授权,指定用户访问数据库
1.登录MySQL mysql -u root -p 2.添加新用户(允许所有ip访问) create user 'test'@'*' identified by '123456';(test:用户名 ...
- TypeScript 高级类型
⒈交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型. 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性. 例如, Person &a ...
- 剑指offer52:正则表达式匹配
1 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符‘.’表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个 ...