返回顶部
首页 > 资讯 > 后端开发 > Python >详解Jmeter中的BeanShell脚本
  • 433
分享到

详解Jmeter中的BeanShell脚本

2024-04-02 19:04:59 433人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

在利用jmeter进行接口测试或者性能测试的时候,我们需要处理一些复杂的请求,此时就需要利用beanshell脚本了,BeanShell是一种完全符合Java语法规范的脚本语言,并且

在利用jmeter进行接口测试或者性能测试的时候,我们需要处理一些复杂的请求,此时就需要利用beanshell脚本了,BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法,所以它和java是可以无缝衔接的。beanshell由于内置了一些特有的变量,没法在一些集成代码工具上去调试。

学了Java的一些基本语法后,就可以来在Jmeter中写写BeanShell脚本了。

直接在线程组下创建一个BeanShell取样器,然后在脚本区写java代码:

写了个循环,执行后在这里看不到,要在jmeter.bat的windows批处理里看到:

JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互:

1、log:写入信息到jmeter.log文件,使用方法:log.info(“hahahahahahah”);

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

    a) vars.get(String key):从jmeter中获得变量值

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

添加日志查看:

使用vars:

在线程组2里面去访问vars变量,输出null,可见vars确实是个局部变量:

3、props:操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。

props的全局性:

4、prev:获取前面的sample返回的信息,常用方法:

    a)getResponseDataAsString(): 获取响应信息;

    b) getResponseCode(): 获取响应代码;

先发个接口请求,然后prev获取返回信息:

自定义函数:使用Java自定义函数来处理特定的逻辑,结合BeanShell的内置对象进行变量的存取,提高脚本的灵活性。

写了个自定义的静态函数,实现的是整数的累加:

发现报错,原来是函数的返回值是int类型的,而log.info()里面要的是String。这里把int类型的result转换为string有三种方法:
1、String.valueOf(result)

2、Integer.toString(result)

3、result+""

任选一个即可。

引用外部java文件:在BeanShell中通过source("代码路径")方法引入Java文件,然后调用方法和java一样,new一个对象,通过

对象调用里面的方法。

写个静态方法,保存为Test.java文件,放在D盘下:

然后在BeanShell里引用Test.java,调用函数,传参100,日志输出:

引用外部jar

首先打包:

1、把当前的Test作为运行文件,先运行一遍。

2、右键项目名--Export--Runnable JAR file.

3、在Launch找到运行文件,放到jmeter安装目录下lib/ext下。

4、在Jmeter的BeanShell里导包,调用方法。

这里我运行报错了,说方法找不到,摸索良久后尝试在测试计划里添加一下jar包,结果成功了。

到此这篇关于Jmeter中的BeanShell脚本的文章就介绍到这了,更多相关Jmeter BeanShell脚本内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Jmeter中的BeanShell脚本

