2024年全网最全的Jmeter教程:jmeter_BeanShell脚本通过BeanShell进行加解密方法

 

BeanShell脚本

BeanShell简介:

BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些 语法和方法;

BeanShell是一种松散类型的脚本语言;

BeanShell是用Java写成的,一个小型的、免费的、可以下载、嵌入式的 Java源代码解释器,具有对象脚本的特性;

BeanShell可以执行标准Java语句和表达式,以及另外自身的一些脚本命令 和语法。

Jmeter中的BeanShell组件

定时器:BeanShell Timer
前置处理器:BeanShell PreProcessor
采样器:BeanShell Sampler
后置处理器:BeanShell PostProcessor
断言:BeanShell Assert
监听器:BeanShell Listener

BeanShell常用内置变量

log:写入信息到jmeter.log,使用方法:log.info(“hello,world”),也可以在 jmeter gui上看到打印的信息。

注意:如果想在jmeter工具中看到打印的日志;点击jmeter——选项——日志查看

示例:

vars:操作jmeter变量,这个变量实际上引用了Jmeter线程中的局部变量容器 (本质是map),测试用例可以通过它获取到变量的值

1、vars.get(String key),从jmeter中获得变量值

示例:

2、vars.put(String key, String value),数据存到jmeter变量中

示例:

 

props:该变量引用jmeter的配置信息,可以获取jmeter的属性(jmeter属性为全局变量),用法如下:
1、props.get(String key) 获取jmeter.properties中的属性值

2、props.put(String key, String value) 设置jmeter.properties中的属性值(不常用,且没必要,因为不会实际调整文件内的值)

 

prev(对应SampleResult):获取前面Sampler返回的信息,常用方法:
1、getResponseDataAsString(),获取响应信息
2、getResponseCode(),获取响应Code
3、getResponseMessage(),获取响应信息

示例:

 自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

BeanShell 调用java源码

方式一、通过 beanshell sampler 直接执行 Java 编码

示例:

 方法二:引入外部 Java 源码文件

外部java文件内容如下:

beanshell引入代码如下

 方法三:引入外部class文件

