在大炮中获得测试加载结果
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 }}"
}}
]
}
]
}
这就是我到目前为止所得到的。显然这是行不通的。有什么建议吗?
立即跳出的脚本有几个问题:
Date.now()
正在模板中使用 - 这将不起作用,因为不支持任意 JS 表达式。 userId
的值可以从外部 CSV 文件中读取,请参阅 reading variables from a file. 上的文档
- 如果会话 ID 和播放器句柄仅在 URL 中可用(服务器是否在 POST 请求后重定向到那个 URL?),可以提取这些
afterResponse
hook - response.headers.location
将包含 URL。一旦提取了所需的值,就可以通过将新值插入 context.vars
. 来使它们可用于后续请求
我需要获得负载测试结果:我向服务器 (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 }}"
}}
]
}
]
}
这就是我到目前为止所得到的。显然这是行不通的。有什么建议吗?
立即跳出的脚本有几个问题:
Date.now()
正在模板中使用 - 这将不起作用,因为不支持任意 JS 表达式。userId
的值可以从外部 CSV 文件中读取,请参阅 reading variables from a file. 上的文档
- 如果会话 ID 和播放器句柄仅在 URL 中可用(服务器是否在 POST 请求后重定向到那个 URL?),可以提取这些
afterResponse
hook -response.headers.location
将包含 URL。一旦提取了所需的值,就可以通过将新值插入context.vars
. 来使它们可用于后续请求