当前位置: 首页 > news >正文

廊坊森纳特化工有限公司汕头seo托管

廊坊森纳特化工有限公司,汕头seo托管,承德网站建设步骤,网页制作与网站建设教程初识 Jmeter 中的 BeanShell 1.简介1.1 应用场景1.2 BeanShell 类型 2.常用内置变量2.1 log 日志模块2.2 vars 模块2.3 props 模块2.4 prev 模块 3.常见应用场景3.1 Java 文件处理3.2 导入外部 jar 包 BeanShell 是一个小型嵌入式 Java 源代码解释器,完全兼容 Java …

初识 Jmeter 中的 BeanShell

  • 1.简介
    • 1.1 应用场景
    • 1.2 BeanShell 类型
  • 2.常用内置变量
    • 2.1 log 日志模块
    • 2.2 vars 模块
    • 2.3 props 模块
    • 2.4 prev 模块
  • 3.常见应用场景
    • 3.1 Java 文件处理
    • 3.2 导入外部 jar 包

BeanShell 是一个小型嵌入式 Java 源代码解释器,完全兼容 Java 语法。同时 BeanShell 也支持 JavaScript 和 Python 的一些语法,可谓是一个精巧、集大成的小工具,本文我们就重点说说这个小工具能在 Jmeter 接口测试、压测过程中的一些用法。

1.简介

1.1 应用场景

  • 提供的 Java 语法,可以做复杂的逻辑或者业务场景的判断。
  • 可以引用开发编写好的 jar 包实现功能,需要借助【测试计划】模块的 jar 包导入功能。
  • 接口测试中处理关联数据。
  • 跨线程组共享变量。

1.2 BeanShell 类型

  • 采样器BeanShell Sampler):发送 BeanShell 请求。
  • 前置处理器BeanShell PreProcessor):提前处理请求参数,如:图片处理,加密解密、日期处理等。
  • 后置处理器BeanShell PostProcessor):可以对请求完成后的响应数据的处理,实现接口关联、数据加密处理、解决乱码、中文显示等。
  • 定时器BeanShell Timer):定时器会让作用域内的每一个采样器都在执行前等待一个固定的时长。
  • 断言Beanshell Assertion):验证返回结果的正确性。
  • 监听器BeanShell Listener):监听器用来监听及显示 JMeter 取样器测试结果,能够以树、表及图形形式显示测试结果,也可以以文件方式保存测试结果。

2.常用内置变量

在这里插入图片描述

2.1 log 日志模块

提供不同等级的日志信息输出。

log.info("这是我的第一个beanshell脚本");
log.error("这是一条报错的日志");

2.2 vars 模块

全称为 JmeterVariables,表示 Jmeter 变量,vars 的变量作用域 在同一线程组,不可跨线程组

  • vars.get(String key):从 Jmeter 中获得变量值。
  • vars.put(String key,String value):数据输出到 Jmeter 变量中。
// 先获取 token 值,java 语法
String aa = vars.get("token");// 在 aa 的前面添加 Token 前缀
String token1 = "Token" + aa;
log.info(token1);//将拼接后的数据再写回到 jmeter 变量中
vars.put("token",token1);

2.3 props 模块

操作 Jmeter 属性,该变量引用了 Jmeter 的配置信息,可获取 Jmeter 属性,使用方法与 vars 类似,这个全局变量是可以跨线程组的

// 添加变量,非临时的,只要添加进去,就保存下来,一直有
props.put("name","value");
// 删除变量
props.remove("name");
// 获得一个变量
props.get(key); 

2.4 prev 模块

获取当前 Sample 返回响应信息,常用如下:

// 获取到第一个接口的返回码和返回数据
log.info(prev.getResponseCode())
log.info(prev.getResponseDataAsString())
  • getThreadName:获取线程名
log.error("getThreadName: " + prev.getThreadName());
  • getRequestHeaders:获取请求头
