jmeter执行python脚本的实现示例

 更新时间:2022年05月30日 08:37:24   作者:咲之  
本文主要介绍了jmeter执行python脚本的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

概要

本文主要介绍一个通过jmeter执行python脚本的测试场景。主要过程如下:

  • 在jmeter中设置参数;
  • 通过jmeter修改py模板文件,并创建后续需执行的py脚本;
  • 通过jmeter执行py脚本文件,获得py文件的执行输出结果,并设置为变量;
  • 使用变量进行后续测试。

提示:以下为本篇文章正文内容,案例仅供参考。

一、环境准备

1. 测试工具

jmeter、python,与版本无关,任意版本均可。

2. 测试资源

py模板文件:
1)自定义需要在py模板文件中修改的参数,比如:我们想在jmeter中修改py脚本中某些变量的初始值,我们可以在采用特殊标记[变量名]的方式标记其为可替换变量;
2)使用print()方法打印输出目标参数。也可以采用其他方法,比如将多个变量值写入到csv文件中,后续可以使用csv文件进行参数化。
图-变量设置:[times]、[modelName]、[modelType]
图-输出设置:print(filepath)

在这里插入图片描述

二、实现过程

1. 在jmeter中设置参数

如图,可以选择添加“前置处理器>>用户参数”,用于设置相关变量的初始值;

在这里插入图片描述

2. 通过jmeter修改py模板

添加“取样器>>BeanShell取样器”,编写读取文件、写入文件代码。主要思路:读取模板文件内容,替换目标字符后,写入到新文件中;

// 模板文件位置
String read_path = vars.get("dir") + File.separator + "files\\mkxml\\template_demo.py";
// 输出文件位置
String write_path = vars.get("dir") + File.separator + "files\\mkxml\\demo.py";

// 读取模板文件内容
StringBuffer res = new StringBuffer();
String line = null;
File read_file = new File(read_path);
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(read_file), "UTF-8"));
while ((line = reader.readLine()) != null) {
	res.append(line + "\n");
}
reader.close();

// 处理模板内容,替换相关参数
String content = res.toString();
content = content.replace("[times]", vars.get("times"));
content = content.replace("[modelName]", vars.get("modelName"));
content = content.replace("[modelType]", vars.get("modelType"));

// 写入内容到输出文件位置
File write_file = new File(write_path);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(write_file), "UTF-8"));
writer.write(content);
writer.flush();
writer.close();

在这里插入图片描述

3. 通过jmeter执行py脚本

添加“取样器>>BeanShell取样器”,通过cmd命令执行py脚本,并获得窗口输出信息;

// 以cmd命令行方式调用py脚本,&&为多组命令连接符
String cmd = "cmd /c cd /d "+ vars.get("dir") + File.separator + "files\\mkxml && python demo.py";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(cmd);

pr.waitFor();

BufferedReader br = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line = "";
StringBuilder response = new StringBuilder();

while((line = br.readLine()) != null) {
	response.append(line);
}

br.close();

// 设置成可在jmeter中使用的变量,filepath为目标XML文件所在位置
vars.put("filepath", response.toString());

在这里插入图片描述

4. 使用获得的输出信息

后续需要使用输出变量时,可以通过${变量名}的形式进行参数化。

在这里插入图片描述

三、运行调试

添加“后置处理器>>调试后置处理程序”及“监听器>>察看结果树”,启动脚本运行。

1. 运行前

模板文件;

在这里插入图片描述

2. 运行后

1)新建的py文件,xml文件;

在这里插入图片描述

2)察看结果树的调试结果;

在这里插入图片描述

3)执行py脚本后生成的文件内容。

在这里插入图片描述

到此这篇关于jmeter执行python脚本的实现示例的文章就介绍到这了,更多相关jmeter执行python脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python、java等哪一门编程语言适合人工智能?

    python、java等哪一门编程语言适合人工智能?

    哪一门编程语言适合人工智能?这篇文章主要为大家详细介绍了python编程语言适合人工智能的原因、优点,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 详解Pycharm与anaconda安装配置指南

    详解Pycharm与anaconda安装配置指南

    这篇文章主要介绍了详解Pycharm与anaconda安装配置指南,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • python docx如何修改word表格内容

    python docx如何修改word表格内容

    使用Python-docx库,可以方便地修改Word文档中的表格内容,首先需要安装python-docx库,然后使用该库打开Word文档,遍历文档中的表格并修改指定单元格内容,最后另存为新文档
    2024-09-09
  • Python基于opencv调用摄像头获取个人图片的实现方法

    Python基于opencv调用摄像头获取个人图片的实现方法

    今天小编就为大家分享一篇关于Python基于opencv调用摄像头获取个人图片的实现方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Python ADF 单位根检验 如何查看结果的实现

    Python ADF 单位根检验 如何查看结果的实现

    这篇文章主要介绍了Python ADF 单位根检验 如何查看结果的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 详解python uiautomator2 watcher的使用方法

    详解python uiautomator2 watcher的使用方法

    这篇文章主要介绍了python uiautomator2 watcher的使用方法,该方是基于uiautomator2如下版本进行验证,本文给大家介绍的非常详细,需要的朋友可以参考下
    2019-09-09
  • Vscode 远程切换Python虚拟环境的详细步骤

    Vscode 远程切换Python虚拟环境的详细步骤

    使用VSCode远程切换Python虚拟环境涉及安装VSCode和必要扩展、连接远程服务器、创建或激活虚拟环境,并选择对应Python解释器,详细步骤包括安装Python和Remote-SSH扩展,感兴趣的朋友一起看看吧
    2024-09-09
  • Python绘制随机彩色蟒蛇方法浅析

    Python绘制随机彩色蟒蛇方法浅析

    这篇文章主要介绍了python实现绘制随机彩色蟒蛇的效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12
  • pytorch 实现查看网络中的参数

    pytorch 实现查看网络中的参数

    今天小编就为大家分享一篇pytorch 实现查看网络中的参数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python机器学习入门(六)之Python优化模型

    Python机器学习入门(六)之Python优化模型

    这篇文章主要介绍了Python机器学习入门知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08

最新评论