在请求过程中,有时我们需要在请求中设置一些变量来测试不同的场景。

Jmeter支持以下类型变量:

  • 用户自定义变量

  • 函数生成变量

  • BeanShell变量

  • 数据文件变量

用户自定义变量

设置步骤: 选中请求——添加——前置处理器——用户参数 设置变量名称为user,值为51zxw

7ae2bc7532806c866c8b6ab0f63281fe.png

在请求时引用变量如下所示: 变量引用格式为:${user}

22e8a89d6ff747637a291acece01f65e.png

函数生成变量

Jmeter有许多内置的函数,可以生成随机数。创建步骤:点击菜单栏选项——函数助手对话框——下拉选择__Random()函数 函数配置如下:

b7adf6dd7ab54cd092422bf57cc9c0b0.png

BeanShell变量
什么是Bean Shell?
  • BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;

  • BeanShell是一种松散类型的脚本语言(这点和JS类似);

  • BeanShell是用Java写成的,一个小型的、免费的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简。

  • BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。

官网:http://www.BeanShell.org/

Jmeter有哪些Bean Shell?
  • 定时器:  BeanShell Timer

  • 前置处理器:BeanShell PreProcessor

  • 采样器:  BeanShell Sampler

  • 后置处理器:BeanShell PostProcessor

  • 断言:   BeanShell断言

  • 监听器:  BeanShell Listener

Bean Shell常用内置变量

JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:

vars - (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:


//定义jmeter变量
vars.put(String key,String value);

//从jmeter中获取变量
vars.get(String key);

log:写入信息到jmeber.log文件,使用方法:

log.info(“hello 51zxw!”);
BeanShell 实践案例

1.创建请求名为beanshell_test的Http请求,请求地址为:http://httpbin.org/get 同时设置传递的参数为beanshell_user

3cc9cd165d182332317d37bfacfeb00a.png

2.创建 BeanShell PreProcessor 变量设置如下所示:

31c4aea7ab305d3481cdf8993c3f3658.png

3.最后运行结果可以看到,设置的变量已经生效

6a4eb33e675b39b987eba6c29fdf5a10.png

更多干货

  • 断言与参数设置

  • Jmeter简介与安装

  • 断言与参数设置

  • 接口测试概述

  • HTTP协议概述

  • Json数据

  • Postman简介与安装

  • Postman发送请求

  • Postman授权与Cookie设置

  • Postman批量执行与集成Jenkins

  • Mac 环境Appium自动化测试环境搭建

  • 众里寻他千百度—Appium Android 元素定位方式

  • Android自动化测试设备弹窗处理

  • Appium iOS 元素定位与操作

  • Ubuntu+Docker+STF环境搭建

  • Anyproxy抓包代理安装使用

  • Python自动化日志收集

  • Android 测试工具——Monkeyrunner API

07fb2b441c14fdcf66fdc5a1302f74b6.png

关注公众号,更多干货秒得到

更多推荐