我無法使用組態檔更改/覆寫 userAgent。我的柏樹 json:
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
})
}
錯誤是:錯誤:注冊插件時必須傳遞有效的事件名稱。
我完全明白了,我無法在運行時更改它,但在此之前通過配置應該可以作業。config 被傳遞到module.export,所以我一無所知。我錯過了什么?
注意:視口不是一個選項,我需要使用 userAgent 并且不推薦使用 cy.visit() 標頭資訊修改。
謝謝!
uj5u.com熱心網友回復:
原理看起來不錯,你應該可以在插件中更改用戶代理。
但是語法是錯誤的,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://www.uj5u.com/shujuku/443691.html
