具有不同参数的POST请求的JMeter替代方案(必须在没有GUI的情况下工作)
据我所知,JMeter允许您使用不同的参数(例如,具有不同参数的POST请求的JMeter替代方案(必须在没有GUI的情况下工作),post,jmeter,load,benchmarking,apachebench,Post,Jmeter,Load,Benchmarking,Apachebench,据我所知,JMeter允许您使用不同的参数(例如,{“value”:“value1”},{“value”:“value2”},…)发送多个POST请求。但是,我更喜欢使用类似于ab或Wrage的基于终端的接口。基本上,我需要对服务器进行负载测试,模拟一些请求以前没有缓存的情况 对于JMeter for Linux,是否有能够对POST请求使用不同参数的替代方案 更新 据我所知,JMeter需要创建一个测试计划(jmx文件),以便通过命令行运行。不幸的是,这个测试计划需要使用GUI构建,这正是我想
{“value”:“value1”},{“value”:“value2”}
,…)发送多个POST请求。但是,我更喜欢使用类似于ab或Wrage的基于终端的接口。基本上,我需要对服务器进行负载测试,模拟一些请求以前没有缓存的情况
对于JMeter for Linux,是否有能够对POST请求使用不同参数的替代方案
更新
据我所知,JMeter需要创建一个测试计划(jmx文件),以便通过命令行运行。不幸的是,这个测试计划需要使用GUI构建,这正是我想要避免的
更新2
我将使用JMeter,因为它为POST请求提供了动态参数,并且大多数替代方案都依赖于JMeter。但是,如果有人知道一个独立的库专门从终端工作(类似于ab),请告诉我。您可以在终端模式下使用JMeter,它被称为非GUI模式 要实现变量化,只需使用CsV数据集为每个线程加载变量(例如varName),然后使用${varName} 见:
在非gui模式下运行它。事实上,当涉及到运行负载测试时,JMeter gui应该仅用于测试开发和调试-建议在、通过或运行JMeter。此外,还有两个更“极客”的选择,即:
- JMeter.jmx脚本基本上都是XML文件,所以您可以使用自己喜欢的文本编辑器来创建或修改它们
- 您可以使用来创建和启动使用Java语言的JMeter测试
如果您仍在寻找替代方案,这里有一些免费的开源负载测试工具
- -您可以在中编写脚本
- -您可以使用基于DSL的语言编写脚本
- -这家伙只存在于基于Linux和Unix的平台上,基于Erlang。脚本是XML文件李>
- -支持上述所有工具(以及更多工具)的自动化框架,基于Python的配置文件具有简单的语法李>
有关上述工具的更多信息以及它们与JMeter的比较,请参见是的,我想这就是我要做的,但我无法确定需要使用哪些命令行参数来提供csv数据集并设置给定变量${varName}。你有一个例子说明如何使用它吗?按照任何教程说明如何在gui模式下使用它,它将在非gui模式下正常运行。只需确保cdv文件的路径为OK,这不会发生在命令行中。CSV数据集将在线程组的每次迭代中从CSV文件(另一个字段)中填充变量(它是其中一个字段)。Gui或非Gui工作原理相同问题是,如果没有以前由Gui生成的jmx文件,我不知道如何运行任务。在Gui中,单击绿色三角形运行计划,看看它是否工作,就是这样。使用查看结果树查看是否发送和获取所需内容,将其作为测试计划元素的子元素谢谢。我喜欢金牛座,但我认为它使用JMeter作为后端。如果是这样,我更喜欢使用JMeter,但我仍然不确定如何在POST请求中使用csv文件作为动态参数。大多数教程都展示了如何使用GUI进行此操作。
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'ruby-jmeter'
test do
csv_data_set_config name:'MyCsv', filename: '/path to file', variableNames: 'myParam'
threads count: 10 do
visit name: 'Qwant Search', url: 'https://lite.qwant.com/?q=flood.io&t=web&p=${myParam}'
end
end.jmx(file: "path to your output plan")