jmeter beanshell

摘抄自CSDN:https://blog.csdn.net/Trival_dreamy/article/details/90672328

一。jmeter常用内置变量

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

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

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

2、prev - (SampleResult):获取前面的sample返回的信息,常用方法:

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

    b) getResponseCode() :获取响应code

3、log:写入信息到jmeber.log文件,使用方法:log.info(“This is log info!”);

4、如何查看log,点击jmeter工具右上方三角形按钮

下面窗口就可以展示出log信息了

二。beanshell postprocessor

可以提取前面sampler的response,进一步提取相应字段,比对预期值与实际值

添加一个debug sampler来查看结果,如下图,result就是上面一个sampler返回的response

三。beanshell sampler

a、bean shell可以接受传入参数,如下图

  b、参数可以通过bsh.args[]按顺序提取

  c、bean shell提供了一个内置变量Parameters,来保存参数的集合

d。ResponseCode,ResponseMessage可以用来设置响应码和响应结果

e。Label可以用来打印运行的sampler名称

————————————————
版权声明:本文为CSDN博主「Trival_dream」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Trival_dreamy/article/details/90672328

原文地址:https://www.cnblogs.com/yaobiluo/p/12144091.html

时间: 2024-08-02 13:07:57

jmeter beanshell的相关文章

Testing Complex Logic with JMeter Beanshell

BeanShell是最先进的JMeter内置组件之一.JMeter具有丰富的内置插件,可满足性能测试的许多需求.例如,在编写一些复杂的测试时,您可能需要一些额外的脚本.在这种情况下,值得使用Beanshell.在这篇文章中,我们将讨论使用JMeter Beanshell和常见用例测试复杂逻辑.Beanshell具有运行Java代码的功能,并且可以访问JMeter API和在JMeter类路径中加载的外部类. JMeter具有以下启用Beanshell的组件: Beanshell采样器. Bean

JMeter BeanShell示例

翻译:https://blog.trigent.com/jmeter-blog-series-jmeter-beanshell-example 在这个例子中,我们将演示在Apache JMeter中使用BeanShell组件.我们将使用BeanShell脚本语言编写一个简单的测试用例.这些脚本将成为我们将为此示例配置的BeanShell组件的一部分.在我们看看不同BeanShell组件的用法之前,让我们来看看这个概念. 1.简介 Apache JMeter是一个基于Java的开源工具,使您可以对

JMeter博客系列:JMeter BeanShell示例

1.简介 Apache JMeter是一个基于Java的开源工具,使您可以在应用程序上执行功能,负载,性能和回归测试.应用程序可以在Web服务器上运行,也可以是独立的.它支持在包含静态和动态资源的客户端 - 服务器和Web模型上进行测试.它支持各种用于进行测试的协议,包括HTTP,HTTPS,JDBC,FTP,JMS,LDAP,SOAP等. 快速浏览一些功能: 它提供了一个全面的基于GUI的工作台来玩测试.它还允许您在非GUI模式下工作.JMeter也可以移植到服务器上,允许在分布式环境中执行测

Jmeter BeanShell笔记

前言:beanshell是支持java语法的,因此当一些复杂的数据结构jmeter处理不了的时候,我们可以借助于java来实现 1,使用beanshell处理JDBC请求返回的值 数据库结构 当JDBC的请求如图所示的时,则 col_#=2 (总行数) col_1=第1列, 第1行 col_2=第1列, 第2行 如果sql语句 变成了SELECT id,name from stu_sex,Variable names被设置成了:col1,col2,那么 col1_#=2 (总行数)      

Jmeter beanshell 生成手机号加密签名

首先自己写一个根据手机号生成加密字符串的函数,并且导出为Jar包,函数具体内容省略,网上有很多 将Jar包放到Jmeter lib\ext目录下面,然后在user.properties里面把路径加进去 创建一个BeanShell PreProcessor,这是一个前置的beanshell,会在我发request前把我需要的mobile还有签名生成好 具体结构如图: 我的request的body data如下: { "mobile":"${mobile}", &quo

jmeter beanShell修改http请求参数

在使用jmeter进行测试时,需要对上一步响应的明文参数,如userName='tom' token='%sdf%sdkdfj'之类的参数,加密一下,才能进行下一步http请求, 涉及三个问题 1.加密要引入自定义的加密函数 2.要可以拿到第一次http的响应 3.第二次http请求前,要动态构建参数 1.引入加密函数 2.在beanShell里拿上一次请求的响应 在第一个请求里 添加,后置处理器 建一个BeanShell Post Processor //拿到响应值 String json =

Jmeter BeanShell简单应用(一)

java代码实现如下: package Encrypt; public class FirstTry {    String result = "";    public String getResult() {        return this.result;    }        public void setResult(String str) {        this.result = str + "test success";    }      

Jmeter BeanShell PostProcessor提取json数据

需求:提取sample返回json数据中所有name字段值,返回的json格式如下: {"body":{"apps":[{"name":"111"},{"name":"222"}]}} jmeter中添加后置处理器BeanShell PostProcessor   import org.json.*; String response_data = prev.getResponseData

jmeter beanshell Typed variable declaration : Object constructor错误

从数据库取值和响应值做比较,使用beanshell如下: import org.json.JSONArray; import org.json.JSONObject; res_str = prev.getResponseDataAsString(); JSONObject res_json_obj = new JSONObject(res_str); JSONArray dbd_json_array = new JSONArray("${dbd}"); // 数据库转json JSON

Jmeter BeanShell断言

这篇文章用来记录编写beanshell断言遇到得问题. 问题1:JSONObject not found in namespace 流程:在beanshell下写代码如下: 1 String response_data = prev.getResponseDataAsString(); 2 JSONObject data_obj = new JSONObject(response_data); 3 4 String current_page = data_obj.get("data")