我正在测试专为移动网页设计的网站。它会截取页面的屏幕截图,但屏幕截图会在桌面而不是移动设备上显示屏幕。如何更改这些测试的chrome(我正在测试的浏览器)的用户代理。我试过这个没有成功:
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
args: ['--user-agent ="Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3"']
}
},
测试运行,但这条线似乎没有效果。
答案 0 :(得分:3)
Protractor中的配置语法似乎已经改变了,对我来说,这在最近的Chrome(v38)上有用(iPhone):
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': ['user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4']
}
},
答案 1 :(得分:2)
对于iPhone 5 Retina,您可能还想更改浏览器尺寸以匹配您的设备:
browser.manage().window().setSize(1136, 640);
将该代码放在onPrepare部分。
答案 2 :(得分:0)
我遇到过类似的情况,无法使用某些chrome参数,例如设置user-agent
。
我的解决方案是在我的量角器配置中将chromeOptions
更改为goog:chromeOptions
。
chromeOptions
在我的本地计算机上通过chromedriver运行时有效,但在远程Selenium实例上运行时无效。 goog:chromeOptions
在本地和远程均可使用。
我正在使用量角器5.4.2版。