log.error("getRequestHeaders: " + prev.getRequestHeaders());
  • getUrlAsString:获取 URL 并转为 String
log.error("getUrlAsString: " + prev.getUrlAsString());
  • getSamplerData:获取 Sample 数据
log.error("getSampleData: " + prev.getSamplerData());
  • getSampleLabel:获取 Sample 名称
log.error("getSampleLabel: " + prev.getSampleLabel());
  • getResponseCode:获取响应码
log.error("getResponseCode: " + prev.getResponseCode());
  • getResponseHeaders:获取响应头
log.error("getResponseHeaders: " + prev.getResponseHeaders());
  • getResponseMessage:获取响应信息
log.error("getResponseMessage: " + prev.getResponseMessage());
  • getResponseDataAsString:获取响应数据并转为字符串
log.error("getResponseDataAsString: " + prev.getResponseDataAsString());

在这里插入图片描述

3.常见应用场景

3.1 Java 文件处理

BeanShell 是可以使用 source() 方法直接导入外部的 Java 文件,并进行直接编程的。

// 导入本地 java 文件,注意使用 \\
source("E:\\3-Learning\\22-BK2301\\javademo\\mianxiangduixiang\\Student.java");// 直接调用 java 文件中的类生成对象,并且通过这个对象调用里面的方法
Student s = new Student();
String id = s.id;
log.error("student对象s的id属性值为:"+id);

在这里插入图片描述

3.2 导入外部 jar 包

从测试计划模块直接导入外部开发完成的 jar 包,即可导入、使用其中的类和方法。

  • 添加 ToImage.jar
  • 添加 sun.misc.BASE64Decoder.jar
  • 定义一个变量 code,用于中转存储验证码数据

在这里插入图片描述

BeanShell 中即可直接导入使用:

import com.qf.ToImage;// 先将图像文件读入到此处,转为 base64
String aaa = ToImage.GetImageStr("E:/1.png");
System.out.println(aaa);// 使用 put 方法将加密的图片数据输出到 code 变量(测试计划中定义)中
vars.put("code",aaa);

在这里插入图片描述
补充:也可以将 jar 文件放到 jmeter/lib/ext 目录下,重启 Jmeter 后,即可使用 import 调用 jar 包内的方法。

http://www.tj-hxxt.cn/news/12186.html

相关文章:

  • 个人备案网站建设方案书谷歌网址
  • 学做网站论坛VIP怎么样手机百度账号登录入口
  • 仙居网站开发aso如何优化
  • 九江哪里做网站网络营销专业课程
  • 北京品牌高端网站建设公司微信营销案例
  • js音乐网站模板域名注册查询官网
  • 做家电家具回收用哪个网站好业务推广方式
  • minisite网站案例google搜索首页
  • 顺企网宁波网站建设360排名检测
  • 美国的网站域名是什么永久免费客服系统有哪些软件
  • 电商网站开发的背景及意义aso网站
  • 人人车网站建设费用百度广告代理
  • 微网站建设完不知道怎么推广咋办流量宝官网
  • 模拟网站建设软件做网站需要什么技术
  • 服务器网站建设实训报告网站的seo
  • 先建网站还是先做网页快排seo排名软件
  • 新疆网站建设软文写作范例大全
  • 龙江建站技术搜索引擎的优化方法有哪些
  • 做视频网站容易收录吗江西seo
  • 商业网站的特点百度快照优化公司
  • 网站页面结构seo职业培训学校
  • 口碑好的高密网站建设网络营销推广方式包括
  • 公司管理软件有哪些白帽seo公司
  • 宝鸡网站建设公司都有哪些百度电话号码查询平台
  • 做旅游网站的原因搜索软件
  • 免费素材网站视频安徽网络seo
  • k歌里的相片是通过网站做的吗发布广告的平台免费
  • 锦州网站建设最低价产品软文范例软文
  • 密云城市建设官方网站百度搜索引擎广告位的投放
  • 怎么做网站vip并且收费阿里云域名查询