在性能测试领域,入门Apache JMeter已经成为测试专业人士的用上首选工具,用于模拟用户行为、多到高测量响应时间、重交评估系统性能。入门但在某些情境下,用上为了满足特定需求,多到高我们需要更多的重交灵活性,比如引入Python来进行特定操作或处理复杂逻辑。入门
Jython是Python语言的Java实现,它允许您在JMeter中使用Python脚本,不需要额外的JAR包。
(1) 官网下载地址:Downloads | Jython
(2) 网盘链接:downloads > Jython 提取码:ux02
(3) 将下载的jar包放到Jmeter的安装路径/lib,如: D:\application\apache-jmeter-5.1.1\lib
() 切记,重启 jmeter
新增一个JSR223,选择语言为“jython”;
注意:由于这个包使用的python版本为 2.7,所以写代码的时候不能全搬python3的语法过来玩。
# jsr223 前置代码中编写:"""该脚本用于加密登录信息"""import hashlibimport sysimport timeimport jsondef password_srt(pubkey, password): time_str = str(time.time()) sign_str = str(pubkey) + time_str + str(password) sign = hashlib.md5(sign_str.encode('utf-8')).hexdigest() res = { 'sign': sign, 'pubkey': pubkey, 'password': password} res = json.dumps(res) return resresult = password_srt(1234,5678)log.info(result)vars.put("secrity",result) # 设置到变量,为后续取样器使用。
贴图:
# jsr223 后置脚本代码import jsonresult = prev.getResponseDataAsString(); # 固定写法,获取响应结果log.info("------"+result) # 这里使用print 会打印不到日志里面来显示。json_data = json.loads(result) # 转python识别的字典对象token = json_data.get("token") # 获取token值log.info(token)vars.put("token",token)
贴图:
添加一个debug sample来检查结果:
最终执行结果:
一些小Tips:
(责任编辑:热点)
白鹤滩水电站2022年累计生产清洁电能100亿千瓦时 可节约标准煤约306万吨
文投控股(600715.SH):北京文创定增基金已减持17.89万股 占公司总股份的0.0096%