jmeter执行python脚本的完整操作是什么
Admin 2022-08-20 群英技术资讯 957 次浏览
这篇文章主要讲解了“jmeter执行python脚本的完整操作是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jmeter执行python脚本的完整操作是什么”吧!本文主要介绍一个通过jmeter执行python脚本的测试场景。主要过程如下:
提示:以下为本篇文章正文内容,案例仅供参考。
jmeter、python,与版本无关,任意版本均可。
py模板文件:
1)自定义需要在py模板文件中修改的参数,比如:我们想在jmeter中修改py脚本中某些变量的初始值,我们可以在采用特殊标记[变量名]的方式标记其为可替换变量;
2)使用print()方法打印输出目标参数。也可以采用其他方法,比如将多个变量值写入到csv文件中,后续可以使用csv文件进行参数化。
图-变量设置:[times]、[modelName]、[modelType]
图-输出设置:print(filepath)

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

添加“取样器>>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();

添加“取样器>>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());

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

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

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

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

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

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文详细讲解了Django框架中模板的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要为大家详细介绍了python双向循环链表实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了Python中的pprint打印模块,pprint()采用分行打印输出,下文关于其相关介绍,需要的小伙伴可以参考一下
本文实例为大家分享了python画条形图的具体代码,供大家参考,具体内容如下在做毕设的过程中有些数据用表格来展现,会很难看出数据之间的差别,凸显不出数据的特点,所以想制作一个条
在实际计算过程中,float类型使用最多,因此这里重点介绍numpy和torch数据float类型转化遇到的问题,其他类型同理。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008