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

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


浙公网安备 33010602011771号