【发布时间】:2021-07-07 02:39:54
【问题描述】:
我正在运行一个基本的自动化 testcafe 测试,该测试单击一个按钮(触发 API)并等待页面上显示响应,以便测试可以继续。只有当我在最新版本的 Chrome、Firefox、Opera 和 Edge 上运行场景 VIA TESTCAFE 时,该网站才会在单击该按钮后出现来自该 API 调用的 500 错误。当在 testcafe 中提到的旧版本浏览器上运行测试时,或者当我在最新浏览器上手动运行测试时,应用程序和测试通过。
经过一番调查,我注意到 Chrome v89 添加了两个默认发送的新请求标头:sec-ch-ua 和 sec-ch-ua-mobile 仅在我手动运行测试时,但是当我通过 TestCafe 运行测试时,这两个标头未通过,这会中断对 API 的调用。
在此处找到 Chrome 添加的新功能:
sec-ch-ua: "Chromium";v="86", "\"Not\\A;Brand";v="99", "Google Chrome";v="86"
sec-ch-ua-mobile: ?0
我有“testcafe”:“^1.13.0”,使用 Chrome 最新版本 89.0.4389.72(64 位)
任何人都知道如何使 TestCAfe 测试的行为与我使用最新的 Chrome 手动运行测试时的行为完全相同(添加这 2 个标头)?
【问题讨论】:
标签: javascript google-chrome testing testcafe client-hints