JMeter与Python的多重交响:从入门到高级应用(下)
2023-09-25 10:39:51 软件 411观看
摘要接上文《JMeter与Python的多重交响:从入门到高级应用(上)》在性能测试领域,Apache JMeter已经成为测试专业人士的首选工具,用于模拟用户行为、测量响应时间、评估系统性能。但在某些情境下,为了满足特定需求,我们需要更多

接上文《JMeter与Python的多重交响:从入门到高级应用(上)》TIJ28资讯网——每日最新资讯28at.com

在性能测试领域,Apache JMeter已经成为测试专业人士的首选工具,用于模拟用户行为、测量响应时间、评估系统性能。但在某些情境下,为了满足特定需求,我们需要更多的灵活性,比如引入Python来进行特定操作或处理复杂逻辑。TIJ28资讯网——每日最新资讯28at.com

TIJ28资讯网——每日最新资讯28at.com

我们看下这个界面该如何配置:TIJ28资讯网——每日最新资讯28at.com

TIJ28资讯网——每日最新资讯28at.com

这会调用外部Python脚本,并传入参数input_param。TIJ28资讯网——每日最新资讯28at.com

最后一步操作

添加一个正则表达式提取器,编写正则,看看能不能提取到结果:TIJ28资讯网——每日最新资讯28at.com

TIJ28资讯网——每日最新资讯28at.com

最后我们用debug sample檢測最终结果:TIJ28资讯网——每日最新资讯28at.com

TIJ28资讯网——每日最新资讯28at.com

这样整个流程完成了,也就可以很方便的调用外部文件做接口自动化了。TIJ28资讯网——每日最新资讯28at.com

二、其他方案

这里再简单介绍两种能够处理python代码的方案:TIJ28资讯网——每日最新资讯28at.com

使用函数助手[jmeter-functions-execute-python-script-1.0.jar]链接:https://pan.baidu.com/s/1JrPW723es9rFbp18mNAvug?pwd=thjp 提取码:thjp这个就直接放入到:/lib/ext 下面就行,然后重启jmeter使用如图:TIJ28资讯网——每日最新资讯28at.com

TIJ28资讯网——每日最新资讯28at.com

使用BeanShell Sampler组件这个需要一定的java代码能力,大伙可以自行看着玩,因烦不建议,前面的os process sample 舒服,也就是说,既然都要写beanshell了,直接java代码干就完事了,哈哈!。示例代码,不保证能用:TIJ28资讯网——每日最新资讯28at.com

import java.io.BufferedReader;import java.io.InputStreamReader;//1. 命令里的路径改成自己脚本的路径  String command = "/opt/homebrew/bin/python3 /Users/xxx/Code/python-mysql/gen_id.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(response_data);log.info(response_data);b.close();// 2. 定义Jmeter中引用的变量名vars.put("xxx",response_data); //把结果赋值给变量 ,方便后面调用

By the way,很多小伙伴反馈说既然用jmeter了,干嘛还往里整python代码,不是多此一举嘛?这里勇哥谈谈自己的几点愚见:TIJ28资讯网——每日最新资讯28at.com

  • 现有代码复用:有时候可能我们有一些现成的python代码用特定的操作或者业务逻辑,嵌入这些python代码就可以避免重复造轮子了
  • 代码能力:很多测试人员的技术栈是偏python的,在使用jmeter做自动化测试时,利用python的灵活及强大的库工具就很容易入手了。
  • 集成其他工具:可能有一些自己的python工具很好用,但是想集成到一起就可以考虑这样的偏方了

总之jmeter既然可以这样玩,那么给到用户也就多一种使用体验,多一种解决问题的可能性。TIJ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-11289-0.htmlJMeter与Python的多重交响:从入门到高级应用(下)

声明:本网页内容旨在传播知识,不代表本站观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。

显示全文

上一篇:编程新境界:从入门到精通Python中eval()函数的魔力

下一篇:C++11中auto关键字的使用详解

最新热点