问题标签 [k6]

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 回答
255 浏览

jenkins - Jenkins 控制台不输出一些“特殊”字符,如 ✗ 和 ✓

使用 k6 运行负载测试时,输出很难阅读,因为许多字符没有正确输出。

具体来说,它是“特殊”字符,如✗和 ✓</p>

输出如下所示:

在此处输入图像描述

输出位于 Chrome 浏览器中查看的“控制台”部分。

浏览器的 Blue Ocean 控制台中也存在同样的问题。

如何配置 Jenkins 以正确显示这些?

0 投票
1 回答
454 浏览

javascript - 如何在标头中正确提供身份验证令牌,以便 graphql 不会重定向到登录页面?

在我的 QA 组织中,我被要求构建一个 JavaScript 测试文件,以使用 k6 (loadimpact) 调用我们的 graphQL 端点。我正在成功生成我们的身份验证令牌并将其添加到我正在进行的调用的标题中。但由于某种原因,我被重定向到我们公司的登录页面。在没有重定向的情况下进行此调用的正确方法是什么?

我正在创建我的标题:

我对 graphQL 的调用:

即使生成的身份验证代码有效,我也会收到如下返回结果:

} }

我已经查看了与 graphQL 相关的其他问题,但似乎没有什么是非常合适的。在 loadimpact 站点上查看 K6 文档时,它显示将身份验证代码添加到标题中,但这显然不起作用。

0 投票
1 回答
52 浏览

javascript - 对所有线程执行一次函数

由多个线程(虚拟用户)调用的记录器函数。我只想在给定的持续时间过去后执行函数 printDebugLogs(debugLogsRepo) 和 printResponseCodeRepo(responseCodeRepo),即当 IsElapsedTime 返回 true。当前所有线程多次执行此函数。

//Logger函数由多线程执行

0 投票
1 回答
2125 浏览

javascript - 尝试 k6 运行 js 文件时获得权限被拒绝

我正在努力学习k6,我从它的官方文档开始。我使用 docker image 和命令行在运行文档中尝试了示例代码。在 docker 版本中它工作正常:

但是从命令行运行时,我得到:

编辑1:

使用当前用户运行时出现相同的错误:

编辑2:

我安装k6使用snap

0 投票
1 回答
261 浏览

javascript - k6中不同组的不同选项

我必须将.jmx文件重写为k6。迁移工具不起作用。在.jmx文件中有一个包含两个线程组的测试计划。每个线程组具有不同的线程数和循环计数。

本来我想这样做

我想options与配置vusiterations.

但据我了解,它将使用第一阶段参数和第二阶段参数执行所有组两次。

有没有办法用自己的数量vus和执行每个组iterations?或者我必须创建单独的测试文件?

0 投票
2 回答
659 浏览

javascript - 删除测试期间生成的 id

对于vu阶段中的负载测试,我生成了许多具有唯一 ID 的对象,并将它们放入数据库中。我想在teardown阶段删除它们,以免污染数据库。

当保持这样的状态时

它不起作用,因为数组总是包含我放在teardown舞台上的数据。

由于众所周知的问题,在阶段之间传递数据也不起作用Cannot extend Go slice,但即使这样,您也无法将数据从vu阶段传递到,teardown因为它总是从setup阶段获取数据。

唯一剩下的解决方案是玩弄console log或者只是使用一个简单的 id 预设并在测试中使用它们。还有其他方法吗?

0 投票
1 回答
73 浏览

k6 - 了解 vu 指标和统计数据

我正在运行负载测试,最终的统计数据显示了请求的数量

当我用 2 次迭代执行 100 个 VU 的测试时。77requests 是应该由单个用户完成的数量,所以我认为它只显示单个 VU 统计信息。

然后我切换到 1000 VU 和 100 次迭代这个结果

对于 1000 个虚拟用户和 100 次迭代来说,这感觉有点小,并且使我认为它显示每个虚拟用户的请求数量的想法无效。

运行测试时,它会将记录添加到数据库中。所以我预计至少有 1000 条新记录。但它每次运行只增加 100 个。

它还提供了以下信息

所以我认为有些东西不起作用?

0 投票
1 回答
173 浏览

performance-testing - k6:WARpanic:运行时错误:无效的内存地址或 nil 指针取消引用

我正在尝试使用名为 K6(免费和开源负载测试工具)的工具运行性能测试,我的测试即将测试网站性能,当我运行测试时,我得到了这个:

可以使用以下命令在命令行上运行测试:

k6 运行 --out influxdb= http://localhost:8086/VideoRecord_DB D:\Applications\K6-Scripts\VideoRecording.js`

这是k6版本:

k6 v0.26.1(开发版本,go1.13,windows/amd64)

0 投票
2 回答
4888 浏览

load-testing - 使用 k6 下载整个网站

我目前正在评估 k6 是否适合我们的负载测试需求。我们有一个相当传统的网站架构,它使用带有 PHP 和 MySQL 数据库的 Apache 网络服务器。使用 k6 发送简单的 HTTP 请求看起来很简单,我认为我们将能够使用它测试所有主要功能,因为我们不太依赖 JavaScript,而且大多数页面都是静态的。

但是,我不确定如何处理请求中返回的 HTML 中引用的资源(样式表、图像等)。我们也需要加载它们,因为这有时会导致数据库请求,这必须是负载测试的一部分。

k6 中是否有一些开箱即用的功能,可以让您像浏览器一样加载所有资源?我知道 k6 不会呈现页面,我也不需要它。我只需要请求 HTML 中的所有资源。

0 投票
1 回答
237 浏览

javascript - 用 k6 对“http_req_duration”的偏差进行阈值化?

我想为k6服务的负载测试创建一个自定义指标。我想测量http_req_duration旧版本(代码更改之前)和新版本(代码更改)之间的偏差,并对差异设置一个阈值。可以做k6吗?如果是,我该怎么做?