我正在尝试使用Artillery.io(http://artillery.io)作为加载和性能工具,但我似乎无法进行调试。
我看到输出和报告已生成,但对于某些HTTP响应(404/401 / 500.x),我希望看到发送的数据包和回复收到的响应。
https://artillery.io/docs/debugging.html#logging-everything处的文档说我可以运行
set DEBUG=http,http:capture,http:response
然后使用run命令启动我的脚本(我在Windows上)。
这完全没有区别,在控制台或生成的报告中没有发送/接收数据包的跟踪。
任何人都知道如何让炮兵追踪它的作用,请求和响应请求?最好添加到报告文件中,但如果必须,我会单独使用控制台。
答案 0 :(得分:3)
是从powershell控制台运行的。下降到良好的旧CMD,它的工作原理。
答案 1 :(得分:0)
更新:看起来http调试已更改。有关修订后的调试文档,请参见https://artillery.io/docs/examples/#debugging-http-tests。
答案 2 :(得分:0)
在 Powershell 中,您必须像这样将环境变量 DEBUG 设置为 http:
$Env:DEBUG = "http"
您可以按如下方式检查当前值:
$Env:DEBUG
请参阅 Using and changing environment variables 上的 Powershell 文档。
答案 3 :(得分:0)
就我而言,在 Git Bash 终端的 VSC 中的 Windows 上。
设置调试:
export DEBUG=http,http:capture,http:response
测试:
echo $DEBUG
现在运行脚本(用于测试):
artillery quick -c 1 -n 1 https://httpbin.org/get
给出响应:
Started phase 0, duration: 1s @ 16:20:02(+0200) 2021-05-11
/ http request: {
"url": "https://httpbin.org/get",
"method": "GET",
"headers": {
"user-agent": "Artillery (https://artillery.io)"
}
} +0ms
http:response {
http:response "date": "Tue, 11 May 2021 14:20:03 GMT",
http:response "content-type": "application/json",
http:response "content-length": "254",
http:response "connection": "keep-alive",
http:response "server": "gunicorn/19.9.0",
http:response "access-control-allow-origin": "*",
http:response "access-control-allow-credentials": "true"
http:response } +1ms
http:response "{\n \"args\": {}, \n \"headers\": {\n \"Host\": \"httpbin.org\", \n \"User-Agent\": \"Artillery (https://artillery.io)\", \n \"X-Amzn-Trace-Id\": \"Root=1-609a9293-031b2371069a353d0cbb4131\"\n }, \n \"origin\": \"213.76.55.123\", \n \"url\": \"https://httpbin.org/get\"\n}\n" +1ms
Report @ 16:20:04(+0200) 2021-05-11