jmeter脚本开发:Beanshell(八)

摘要:
I Beanshell介绍了一个小型、免费、可嵌入的Java源代码解释器,它执行Java语法和表达式。比恩谢尔效率不高。官方推荐:JSR233+Groovy,它可以大大提高性能并减少资源消耗。Beansell可以做些什么来引入自己的jar、实现增强的函数、引入jmeter自己的jar,用扩展函数编写java代码,并实现自己的逻辑函数来跨线程组传递值
一. Beanshell介绍

一个小型的、免费、可嵌入java源解释器

执行java语法和表达式

Beanshell运行效率不高,官方推荐:JSR233 + Groovy,可以大大提高性能,减少资源消耗

二. Beanshell能干什么

引入自己的jar,实现增强功能

引入jmeter本身jar,扩展功能

写java代码,实现自己的逻辑功能

跨线程组传值

三. Beanshell组成
元件名称
Beanshell SamplerBeanshell取样器
Beanshell AssertionBeanshell断言
Beanshell PreprocessorBeanshell前置处理器
Beanshell PostprocessorBeanshell后置处理器
Beanshell TimerBeanshell计时器
Beanshell ListenerBeanshell监听器
四. Beanshell内置变量
变量用途
log写入信息到控制台帮助调试,log.info()
vars操作变量,生成/更新/获取当前脚本的变量:vars.get(),vars.put()
prev获取当前请求的结果:prev.get()
props获取jmeter属性,生成/更新/获取当前脚本的jmeter属性:props.get(),props.put()
ctx获取当前线程的上下文
SampleResult获取SampleResult对象
Response获取Response对象
Failure查看是否成功,false是成功,true失败
FailureMessage失败信息,set设置失败信息
ResponseData获取response body
ResponseCode获取返回的code值
ResponseMessage获取返回的msg内容
ReponseHeaders获取服务器返回的头部信息
RequestHeaders获取用户端请求的头部信息
SamplerData获取请求的url和body
五. Beanshell使用方式

1. 单语句,比如赋值语句和log语句

2. 定义方法, 调用方法

3. 引入本地java代码文件

#加载源码文件
source("/Users/hailongchen/Documents/workspace/hailongchen/src/main/java/utils/PhoneNoGenerateUtil.java");
#调用源码程序(略)
#使用 beanshell 存/取 变量
vars.put();
vars.get();

4. 引入jar包

免责声明:文章转载自《jmeter脚本开发:Beanshell(八)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java中文乱码原因nvm的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

性能测试基本概念 聚合报告指标分析

一、基本概念 1.测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。 2.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划 ->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(...

jmeter之登录接口的一次简单压测与分析

前言:登录接口的一次简单压测与分析 1、接口文档 2、配置线程组  3、结果分析 1、接口文档 a.拿到接口文档 接口地址:http://localhost:8080/jpress/admin/login 返回格式:json 请求方式:post 请求参数说明: 返回状态码:200 返回结果: 登录成功: {: "message":"登陆成功",: "e...

Python自动化学习笔记(二)——Jmeter连接数据库、添加压力机、Charles抓包、Python初识

1.Jmeter连接Mysql数据库 1.1添加jar包 选中测试计划,添加jar包 也可以直接将jar包复制到jmeter的lib目录 1.2添加mysql连接信息 测试计划-配置元件-JDBC Connection Configuration,添加Mysql连接信息 Database URL:jdbc:mysql://ip:port/dbname?u...

jmeter循环读取数据库表中的数据

先创建一个jdbc请求 请求在结果树正确后,添加一个循环控制器,循环次数定义数据库表查询的数量 variables names设置为col,那么如下变量会被设置为:   col_#=2 (总行数)  col_1=第1列, 第1行  col_2=第1列, 第2行 添加一个计数器用来坐变量拼接 添加请求引用N,使用函数助手 查看结果 jdbc...

Jmeter 运行结果的csv文件生成报告

把运行结果保存到本地,下次可以直接用结果生成测试报告。 一、首先保证脚本能正常运行 二、本地创建csv文件,用来保存运行结果 三、察看结果树,选择本地文件(上一步创建好的csv文件),保存运行结果,如下图 四、结果CSV文件生成报告 1、选择生成报告入口,如下图 2、生成报告,步骤如下图 3、查看报告,如下图...

jmeter:BeanShell 预处理程序(引用java脚本,实现参数化)

这里以为本地的注册接口为例子: 如图:这个注册接口需要传2个参数,用户名和密码,用户名是唯一的,密码可以一样,需要对用户名进行参数化。 首先在jmeter里面添加BeanShell 预处理程序,如图: 这里需要编写java代码,对用户名实现参数化: 调试好以后,运行效果如图: 代码如下: package com.mg.java.study; imp...