testing - 有时 testcafé 登录失败

标签 testing azure-devops automated-tests azure-pipelines testcafe

我正在使用 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 并在管道中使用 ma​​xHttpHeaderSize,但没有帮助。

有人可以帮忙吗?

最佳答案

本例中似乎存在两个错误。

第一: 错误信息中有错误。 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/

相关文章:

css - 断言每个选定的 div 元素

angularjs - 通过构建服务器运行时未捕获 PhantomJS

azure - 拉取请求标题更新时触发 Azure 管道

java - 如何使用 selenium webdriver 打开新的 chrome 选项卡?

concurrency - JMeter:为单个用户触发多个并发 HTTP 请求

testing - Gallio 与 Nant 和 Hudson 的集成

php - 将二维数组提交到单元测试 laravel 失败

ruby-on-rails - capybara 检查表列是否有一些值

tfs - 如何最好地从 VSTS 下载源文件?

javascript - 停止事件的 Testcafe 运行