有没有办法在nightwatch中为一次测试设置自定义useragent?
我想使用移动设备和非移动设备来测试网页,以确保显示正确的体验。
我尝试将其设置为Cookie,但它无法正常工作:
browser
.setCookie({
name : "User_Agent",
value : "iphone",
})
.url('...')
// etc
答案 0 :(得分:3)
您的测试套件必须独立于目标浏览器。
您应该直接在NightWatch配置json文件中设置用户代理:
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"port" : 4444
"selenium_host" : "localhost",
"silent": true,
"screenshots" : {
"enabled" : true,
"path" : "screenshots"
},
"desiredCapabilities": {
"browserName": "chrome",
"chromeOptions": {
"args": [
"--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A",
"--window-size=320,640"
]
},
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
如有必要,您可以在此处找到主要的用户代理列表:http://www.useragentstring.com/pages/Safari/
答案 1 :(得分:0)
如果这里有人想要在Firefox上调整用户代理字符串,则与chrome有点不同。
firefox: {
...
desiredCapabilities: {
browserName: 'firefox',
alwaysMatch: {
'moz:firefoxOptions': {
prefs: {
'general.useragent.override': 'custom user agent string here',
},
args: [],
},
},
},
...
},
我当前的软件包版本:
"nightwatch": "^1.3.2"
"geckodriver": "^1.19.1"