量角器:更改用户代理

时间:2014-05-07 14:39:54

标签: google-chrome mobile google-chrome-devtools protractor

我正在测试专为移动网页设计的网站。它会截取页面的屏幕截图,但屏幕截图会在桌面而不是移动设备上显示屏幕。如何更改这些测试的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"'] 
    }
},

测试运行,但这条线似乎没有效果。

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版。

相关问题