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

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

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

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

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

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

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

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

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

二、使用技巧

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

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

注意:由于这个包使用的python版本为 2.7,所以写代码的时候不能全搬python3的语法过来玩。pWG28资讯网——每日最新资讯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) # 设置到变量,为后续取样器使用。

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

pWG28资讯网——每日最新资讯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)

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

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

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

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

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

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

一些小Tips:pWG28资讯网——每日最新资讯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++ 循环控制的新思维

标签:
  • 热门焦点
  • 影音体验是真的强 简单聊聊iQOO Pad

    大公司的好处就是产品线丰富,非常细分化的东西也能给你做出来,例如早先我们看到了新的vivo Pad2,之后我们又在iQOO Neo8 Pro的发布会上看到了iQOO的首款平板产品iQOO Pad。虽
  • 小米平板5 Pro 12.4简评:多专多能 兼顾影音娱乐的大屏利器

    疫情带来了网课,网课盘活了安卓平板,安卓平板市场虽然中途停滞了几年,但好的一点就是停滞的这几年行业又有了新的发展方向,例如超窄边框、高刷新率、多摄镜头组合等,这就让安卓
  • 帅气纯真少年!日本最帅初中生选美冠军出炉

    日本第一帅哥初一生选美大赛冠军现已正式出炉,冠军是来自千叶县的宗田悠良。日本一直热衷于各种选美大赛,从“最美JK”起到“最美女星&r
  • K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • 十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • 使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 三星显示已开始为AR设备研发硅基LED微显示屏

    7月18日消息,据外媒报道,随着苹果首款头显产品Vision Pro在6月份正式推出,AR/VR/MR等头显产品也就将成为各大公司下一个重要的竞争领域,对显示屏这一关
  • 朋友圈可以修改可见范围了 苹果用户可率先体验

    近日,iOS用户迎来微信8.0.27正式版更新,除了可更换二维码背景外,还新增了多项实用功能。在新版微信中,朋友圈终于可以修改可见范围,简单来说就是已发布的朋友圈
Top