首页 文章 精选 留言 我的

精选列表

搜索[dataset],共1055篇文章
优秀的个人博客,低调大师

使用Redis Dataset JMeter插件即时控制您的测试数据

试想一下,你有一个应用程序,你要性能测试,以及应用程序需要同时检测被消耗数据。如果您有这种需要(并且您熟悉JMeter),那么您可能会使用CSV数据集config。CSV数据集配置具有一些出色的功能,可让您控制测试将如何使用数据的大多数方面。 但是,CSV数据集配置的一个主要缺点是,一旦测试开始,如果要更新正在使用的数据,则需要有权访问JMeter正在使用的文件。否则,您将锁定可用于测试的数据。对于在本地计算机上运行的测试,这不应该成为问题,您只需将CSV文件与新数据一起保存(或删除不需要的数据),JMeter只要有更改就可以反映该更改。仍然打开该文件。 当您使用BlazeMeter扩展测试范围时,就会出现问题。在这种情况下,将CSV文件用于数据将意味着在云中运行的每个测试实例将拥有其自己的数据副本,这使得对数据进行更改成为问题。我们想要的是一个更像Virtual Table Server(VTS)的流程,在这里我们将使用位于中央的数据源。这是我们要使用Redis数据集插件解决的问题。 请注意,要遵循这种情况,您需要拥有一个BlazeMeter帐户,一个运行BlazeMeter的云引擎可以到达的Redis服务器以及在JMeter中安装Redis数据集插件(您可以从插件中获取它)经理!)。 01 设置我们的Redis列表 我的Redis服务器托管在云中,但是您也可以将其安装在本地计算机上。我们要做的第一件事是使用redis-cli命令为LPUSH或RPUSH添加一些值到Redis列表(取决于您是否希望将其添加到列表的开头或结尾),如下 所示: LPUSH列表键value1 value2 value3 关于Redis的一件好事是,如果列表的键不存在,它将使用此命令创建。具体来说,在撰写本文之前,我在名为“ jmeter”的列表中添加了三行,其中每个条目代表两个变量,可以由我们的JMeter测试使用,以逗号分隔,如下所示: LPUSH jmeter值11,值12值21,值22值31,值32 现在,我要使用SSH(安全Shell)进入我的Redis服务器并开始使用该列表。我们可以使用LRANGE命令检查现有列表中的值。在这里我们使用 量程jmeter 0 -1 指定我们要查看列表中的所有条目,从索引0(第一个)到-1(最后一个)。 02 配置JMeter 因此,我们可以看到所有元素都已添加,并且每个元素都具有所需的格式。接下来,我们将配置JMeter以利用此数据集。 启动JMeter,添加线程组,然后添加Redis数据集配置元素。在查看Redis数据集配置时,您将看到一些我们需要指定的字段才能使它起作用。首先检查连接配置: 我们需要指定托管Redis的服务器的IP地址(或主机名),Redis使用的端口以及用于Redis身份验证的密码。请注意,如果您在本地运行Redis,则当我们将此测试引入BlazeMeter时,无法使用localhost(或127.0.0.1),在这种情况下,您将需要可远程访问Redis服务器的公共IP地址。 另一个重要信息是如何使用数据。 我们需要指定在Redis中用于标识列表的键,并使用“变量名”字段来确定如何在脚本中引用变量(请注意,这些变量应以逗号分隔)。由于我们在Redis服务器上用逗号分隔了值,因此我们可以将Delimiter保留为其默认值。我们还需要选择数据源类型。 在这一点上,值得注意的是,我们可以使用Redis Set或Redis List。我选择使用列表,因为它最适合我们,就像使用CSV数据集配置一样。使用Set和List的区别在于List具有特定的顺序,并且可以具有重复的值,而Set将以随机顺序检索,而添加到Set的重复值将被忽略。 接下来,我将在测试中添加一个虚拟采样器以说明该用例,而无需创建任何实际负载。 这样我们就可以看到更改发生的时间,我将“虚拟采样器”的名称设置为“虚拟:$ {first}和$ {second}”,标签将告诉我们从Redis读取了什么值。服务器。在本地进行此测试以确保我们的测试可以连接到Redis之后,让我们将该测试上传到BlazeMeter。 03 在BlazeMeter上扩展我们的测试 请注意,与使用CSV数据集配置不同,我们不需要包含任何其他文件,因为我们将远程获取数据。 在运行此测试时,我们看到显示的标签中填充了来自Redis服务器的数据。 我们去添加一个值到我们的Redis列表中 RPUSH jmeter值41,值42 花几分钟时间,然后在测试运行时,JMeter将与您的Redis Server取得联系,以获取其应使用的下一组值。当报告数据在BlazeMeter中更新时,我们将看到一个新标签。 向后工作,以查看何时将这些数据引入测试中,我们可以将其隔离,并看到标签“ Dummy:value41和value42”在整个测试过程中的一部分开始显示,同时对应于Redis的更改服务器。测试使用的是云中的一个引擎还是跨数百个引擎都没关系,我们以一种更新所有测试中使用的所有数据的方式构建了它(但请确保Redis Server可以处理负载) !)。 您是否曾经进行过测试并且对自己进行了思考:“好吧,我希望我能在开始之前为此添加更多数据”,而只需要放弃测试运行并重新开始进行您真正想要的测试?您是否曾经运行过“日志重播”性能测试,该测试正在从CSV读取URL,并且突然希望您的所有虚拟用户都专注于点击一个URL?您是否曾经花时间设置一个大型测试事件,却意识到一旦运行,您的1000个数据条目中就有一个是错误的,并且总是会导致错误? 测试时可以使用多种方式访问位于中心的可调整数据源,这些只是其中的几种。 推荐阅读 TeamCity VS Jenkins:选择正确的CI / CD工具 持续集成(CI) 如何在Chrome浏览器中运行Selenium? 长按识别二维码添加小编加自学群哦 本文分享自微信公众号 - 软件测试test(gh_d29759b02f67)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册