如何在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脚本

image

使用的代码如下:

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

image

 2、放到jmeter 的lib文件夹下,重启Jmeter。

 3、添加JSR223 Sampler(路径:Thread Group >Sampler>JSR223 Sampler)

image

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

 

posted @ 2026-02-02 17:50  板栗+  阅读(13)  评论(0)    收藏  举报