1

我正在运行一个基本的自动化 testcafe 测试,该测试单击一个按钮(触发 API)并等待页面上显示响应,以便测试可以继续。只有当我在最新版本的 Chrome、Firefox、Opera 和 Edge 上运行场景 VIA TESTCAFE 时,该网站才会在单击该按钮后出现来自该 API 调用的 500 错误。当在 testcafe 中提到的旧版本浏览器上运行测试时,或者当我在最新浏览器上手动运行测试时,应用程序和测试通过。

经过一番调查,我注意到 Chrome v89 添加了两个默认发送的新请求标头:sec-ch-uasec-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 手动运行测试时的行为完全相同(添加这两个标头)?

4

1 回答 1

1

尝试更新到 testcafe v.1.14.0。如果问题仍然存在,请在 TestCafe 存储库中创建一个问题,并分享一个可以在本地重现的示例。

于 2021-04-13T10:02:39.097 回答