菜单
开源

Params

`Params` 是 WebSocket 构造函数使用的对象。`Params` 对象包含请求特定的选项,例如应插入到连接初始化请求中的 header。

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

自定义元数据 header 和标签示例

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

JavaScript
import { WebSocket } from 'k6/experimental/websockets';

export default function () {
  const url = 'ws://:10000';
  const params = {
    headers: { 'X-MyHeader': 'k6test' },
    tags: { k6test: 'yes' },
  };

  const ws = new WebSocket(url, null, params);

  ws.onopen = () => {
    console.log('WebSocket connection established!');
    ws.close();
  };
}

前面的示例使用了一个 WebSocket Echo 服务器,您可以通过以下命令运行它

bash
docker run --detach --rm --name ws-echo-server -p 10000:8080 jmalloc/echo-server