我正在使用 testcafe 进行软件测试,一个月了,我一直面临一个问题,当我运行测试并单击登录按钮时,有时会通过,有时不会,这会导致测试失败。它抛出一个错误
错误详细信息: 无法对资源执行请求
“mysite.com” 因为一个错误。 请求 header 的大小为 10242 字节,超出了设置的限制。 它会导致解析此 header 时出现内部 Node.js 错误。 要解决此问题,您需要将“--max-http-header-size=...”标志添加到“NODE_OPTIONS”环境变量中:
macOS, Linux (bash, zsh)
export NODE_OPTIONS='--max-http-header-size=20000'
Windows (powershell)
$env:NODE_OPTIONS='--max-http-header-size=20000'
Windows (cmd)
set NODE_OPTIONS='--max-http-header-size=20000'
and then start your tests.
当我在本地和 Azure Pipelines 中运行测试时,会发生这种情况。 我尝试在本地使用 --max-http-header-size=20000 并在管道中使用 maxHttpHeaderSize,但没有帮助。
有人可以帮忙吗?
最佳答案
本例中似乎存在两个错误。
第一:
错误信息中有错误。 Windows 的命令 (cmd) 应如下所示:
设置 NODE_OPTIONS="--max-http-header-size=20000"
(带双引号)。
第二:
有一个已知的issue与标题大小。如果 header 大于~65 KB,它将被分成多个数据包。目前,testcafe 在计算建议的 header 大小时仅考虑最后一个数据包。要运行测试,您需要找到大于 80 KB 的适当最大 header 大小,因为它是 default TestCafe 的 maxHeaderSize
。
关于testing - 有时 testcafé 登录失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64446568/