在Testcafe中设置UserAgent



我已经搜索了相关主题。我发现最重要的是在带有testcafe 的浏览器中设置用户代理

但它并没有提供任何真正的答案。

我的目标是运行欺骗不同操作系统的测试:由于我在Linux中,并且我正在测试的应用程序不支持这一点,因此它显示了一些警告,我希望在运行测试时消除这些警告。

我们尝试了cyprus,在其中你只需在配置文件上添加UserAgent字符串,就可以了。但我还没有找到一种在testcafe上不使用CLI参数就可以直接完成的方法。

有没有办法在testcafe中欺骗操作系统或userAgent?

您可以使用RequestHooks机制修改用户代理。我准备了一个例子来演示这种方法:

import { RequestHook } from 'testcafe';
class UserAgentRequestHook extends RequestHook {
onRequest (e) {
e.requestOptions.headers['user-agent'] = 'Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0';
}
onResponse (e) {
}
}
const hook = new UserAgentRequestHook();
fixture `f`
.page `https://www.whatismybrowser.com/detect/what-is-my-user-agent/`;
test.requestHooks(hook)(`test`, async t => {
await t.debug();
});

请注意,TestCafe在内部使用UserAgent,因此不正确的UA值可能会导致不可预测的结果。

最新更新