我无法使用配置文件更改/重写userAgent。我的柏木:
env object: {
"platform" : "mobile"
}我的插件/index.js
module.exports = (on, options, config) => {
.
.
several on()s
.
.
on(config => {
if (config.env.platform === 'desktop') {
config.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36'
} else if (config.env.platform === 'mobile') {
config.userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1'
}
return config
})
}错误是: Error:注册插件时必须传递一个有效的事件名。
我完全理解它,我无法在运行时更改它,但在此之前,通过配置应该可以工作。配置被传递到module.export中,所以我一无所知。我错过了什么?
注意: Viewport不是一个选项,我需要使用userAgent和cy.visit()头信息修改是不建议的。
谢谢!
发布于 2022-03-14 21:07:46
原则看起来不错,你应该能够在插件中改变用户代理。
但是语法是错误的,on()正在捕获一个事件,它需要一个事件名参数:on('<event>', config => {。
但是您并不真正需要或不需要一个事件,只需修改配置内联即可
module.exports = (on, options, config) => {
...
if (config.env.platform === 'desktop') {
config.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36'
}
if (config.env.platform === 'mobile') {
config.userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1'
}
return config
}https://stackoverflow.com/questions/71474162
复制相似问题