本文链接: https://lsjlt.com/news/160168.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Jmeter中的BeanShell脚本
    在利用jmeter进行接口测试或者性能测试的时候,我们需要处理一些复杂的请求,此时就需要利用beanshell脚本了,BeanShell是一种完全符合Java语法规范的脚本语言,并且...
    99+
    2024-04-02
  • Jmeter中的BeanShell脚本怎么用
    小编给大家分享一下Jmeter中的BeanShell脚本怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在利用jmeter进行接口测试或者性能测试的时候,我们...
    99+
    2023-06-22
  • Jmeter中怎么使用BeanShell脚本
    在JMeter中使用BeanShell脚本,可以通过以下步骤实现:1. 在测试计划中添加一个"BeanShell Sampler"元...
    99+
    2023-08-15
    Jmeter BeanShell
  • Jmeter如何使用BeanShell取样器调用Python脚本
    1、在线程组中按以下方式添加【BeanShell取样器】: 2、把以下这段代码放到【BeanShell取样器】的脚本区域:  注意点: (1)命令里的Python脚本路径...
    99+
    2024-04-02
  • Jmeter BeanShell 内置变量vars、props、prev的使用详解
    目录varsgetThreadNamegetIterationputgetputObjectgetObjectremovepropsvars跟props的区别getPropertyg...
    99+
    2024-04-02
  • jmeter执行python脚本的实现示例
    目录概要一、环境准备1. 测试工具2. 测试资源二、实现过程1. 在jmeter中设置参数2. 通过jmeter修改py模板3. 通过jmeter执行py脚本4. 使用获得的输出信息...
    99+
    2024-04-02
  • 在jmeter的beanshell中用java获取系统当前时间的简单实例
    复制代码 代码如下:import java.util.*; int y,m,d,h,mi,s;     Calendar cal=Calend...
    99+
    2022-11-15
    java jmeter 当前时间
  • Shell 脚本详解
    简介 shell :蛋、壳。shell脚本是在操作系统外,可以直接调用系统内核命令的一个脚本语言。 shell脚本可以分为两大类组成: 1.命令行 (系统命令行)2.脚本语法 (编程语言的基本语法) 命令行:可以直接和系统内核进行交换使用 ...
    99+
    2023-08-19
    linux bash 服务器
  • Jmeter并发执行Python 脚本的完整流程
    目录1. 前言2. Python 实现文件上传2-1获取文件信息及切片数目2-2切片及分段上传2-3合并文件2-4文件路径参数化3. Jmeter 并发执行4. 最后本篇文章以文件上...
    99+
    2024-04-02
  • 详解bash中的脚本调试机制
    以调试模式运行脚本 通过bash -x <script>的方式可以在调试模式下运行整个脚本, bash会在在运行前打印出了每一行命令, 而且每行前面用+号表明命令的嵌套层数. > bash -x ...
    99+
    2022-06-04
    bash 脚本调试
  • linux shell脚本详解
    shell 1. 基础 # shell的执行方式:- 路径方式 :必须赋予权限- source 立即执行,不需要权限- bash 执行新建一个文件,扩展名为sh(sh代表shell),输入一些代码:...
    99+
    2023-09-08
    linux bash 运维
  • 详解Shell脚本中调用另一个Shell脚本的三种方式
    主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell ...
    99+
    2022-06-04
    Shell调用Shell脚本 调用Shell脚本
  • shell脚本中的正则表达式详解
    正则表达式的概念及特点:   正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”, 这个“规则字符串”用来表达对字符...
    99+
    2024-04-02
  • shell脚本--sed的用法详解
    sed在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。 sed是linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵...
    99+
    2022-06-04
    shell --sed
  • 详解JavaScript常用的Hook脚本
    本文Hook脚本 来自 包子 页面最早加载代码Hook时机 在source里 用dom事件断点的script断点然后刷新网页,就会断在第一个js标签,这时候就可以注入代码进行hook...
    99+
    2024-04-02
  • Shell脚本的超详细讲解
    Shell脚本是一种文本文件,包含了一系列的命令和控制结构,用于在Unix或类Unix操作系统上执行一系列的任务。下面是Shell脚...
    99+
    2023-08-16
    Shell
  • 详解Shell 脚本中 “$” 符号的多种用法
    通常情况下,在工作中用的最多的有如下几项: $0:Shell 的命令本身 1到9:表示 Shell 的第几个参数 $? :显示最后命令的执行情况 $#:传递到脚本的参数个数 $$:脚本运行的...
    99+
    2022-06-04
    Shell $
  • 详解Shell脚本中^M的问题和解决方案
    目录^M 是什么?本质原因常用工具在开发过程中,有时候不小心将Windows本地创建的shell脚本(以 .sh 结尾的脚本),传到linux系统中,通过 vi或者view命令查看文件时,发现在末尾发现出现了很多^M字符...
    99+
    2022-06-05
    Shell^M问题 Shell^M
  • 详解shell脚本的编写规范
    编写shell脚本的一些规范 解释器 shell脚本一般选择bash作为解释器,脚本开头应为 #!/bin/bash 或 #!/bin/sh 添加脚本版本和注释功能 在脚本的开头加注释,说明脚本作者、编写时间、脚本...
    99+
    2022-06-04
    shell脚本编写规范 shell脚本规范
  • 详解shell脚本[] [[]] -n -z 的含义解析
    在写脚本的时候,总是搞不懂[] [[]]的区别,这次写一个总结,把它掌握牢固 []和test 两者是一样的,在命令行里test expr和[ expr ]的效果相同。 test的三个基本作用是判断文件、判断字符串、判断整...
    99+
    2022-06-04
    shell [] [[]] -n -z shell [] [[]]
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作