gpt4 book ai didi

browser - Cypress.io 中是否有编程方式来更改用户代理?

转载 作者:行者123 更新时间:2023-12-04 12:56:56 24 4
gpt4 key购买 nike

我有一些仅在移动设备上进行的广告调用。在 Chrome 中,我可以使用设备模式并模拟移动设备,并且来自服务器的结果广告调用正确地针对移动设备量身定制。我不确定 Chrome 是如何做到这一点的,除非可能通过发送不同的用户代理。

在 Cypress.io 文档中,它说可以在配置文件 (Cypress.json) 中更改用户代理。但是,我需要为桌面视口(viewport)运行测试,然后使用移动用户代理运行移动视口(viewport)。有没有办法以编程方式更改用户代理?

最佳答案

更新 : 根据https://github.com/cypress-io/cypress/issues/3873从 Cypress 3.3.0 开始使用 user-agent 是可能的cy.request() 中的属性(property)和 cy.visit() .
如果您需要,例如,设置 userAgent作为 谷歌机器人 :

cy.visit(url, {
headers: {
'user-agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)',
}
});

Cypress 3.3.0 之前的原始答案
before(() => {
cy.visit(url, {
onBeforeLoad: win => {
Object.defineProperty(win.navigator, 'userAgent', {
value: 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)',
});
},
});
});

关于browser - Cypress.io 中是否有编程方式来更改用户代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51048880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com