如何在jmeter中调用python代码
在性能测试领域,JMeter已经成为测试专业人士的首选工具,用于模拟用户行为、测量响应时间、评估系统性能。而现在大部分接口都会涉及到验签、签名、加密等操作,为了满足特定需求,我们需要更多的灵活性,比如引入Python甲来进行特定操作或处理复杂逻辑。(特别是针对一些只会Python编程,不擅长Java的)
在JMeter中调用Python方法有很多,今天给大家先推荐几种。
方法一:利用beanshell+Runtime.getRuntime().exec()方法
Runtime.getRuntime().exec()方法是用于在Java应用程序中执行外部命令。它允许你调用操作系统的命令行工具或其他可执行程序。你可以将要执行的命令作为参数传递给exec)方法,并且它会返回一个Process对象,通过该对象你可以管理和控制外部进程的执行。需要注意的是,使用exec)方法执行外部命令时需要格外小心,以防止潜在的安全漏洞。
获取接口token解密过程是在auth.py中实现的,利用Runtime.getRuntime().exec()执行python脚本

使用的代码如下:
String command = "cmd /c python D:\\test\\python_work\\common\\auth.py";
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("获取到的token值:"+response_data);
b.close();
vars.put("token",response.toString()); //把结果赋值给变量 ID ,方便后面调用
方法二:利用JSR223 Sampler+jython
要在JMeter中调用Python代码,也可以使用JSR223Sampler元素来执行Python脚本操作步骤:
1、在https://www.jython.org/download 下载jython-standaloneXXX.JAR

2、放到jmeter 的lib文件夹下,重启Jmeter。
3、添加JSR223 Sampler(路径:Thread Group >Sampler>JSR223 Sampler)

4、根据压测需求,编写python脚本即可。

浙公网安备 33010602011771号