jmeter变量函数以及抓包用法

抓包

代理服务器: 自己启动一个代理服务器

本地,要使用代理服务器的ip和端口,使用自己启动的代理服务器

操作步骤

  • 添加线程组
  • 测试计划 > 非测试元件 > http代理服务器
一定要修改 修改为** 测试计划>线程

ip就是你自己电脑的ip,port是可以修改,默认8888

目标控制器,**一定要修改 修改为** 测试计划>线程组

如果要抓取https信息时,就必须使用证书

安装证书

执行抓包

脚本功能增强

关联:  前面接口的响应信息,有动态值,作为后续接口的参数参数

我需要将手机号码,发生变化,可以通过 变量来进行控制,

变量: 用户定义变量,用户参数  —全局变量,作用于整个‘**测试计划**

在启动运行时,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变

用户变量
取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变

用户参数  作用域: 作用于当前线程组或当前的取样器,在启动运行时,获取一次值,在运行过程中,还会动态获取值

设置用户参数
在每次运行过程中 ,值会动态变化

在其他线程组无法获取

在其他线程组无法获取

模拟注册和登录场景 

使用用户定义变量注册 登录5次,最终可以成功登录多少个?

答案是: 1次register-success 5次login-success (因为用户定义变量 ,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变)

使用用户参数 变量注册 登录5次,最终可以成功登录多少个?

答案是:5次注册成功,0次登录失败 ,因为  用户参数 在运行过程中会动态获取值

迭代: 一个线程组下所有的接口,全部执行完1次,才算1个迭代

迭代选项
所以5次都可以登录成功

函数

双下划线开头 函数名称,严格区分大小写

比较重要的函数

  • + ${__counter(,)} 计数器
  • + ${__dateTimeConvert(,,,)} 时间格式转换
  • + ${__digest(,,,,)} **加密** 简单加密
  • + ${__intSum(,,)} 整数相加函数
  • + ${__P(,)} **获取属性函数**
  • + ${__property(,,)} **获取属性函数**
  • + ${__setProperty(,,)} 设置**属性函数**
  • + ${__Random(,,)}
  • + ${__RandomString(,,)}
  • + ${__threadNum} 获取线程号函数
  • + ${__time(,)} 获取**当前时间戳函数**
  • + ${__timeShift(,,,,)} 数据格式化
  • + ${__V(,)} **拼接**函数

 

原文地址:http://www.cnblogs.com/orangezhangzz/p/16852077.html

发表评论

您的电子邮箱地址不会被公开。