菜单
开源

Params

注意

存在一个更好、更标准的模块 API。

新的 k6/experimental/websockets API 部分实现了 WebSockets API 活文档标准

如果可能,我们建议使用新的 API。它使用全局事件循环,以便与其他 k6 API 保持一致并获得更好的性能。

Params 是 WebSocket 方法用于生成 WebSocket 请求的对象。Params 包含请求特有的选项,例如应插入到请求中的头部信息。

名称类型描述
Params.compressionstringWebSocket 连接使用的压缩算法。目前唯一支持的算法是 deflate。如果此选项未设置或为空,则默认为不压缩。
Params.jarhttp.CookieJar用于建立 WebSocket 连接时的初始 HTTP 请求的 cookie jar。如果为空,将使用默认的 VU cookie jar
Params.headersobject添加到用于建立 WebSocket 连接的初始 HTTP 请求中的自定义 HTTP 头部键值对。键是头部名称,值是头部值。
Params.tagsobject自定义指标标签键值对形式,其中键是标签名称,值是标签值。WebSocket 连接将生成附加了这些标签的指标样本,允许用户过滤结果数据或在子指标上设置阈值

自定义元数据头部和标签示例

一个 k6 脚本,它将发出带有自定义头部的 WebSocket 请求,并用特定标签标记结果数据

JavaScript
import ws from 'k6/ws';

export default function () {
  const url = 'ws://echo.websocket.org';
  const params = {
    headers: { 'X-MyHeader': 'k6test' },
    tags: { k6test: 'yes' },
  };
  const res = ws.connect(url, params, function (socket) {
    socket.on('open', function () {
      console.log('WebSocket connection established!');
      socket.close();
    });
  });
}