在大炮中获得测试加载结果

getting testloading results in artillery

我需要获得负载测试结果:我向服务器 (post) 发送了关于我的信息(用户 ID 和游戏名称),服务器为我分配了一个玩家句柄和一个会话 ID。我想取回这些,但问题是我只能在 url 中找到它们(它们看起来像这样:url.com/#playerhandle=number&sessionid=number)并且似乎无法使用火炮检索它们.

{
"config": {
    "target": "sever/game",
    "phases": [
        {"duration": 10, "arrivalRate": 200}
    ]
},
"scenarios": [
    {
        "name": "test1",
        "flow": [
            {"post": {
                "url": "/initialize",
                "json": {"userId": "{{ Date.now() }}", "gameName": "game_Blood"}
            }
        },
            {"get": {
                "url": "/initialize",
                "body": "playerHandle={{ ph }}&sessionId={{ sid }}"
            }}
        ]
    }
]

}

这就是我到目前为止所得到的。显然这是行不通的。有什么建议吗?

立即跳出的脚本有几个问题:

  1. Date.now() 正在模板中使用 - 这将不起作用,因为不支持任意 JS 表达式。 userId 的值可以从外部 CSV 文件中读取,请参阅 reading variables from a file.
  2. 上的文档
  3. 如果会话 ID 和播放器句柄仅在 URL 中可用(服务器是否在 POST 请求后重定向到那个 URL?),可以提取这些afterResponse hook - response.headers.location 将包含 URL。一旦提取了所需的值,就可以通过将新值插入 context.vars.
  4. 来使它们可用于后续请求