注意事项:
1、class_path可以不是绝对上级路径,只需要包含.class文件即可
如 /Users/xiaoming/workspace/demo139/
2、class_path一般不能包含包名对应的目录路径
如 /Users/xiaoming/workspace/demo139/bin/com/test
否则可能会报错
Error invoking bsh method: eval CreateFile (wrong name: ***/***)

方法四:引入外部jar包(推荐常用)

1、在eclipse\IDEA中把所需的java文件打包成jar文件,比如Calc.jar
2、方式一:把Calc.jar文件放置到JMeter安装目录->lib目录下
   方式二:在测试计划界面的添加目录或jar包到classpath处点击浏览,找到对应的jar包加载进去
4、直接在beanshell中导入应用即可(如果执行错误,把jmeter重启一下)

方式一的示图:

 方式二的示图:

beanshell企业实战

备注:在上一家公司的经历,一个web网站,密码进行加密传输,通过和开发沟通了解到密码是通过MD5加密的,开发人员对密码加密的逻辑是MD5加密后的字符串的前后各加三个任意字符,后台只对前后三个任意字符的中间字符串进行解密,来达到密码加密的逻辑;所以遇到密码加密的情况,需要和开发沟通了解加密的逻辑是怎么样的,才能做接口自动化测试;(或者偷懒的方式通过手动登录获取token,把token放到header里面)

1、从开发处获取jar包,先在eclipse中使用jar包检查每一个小功能(咨询开发·加解密函数名称以及如何传参)。

非对称加密的jar包地址:

链接:https://pan.baidu.com/s/1AANpGTJbcUX4bhhMkwPNKA
提取码:ztut

2、把jar包导入到jmeter(一般通过测试计划导入jar包)

3、导入jar包后在beanshell中编写代码测试是否可以把图中的"123456"进行加密;

 4、查看日志;日志中指定的值进行的加密,说明代码测试成功

5、在beanshell中一般使用: 调用jar包时一般和 vars.get,vars.put结合使用,在下面的请求中·使用$变量名1},${变量名2}

 通过察看结果树中的调试取样器可看到加密后的值;如下图:

 

 总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/167748.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信息机房监控系统(动环辅助监控系统)

信息机房监控系统是一个综合性的系统,用于对机房的所有设备及其环境进行集中监控和管理。这种系统主要针对机房的各个子系统进行监控,包括动力系统、环境系统、消防系统、保安系统、网络系统等。 依托电易云-智慧电力物联网,以下是信息机房监…

外卖小程序系统:数字化时代餐饮业的技术奇迹

在当今数字化时代,外卖小程序系统正以其强大的技术背后支持,成为餐饮业务的一项奇迹。这个系统不仅提供了便捷的点餐体验,更通过先进的技术手段,实现了高效订单处理、智能推荐以及实时配送追踪。下面,我们将深入探讨外…

Java 开源重试类 guava-retrying 使用案例

使用背景 需要重复尝试执行某些动作&#xff0c;guava-retrying 提供了成型的重试框架 依赖 <dependency><groupId>com.github.rholder</groupId><artifactId>guava-retrying</artifactId><version>${retrying.version}</version>…

如何在Linux以docker-compose方式快速部署运行StackEdit,并实现公网访问

文章目录 1. docker部署Stackedit2. 本地访问3. Linux 安装cpolar4. 配置Stackedit公网访问地址5. 公网远程访问Stackedit6. 固定Stackedit公网地址 StackEdit是一个受欢迎的Markdown编辑器&#xff0c;在GitHub上拥有20.7k Star&#xff01;&#xff0c;它支持将Markdown笔记保…

考情实况系列:把控考场节奏,从容拿下Datacom HCIE认证

大家好&#xff0c;我是誉天的数通学员&#xff0c;前段时间刚刚通过了HCIE认证考试&#xff0c;这里给大家分享一下我的考试经验与心得&#xff0c;希望对大家有所帮助。 我预约的是11月3日的杭州考场&#xff0c;考试前一天我就到了杭州&#xff0c;在中医药大学地铁站边上的…

C# Onnx DIS高精度图像二类分割

目录 介绍 效果 模型信息 项目 代码 下载 介绍 github地址&#xff1a;https://github.com/xuebinqin/DIS This is the repo for our new project Highly Accurate Dichotomous Image Segmentation 对应的paper是ECCV2022的一篇文章《Highly Accurate Dichotomous Imag…

5.1异常处理

5.1异常处理 1. 什么是异常2. 异常分类2.1 Error2.2 Exception 3. 异常处理3.1 try-catch-finally终止finally执行的方法return关键字在异常处理的作用 1. 什么是异常 2. 异常分类 2.1 Error 2.2 Exception 2.2.1 非检查异常 2.2.2 检查异常 3. 异常处理 3.1 try-catch-fina…

位实现加减乘除专题

位实现加减乘除专题 在计算机中&#xff0c;位运算的效率比加减乘数效率更高&#xff0c;因此在高性能软件的源码中大量应用&#xff0c;而且计算机里各种运算本质上都是位运算。本专题我们就研究几个相关问题。 两整数之和 题目 : LeetCode 371.两整数之和 : 371. 两整数…

计算一个6人的队形问题

有6个人在操场上排队 3a2 0 1 0 3a3 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 有3个人希望队形有3a2的结构&#xff0c;另外还有3个人希望队形有3a3的结构&#xff0c;现在让这6个人排成一个队&#xff0c;最终的队形是什么&a…

无菌药品生产(A级区域)--气流流型测试可视化烟雾试验详细介绍

技术背景 无菌药品是指法定药品标准中列有无菌检测项目的制剂和原料药&#xff0c;包括注射剂、眼用制剂、无菌软膏剂、无菌混悬剂等。目前工程中&#xff0c;以注射剂产品为主的厂房占据了很大的比重。 无菌药品生产质量风险管理中&#xff0c;人员及其活动被视为重大的污染…

智能配电箱柜管理系统

智能配电箱柜管理系统是一个综合性的管理系统&#xff0c;专门设计用于监控和控制智能配电箱和柜的运行。这个系统集成了先进的技术和智能化功能&#xff0c;以确保配电系统的正常运行并提高其效率。依托电易云-智慧电力物联网&#xff0c;以下是智能配电箱柜管理系统的主要特点…

『开源资讯』JimuReport 积木报表 v1.6.5 版本发布 — 免费报表工具

项目介绍 一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报…

mysql无法访问故障排除步骤

总体是排查步骤 如果您使用telnet测试连接到MySQL服务器的IP地址和端口时遇到问题&#xff0c;有几个步骤可以帮助您进行故障排除&#xff1a; 确认MySQL服务器是否正在运行&#xff1a; 确保MySQL服务器在182.244.5.73上正在运行。检查MySQL服务器的日志文件以查看是否有任何…

简单好用的轻量级思维导图:ClickCharts 激活for mac

ClickCharts是一款流程图和流程图绘制软件&#xff0c;它提供了直观的界面和丰富的工具&#xff0c;帮助用户轻松创建和编辑各种类型的图表和流程图。 以下是ClickCharts软件的一些主要功能和特点&#xff1a; 流程图绘制&#xff1a;ClickCharts允许用户创建各种类型的流程图…

【C++】pow函数实现的伽马变换详解和示例

本文通过原理和示例对伽马变换进行详解&#xff0c;并通过改变变换系数展示不同的效果&#xff0c;以帮助大家理解和使用。 原理 伽马变换是一种用于图像增强的技术&#xff0c;它可以用来提高或降低图像的对比度&#xff0c;常用于医学图像处理和计算机视觉等领域。伽马变换…

家电电器展示预约小程序的作用是什么

电器产品已经成为人们生活的必备品&#xff0c;如冰箱、电视机、洗衣机等&#xff0c;而这些产品的购买方式也很多&#xff0c;可以到线下门店购买&#xff0c;也可以到线上多个电商平台购买&#xff0c;如今互联网高速发展以及民众享受线上服务带来的便捷性&#xff0c;同时商…

软件测试入门很容易,但想要深造就还是要费功夫

现如今&#xff0c;越来越多的外行人员开始转战到软件测试岗位&#xff0c;而这也让许多不了解软件测试人疑惑“软件测试有那么好学吗&#xff1f;为什么都开始转行到软件测试呢&#xff1f;” 而关于这两个问题的答案&#xff0c;作者在以下为大家进行了讲解&#xff0c;希望…

如何将文字、图片、视频、链接等内容生成一个二维码?

通过二维彩虹的【H5编辑】功能&#xff0c;就可以将文字、图片、视频、文件、链接等多种格式的内容编辑在一个页面&#xff0c;然后生成一个自定义的二维码——H5编辑二维码。扫描后&#xff0c;即可查看二维码中的详细图文视频等内容了。这个功能大受欢迎&#xff01; 这个H5…

负载均衡简介

负载均衡 负载均衡&#xff08;Load Balance&#xff0c;简称 LB&#xff09;是高并发、高可用系统必不可少的关键组件&#xff0c;目标是 尽力将网络流量平均分发到多个服务器上&#xff0c;以提高系统整体的响应速度和可用性。 负载均衡的分类和OSI模型息息相关&#xff0c…

工程项目立项需要做哪些准备?

工程项目立项是一个复杂的过程&#xff0c;需要进行多方面的准备工作。这些准备工作对于项目的顺利进行至关重要&#xff0c;下面将详细介绍工程项目立项需要做哪些准备。 一、项目前期调研 在进行工程项目立项之前&#xff0c;需要进行充分的前期调研。这个阶段的主要目的是了…