问题标签 [artillery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
903 浏览

performance-testing - 如何解释通过 Artillery 运行的 nodejs 性能测试

我正在使用 Artillery 在节点应用程序上运行一些性能测试。我不确定如何解释结果。我得到类似的东西

不确定这些结果意味着什么,例如请求延迟代码场景计数,

是否还有其他更流行的工具也可以用于节点应用程序的旁注?

0 投票
2 回答
4501 浏览

javascript - 在 Artillery 中跨 YAML 文件使用全局变量

有什么方法可以说,定义一个 URI 将在不同的 .yml 文件中用于不同的炮兵负载测试?

我想在多个 .yml 文件中使用相同的 URI 来定义targetconfig部分中的 。

我在炮兵文档上看到了以下内容:

可以通过 $processEnvironment 模板变量下可用的环境变量动态设置值。

例如,通过 SERVICE_API_KEY 环境变量为所有请求设置默认 HTTP 标头

他们展示了一个示例文档:

导出 SERVICE_API_KEY="012345-my-api-key"

火炮运行 my-test.yml

但是我不确定如何实现这一点,因为我正在使用 package.json 文件来运行artillery run my-test.yml命令。

0 投票
2 回答
321 浏览

python - python3 http.server 响应无效(Postman 和其他工具)

我正在使用基本的 python3 库 http 并使用服务器模块设置测试服务器。

测试我的服务器,我设法在终端中使用 curl 正确获取并查看响应:

但是,如果我尝试使用 Postman 之类的工具提出请求。有了这个,我收到Could not get any response错误消息(请求确实到达服务器并被处理,我可以在服务器的日志记录中看到)。

是否有一种特定的方式来格式化我目前没有看到的回复?我就是这样做的:

0 投票
1 回答
44 浏览

artillery - 如何验证负载测试的每次调用在流程链的末端产生了成功的结果?

我有一个这样的应用程序:

我想对摄取进行负载测试,最后验证每个提交的条目是否都存储在数据库中。

我有一个炮兵脚本,它发布到摄取并从数据库中恢复相同的项目,但它是作为同一场景的一部分这样做的,并且由于这两个组件是单独实现的,我实际上是在测量组合性能,而不是每个组件的性能零件。

我想对摄取组件进行负载测试,保留一些搜索键,使我能够从数据库中恢复所有已发送的项目。我已经尝试通过创建一个在摄​​取场景开始时调用的 Javascript 来生成随机搜索密钥,将其存储在 Artillery 中context,然后在场景结束时调用另一个函数来从数据库中恢复所有条目。

我发现的问题是,Artillery 在每个虚拟客户端中运行一个场景副本,因此每次启动场景时都会调用该函数,最后只恢复一个条目。并且对数据库的调用发生在与摄取后相同的场景中,所以我再次混合性能。

我想,我想做的是在一个场景中生成搜索键,在另一个场景中运行帖子,然后在第三个场景中检索结果。我怎样才能做到这一点?

此外,当我从数据库中检索结果时,我想将数量与要摄取的帖子数量进行比较。我找不到是否适用于from 函数调用expect中返回的变量。context这可能吗?

0 投票
1 回答
79 浏览

bash - 自动将唯一 IP 附加到文本文件

我目前正在尝试将攻击我的炮兵蜜罐的唯一 IP 自动附加到文本文件中。

我已经在这个脚本中达到了一个点,我正在监视 syslog 的变化(炮兵放置新的攻击日志的地方),并运行 grep 命令以在每次修改时在 syslog 中查找所有唯一 IP。

我现在需要做的是将 grep 命令输出通过管道传输到“某物”,该“某物”只会附加尚未在要附加到的文本文件中的唯一 IP。

我只是在寻找我需要通过管道传输的命令,以便将唯一 IP 附加到文本文件中,但前提是它们已经不存在于文本文件中。谢谢

0 投票
3 回答
3836 浏览

node.js - Artillery.io:如何为每个场景生成测试报告?

Artillery:如何按顺序运行场景并将每个场景的结果显示在同一个文件中?

我目前正在编写 nodejs 测试artillery.io来比较我实现的两个端点之间的性能。我定义了两个场景,我想在同一个报告文件中获得每个场景的结果。测试的执行不是顺序的,这意味着在测试结束时我已经组合了一个结果,不可能知道每个测试的性能,但只能知道所有测试的性能。

如何按顺序运行场景并将每个场景的结果显示在同一个文件中?

预先感谢您的回答

0 投票
1 回答
137 浏览

artillery - How can I escape "." characters in Artillery to prevent nesting?

I have an artillery file where one of my requests is defined as so:

However, when I run this request, the json that gets sent out is this:

As you can see, it has added a key to the match object called text_analytics where it has automatically nested objects by splitting on the . character.

How can I stop artillery doing this?

0 投票
1 回答
769 浏览

yaml - 如何通过将 csv 数据存储在变量中来将其访问到 yml 文件中?

我正在为炮兵工具创建一个 .yml 加载脚本文件,并且我正在使用有效负载部分,该部分从 CSV 文件中提取信息,该文件是登录到系统的数据。但问题是它没有从 csv 获取提供的信息。

我使用 'beforeRequest: "setJSONBody" ' 和 'afterResponse: "logHeaders"' 来跟踪请求之前和之后的信息,但请求标头没有显示从 csv 获取的用户名和密码。

请参考下面我使用存储在 CSV 文件中的凭据登录系统的代码

==================================================== ===========

==================================================== =============

我期待输出显示我所采用的凭据和 100% 的场景运行。

请参考附件图像,这是我得到的结果,其中请求标头部分未显示从 csv 获取的凭据

0 投票
0 回答
1393 浏览

javascript - (尝试使用火炮运行 .yaml 文件时出现问题)TypeError:无法读取未定义的属性“forEach”

我正在尝试测试一个使用带有火炮的 socket.io 的 node.js 应用程序,但是即使在尝试解析最简单的文件时,我也会不断收到错误消息。例如,这是我的 .yaml:

我不断收到这个错误:

npm\node_modules\artillery\lib\commands\run.js:316 场景.flow.forEach(function(step) { ^

TypeError:无法读取未定义的属性“forEach”

我怎么可能解决这个问题?

0 投票
1 回答
1526 浏览

artillery - 炮兵:ramto 在炮兵中究竟是如何工作的?

无法理解 rampto 在火炮中的工作原理

下面是我的整个场景: