首页 > 系统相关 >jmeter之仅一次控制器、If控制器、前置处理器beanshell、后置处理器beanshell

jmeter之仅一次控制器、If控制器、前置处理器beanshell、后置处理器beanshell

时间:2023-04-23 13:33:33浏览次数:40  
标签:info 控制器 log vars get String beanshell prev 处理器


1、仅一次控制器

作用是把请求放到仅一次里面的时候,不管循环数写几次,放到仅一次控制器里的请求都只跑一次,大部分用在登录,一般就登录一次就可以了,还有jdbc连接 也是连接一次就可以了,不用重复连接。

2、If控制器

如果(If)控制器,if控制器如果里面的条件不满足,是不执行里面的请求的,看用户自定义变量里的定义的methodName 的值是 
"${methodName}".equals("post")
${__BeanShell(vars.get("run").equals("1"))}
3.0以后版本用beanshell 中vars.put(“run”,“f”); debugsample 响应数据中看不到输出值。

3、前置处理器

与后置处理器一样

4、后置处理器

在bean shell中通过source("代码路径")方法引入java,然后调用方法和java一样,new一个class,再调用里面的add 方法。
4.1log:写入信息到jmeber.log文件,使用方法:log.info(“This is log info!”);

4.2ctx:该变量引用了当前线程的上下文,几乎不用

4.3vars - (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法: 最常用的一个
a) vars.get(String key):从jmeter中获得变量值
b) vars.put(String key,String value):数据存到jmeter变量中
beanshell 里面定义的值,引用比在用户自定义里面引用级别高 验证一下

4.4props - (JMeterProperties - class java.util.Properties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。  作用不是很大
a) props.get("START.HMS");  注:START.HMS为属性名,在文件jmeter.properties中定义 
b) props.put("PROP1","1234")

4.5 prev - (SampleResult):获取前面的sample返回的信息,常用方法:
getResponseDataAsString():获取响应信息
getResponseCode() :获取响应code
prev.setResponseCode("798");
prev.setSuccessful(false);
prev.setResponseMessage("预期结果和实际结果不同");
prev.setResponseData("123312123");
sampler - (Sampler):gives access to the current sampler

List results = vars.getObject("resultList");
//把结果遍历
for(Object o : results){
	//遍历结果强制转成map              
	Map map = (Map)o;
	//用map里的keySet 遍历 ,get 取值
	for (Object k : map.keySet()){
		log.info(k+":"+map.get(k));
	}
}
String enconding = vars.get("ip");
log.info("enconding:::::::::::"+enconding);
vars.put("run","f");

String output_format = props.get("jmeter.save.saveservice.output_format");
log.info("output_format::::"+output_format);




String responseData = prev.getResponseDataAsString();
String code = prev.getResponseCode();
log.info("responseData:::::"+responseData);
log.info("code:::::::"+code);

//源码里定义的code是String,状态码自定义 数字,结果可以在后置处理器人为干预
//prev.setResponseCode("798");
//prev.setSuccessful(false);
//prev.setResponseMessage("预期结果和实际结果不一致");
//setResponseData("122222222222");
//正在表达式里的值,跟顺序有关系, 正则提取的在上面,里面的引用名称,取他的值做校验用
log.info("myname::::::"+vars.get("myname"));













标签:info,控制器,log,vars,get,String,beanshell,prev,处理器
From: https://blog.51cto.com/u_16084838/6217464

相关文章

  • 汽车安全系统基础芯片(SBC)系列产品MFS2630AMDA0AD可适应其他面向汽车电气化的微控制
    MFS2630AMDA0ADFS26是汽车安全系统基础芯片(SBC)系列产品,具有多电源,支持入门级和中档安全微控制器(如S32K3系列),同时保持了灵活性,可适应其他面向汽车电气化的微控制器,如动力系统、底盘、功能安全和低端网关应用。FS26具有多个开关式稳压器以及LDO稳压器,可为微控制器、传感器、外设......
  • 计组笔记:第五章 中央处理器
    第五章中央处理器【复习提示】中央处理器是计算机的中心,也是本书的难点。其中,数据通路的分析、指令执行阶段的节拍与控制信号的安排、流水线技术与性能分析易出综合题。而关于各种寄存器的特点、指令执行的各种周期与特点、控制器的相关概念、流水线的相关概念也极易出选择题......
  • java-动态模块添加注解处理器
    前言:最近接了个任务要在app中接入QQ小游戏sdk。因为该小游戏只是在国内不在googleplay发行,则需要做成动态模块的方式。步骤一、在工程中创建动态模块二、接入QQ小游戏sdk1、该sdk暂时不支持外部maven,则需要把对应的sdk拷贝到自己的目录下。2、将对应sdk的aar和jar拷贝到libs......
  • JMeter之ForEach控制器
    一、简介ForEach控制器一般和用户自定义变量或者正则表达式提取器一起配合使用,其在用户自定义变量或者从正则表达式提取器的结果中读取一系列相关的变量。该控制器下的取样器都会被执行一次或多次,每次读取不同的变量值。二、场景 有一组关键字变量【hello,python,测试】、使......
  • ABB工业控制器 UNITROL 1020 3BHE030579R0003 UNS0119A-Z,V1 3BHE030579R0001
    W;1  ⑧0③0①⑦77⑤  9ABBUNITROL10203BHE030579R0003 UNS0119A-Z,V13BHE030579R0001 DDC779BE023BHE006805R0002 XO08R21SBP260109R1001 PM866K013BSE050198R1 CI858K013BSE018135R1 PU515A3BSE032401R1 励磁控制系统的主要任务是向发电机......
  • 水电双计控制器,解决灌溉难题
    安科瑞虞佳豪工业农业的兴起带来了一系列创新,主要是出于必要。为了跟上不断增长的需求,大型农场需要调整它们的做法并采用新技术。现在,农民比以往任何时候都更需要采用有时不熟悉的设备来养活不断增长的人口,而不是依靠人力来完成日常任务。农业自动化或智能农业改变了农业。农民现......
  • 一、微处理器系统原理及应用开发
    一、数值与运算(熟悉即可)1、数值的表示方法1.1、所有数值的表示1.2、二进制数的表示方法2、数制之间的转换2.1、十进制转换二进制2.2、二进制与十六进制之间的转换3、算数运算4、逻辑运算二、二进制数字处理系统三、Cortex-M4内核......
  • m基于simulink的六自由度高超声速飞行器内外环飞行控制器设计与仿真实现
    1.算法仿真效果matlab2022a仿真结果如下:       2.算法涉及理论知识概要        高超声速飞行器是指飞行马赫数大于5的飞行器,它是一种近空间飞行器。“近空间”可简单理解为:现有飞机飞行的最高高度(约20Km)和卫星运行轨道的最低高度(约100Km)间的空域......
  • 基于FNN模糊神经网络的控制器解耦控制matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要系统的复杂性与所要求的精确性之间存在尖锐矛盾,为此,通过模拟人类学习和自适应能力,人们提出了智能控制的思想。控制理论专家Austrom(1991)在IFAC大会上指出:模糊逻辑控制、神经网络与专家控制是三种典型的智能控制......
  • 基于FNN模糊神经网络的控制器解耦控制matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要       系统的复杂性与所要求的精确性之间存在尖锐矛盾,为此,通过模拟人类学习和自适应能力,人们提出了智能控制的思想。控制理论专家Austrom(1991)在IFAC大会上指出:模糊逻辑控制、神经网络与专家控制是......