JMeter调用python脚本(自动化生成加密参数)

在进行接口压测时,要求请求参数自动获取当前时间,与其他参数按一定规则拼接后进行MD5加密,加密数据有效期30分钟的设计,意味着要获取当前时间、进行字符串拼接、进行MD5加密后再传参。如果进行人工替换,测试人员的工作量会非常繁琐,而借助于python脚本实现,则可以有效提升测试效率。

1.编写python脚本:

1.1实现获取当前时间-time(参数之一)

1.2进行字符串拼接-str(含time,所以要保持数据的一致性)

1.3对str进行MD5加密

1.4将要传给JMeter的参数打印出来。

脚本实现起来非常简单,直接代码:

1.5测试脚本执行结果:下图中的打印的信息即JMeter预期要获取的参数信息

2.通过JMeter的OS Process Sampler读取批处理文件(..\..\getMD5.bat),该批处理文件非常简单,就是执行前面的python脚本。备注:尝试了在JMeter线程组中添加JSR223 Sampler方式,无法达到预期效果(这种方法大家尝试后,如果好用,欢迎在评论区留言分享或讨论)

3.添加正则表达式,提取要参数,此处需要提取两个参数,当前时间-time,按规则生成的MD5值-MD5Code(也可以在一个正则表达式中提取)

4.在请求中设置参数化,读取python脚本中自动生成的参数;

5.验证结果,JMeter可以正常读取python生成的参数,JMeter的扩展性非常好,测试时可以根据需要编写python脚本或jar包进行辅助测试。

jmeter可以通过执行python脚本来进行测试。具体的步骤如下: 1. 在jmeter中设置参数,可以通过参数化来传递数据给python脚本使用。 2. 下载jython-standalone.jar包,并将其放置在jmeter的lib目录下,并重启jmeter。这个jar包是用来支持在jmeter中执行python脚本的。 3. 创建一个py模板文件,并在其中编写需要执行的python脚本代码。 4. 在jmeter中使用BeanShell Sampler或者JSR223 Sampler来执行python脚本。在执行之前,可以通过jmeter修改py模板文件中的参数,以便根据需要进行测试。 5. 执行python脚本后,可以获取脚本的执行输出结果,并将其设置为变量,以便后续的测试使用。 下面是一个示例的python脚本代码: ```python # 获取jmeter参数 param = vars.get("param") print("hello") # 设置响应信息 SampleResult.setResponseData("message") SampleResult.setResponseCode("502") SampleResult.setSuccessful(False) ``` 通过以上步骤,你可以在jmeter中成功调用python脚本进行测试。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [jmeter-执行python脚本](https://blog.csdn.net/qq_28913223/article/details/125019029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Jmeter入门(三)调用python脚本(附案例)](https://blog.csdn.net/Makasa/article/details/107558789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值