当前位置:首页 > 科技  > 软件

JMeter与Python的多重交响:从入门到高级应用(上)

来源: 责编: 时间:2023-09-18 21:40:43 404观看
导读在性能测试领域,Apache JMeter已经成为测试专业人士的首选工具,用于模拟用户行为、测量响应时间、评估系统性能。但在某些情境下,为了满足特定需求,我们需要更多的灵活性,比如引入Python来进行特定操作或处理复杂逻辑。Jyt

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

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

(2) 网盘链接:downloads > Jython 提取码:ux02zUu28资讯网——每日最新资讯28at.com

(3) 将下载的jar包放到Jmeter的安装路径/lib,如: D:/application/apache-jmeter-5.1.1/libzUu28资讯网——每日最新资讯28at.com

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

() 切记,重启 jmeterzUu28资讯网——每日最新资讯28at.com

二、使用技巧

新增一个JSR223,选择语言为“jython”;zUu28资讯网——每日最新资讯28at.com

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

注意:由于这个包使用的python版本为 2.7,所以写代码的时候不能全搬python3的语法过来玩。zUu28资讯网——每日最新资讯28at.com

示例一:前后置脚本中写python代码。

# 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) # 设置到变量,为后续取样器使用。

贴图:zUu28资讯网——每日最新资讯28at.com

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

示例二:后置脚本中写python代码

# 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)

贴图:zUu28资讯网——每日最新资讯28at.com

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

添加一个debug sample来检查结果:zUu28资讯网——每日最新资讯28at.com

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

最终执行结果:zUu28资讯网——每日最新资讯28at.com

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

一些小Tips:zUu28资讯网——每日最新资讯28at.com

  • 性能流泪: 使用 Python 脚本会引入性能问题,因为 Python 是一种解释型语言,相比于 JMeter 自带的 Java 脚本,Python 脚本的执行效率可能会稍低,勇哥踩过这个坑!!!
  • 维护想哭: 逻辑分散在 JMeter 的测试计划和 Python 脚本之间时,会导致维护困难;也不利于团队协作!
  • 依赖一坨翔: Python是2.7版本且难以支持第三方python库使用,要写复杂的代码也是很头疼的!
  • 调试难上天: JMeter 中调试 Python 脚本真是看花眼,因为你看的信息都是jmeter输出的,定位问题一言难尽!

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

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 一文搞懂Python中私有属性和私有方法使用区别

下一篇: 基于范围的 for 循环:现代 C++ 循环控制的新思维

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 谷歌KDD'23工作:如何提升推荐系统Ranking模型训练稳定性

    谷歌在KDD 2023发表了一篇工作,探索了推荐系统ranking模型的训练稳定性问题,分析了造成训练稳定性存在问题的潜在原因,以及现有的一些提升模型稳定性方法的不足,并提出了一种新
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 网传小米汽车开始筛选交付中心 建筑面积不低于3000平方米

    7月7日消息,近日有微博网友@长三角行健者爆料称,据经销商集团反馈,小米汽车目前已经开始了交付中心的筛选工作,要求候选场地至少有120个车位,建筑不能低
  • 华为发布HarmonyOS 4:更好玩、更流畅、更安全

    在8月4日的华为开发者大会2023(HDC.Together)大会上,HarmonyOS 4正式发布。自2019年发布以来,HarmonyOS一直以用户为中心,经历四年多的发展HarmonyOS已
  • 华为HarmonyOS 4.0将于8月4日发布 或搭载AI大模型技术

    华为宣布HarmonyOS4.0将于8月4日正式发布。此前,华为已经针对开发者公布了HarmonyOS4.0,以便于开发者提前进行适配,也因此被曝光出了一些新系统的特性
  • 2022爆款:ROG魔霸6 冰川散热系统持续护航

    喜逢开学季,各大商家开始推出自己的新产品,进行打折促销活动。对于忠实的端游爱好者来说,能够拥有一款梦寐以求的笔记本电脑是一件十分开心的事。但是现在的
Top