快递网站建设需求分析,电商首页设计思路,建标网,长治百姓网免费发布信息网目录
1. beanshell常用语法
1.1 log#xff1a;日志写入
1.2 vars#xff1a;设置和引用局部变量#xff08;同线程组#xff09;
1.3 props#xff1a;设置和引用全局变量#xff08;跨线程组#xff09;
1.4 prev#xff1a;获取前一个请求返回的信息
2. beans…目录
1. beanshell常用语法
1.1 log日志写入
1.2 vars设置和引用局部变量同线程组
1.3 props设置和引用全局变量跨线程组
1.4 prev获取前一个请求返回的信息
2. beanshell调用java代码
2.1 beanshell直接调用java文件针对单个文件
2.2 beanshell直接调用jar包
3. beanshell调用python代码
3.1 beanshell调用无参函数
3.2 beanshell调用有参数的函数 1. beanshell常用语法
1.1 log日志写入
log.info(测试); //打印字符串
log.info(123); //打印数字需要拼接一个字符串因为无法直接打印int
log.error(打印错误日志); //打印错误日志使用error
System.out.println(java打印) //java打印在控制台输出
输出结果
1.2 vars设置和引用局部变量同线程组
通过用户自定义变量赋值然后通过log.info(vars.get(key)); 的方式获取 通过提取器的方式获取需要的值 通过【vars.put(age,18); 】进行设置变量通过【log.info(vars.get(age));】获取变量。可以是不同的BeanShell 取样器也可以使用beanshell处理器进行 1.3 props设置和引用全局变量跨线程组
props.put(name,张三); //设置值
log.info(props.get(name)); //获取值--跨线程组 1.4 prev获取前一个请求返回的信息
log.info(prev.getResponseCode()); //获取上一个请求的响应码
log.info(prev.getResponseDataAsString()); //获取上一个请求的响应结果数据
2. beanshell调用java代码
2.1 beanshell直接调用java文件针对单个文件
java代码内容
package test;public class Test {public int add(int a,int b) {return ab;}}
调用方法
将java文件放入指定路径中然后通过beanshell调用文件路径调用java代码并传值输出
source(D:/study/course/Jmeter/Test.java); //通过source()引入java文件这里的路径需要转义
int result new Test().add(3,5); //创建一个对象并且调用它的方法
log.info(调用java打印结果为result); //打印
打印结果 2.2 beanshell直接调用jar包
在测试计划中引入jar包 调用方法 import test.Test; //导包
int result new Test().add(5,1); //创建一个对象并且调用它的方法
log.info(调用java打印结果为result); //打印
打印结果 3. beanshell调用python代码
3.1 beanshell调用无参函数
python代码内容
import randomdef get_random():rd str(random.randint(1,100))print(rd)if __name__ __main__:get_random()
调用方法
import java.io.BufferedReader; //导包
import java.io.InputStreamReader;String command cmd /c python D:/study/course/Jmeter/test.py; //组建cmd命令并执行py文件
Runtime rt Runtime.getRuntime(); //初始化一个运行时对象
Process pr rt.exec(command); //通过运行时对象运行cmd命令。pr.waitFor(); //运行时等待//调用pr进程对象获取到它的输入流。读取pr文件流的内容并且保存到reponse_data
BufferedReader br new BufferedReader(new InputStreamReader(pr.getInputStream()));
StringBuilder response new StringBuilder();
String line ;
while((linebr.readLine())!null){response.append(line);
};
String reponse_data response.toString();
br.close();
log.info(通过python代码获取到的随机数reponse_data:reponse_data);//打印返回的内容 打印结果 3.2 beanshell调用有参数的函数
python代码内容
def get_random():#接收cmd命令里面的参数parse argparse.ArgumentParser()parse.add_argument(-t,--ticket)args parse.parse_args()ticket args.ticket#随机数timesstr(int(time.time()))print(tickettimes) #打印if __name__ __main__:get_random() 调用方法-与无参数的区别就是在组建cmd命令并执行py文件时加一个参数的写入
import java.io.BufferedReader; //导包
import java.io.InputStreamReader;String command cmd /c python D:/study/course/Jmeter/test.py -t test--; //组建cmd命令并执行py文件
Runtime rt Runtime.getRuntime(); //初始化一个运行时对象
Process pr rt.exec(command); //通过运行时对象运行cmd命令。pr.waitFor(); //运行时等待//调用pr进程对象获取到它的输入流。读取pr文件流的内容并且保存到reponse_data
BufferedReader br new BufferedReader(new InputStreamReader(pr.getInputStream()));
StringBuilder response new StringBuilder();
String line ;
while((linebr.readLine())!null){response.append(line);
};
String reponse_data response.toString();
br.close();
log.info(通过python代码获取到的随机数reponse_data:reponse_data);//打印返回的内容
打印结果