我正在运行一个基本的自动化 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 手动运行测试时的行为完全相同(添加这两个标头)?