Jmeter 调用Python3脚本
背景:想将Python程序生成的参数直接在Http信息头里进行引用。一开始在网络上查到的方法是JSR223处理器,后来发现JSR223仅支持Python2.7及以下的版本,于是另寻他法,找到了一种用Beanshell调用的方法可以支持Python3,Beanshell本身是Java语法的,但这里只需要复制粘贴别人的代码就行。在自己这里总结一下。
参考:https://www.codenong.com/cs106359053/
或https://blog.csdn.net/baidu_24752135/article/details/105364325
BeanShell(JAVA)部分
- 添加BeanShell预处理器

- 编辑代码(懂Java的童鞋也可以按照自己需求修改)

代码部分
import java.io.BufferedReader;
import java.io.InputStreamReader;
// 1. 命令里的路径改成自己脚本的路径
String command = "cmd /c python C://Python//code//1.py -t ${encryption_ticket}";
String var;
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
pr.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = "";
StringBuilder response = new StringBuilder();
while ((line = b.readLine()) != null) {
response.append(line);
}
String response_data = response.toString();
System.out.println(response_data);
b.close();
var = response.toString();
// 2. 定义Jmeter中引用的变量名
vars.put("TEST1",var);
Python脚本部分
if __name__ == '__main__':
# 编写需要的程序代码,需要的参数print()输出即可
str = "Hello,world"
print(str)
在信息头管理器中引用

在结果树中查看是否引用成功

转:https://www.cnblogs.com/liushaopan/articles/15861109.html

浙公网安备 33010602011771号