2014-05-07 1 views
1

Je suis en train de tester un site conçu pour les pages mobiles. Il prend des captures d'écran de la page mais les captures d'écran affichent l'écran comme sur un bureau plutôt que sur un appareil mobile. Comment puis-je changer l'utilisateur-agent de chrome (le navigateur que je suis en train de tester) pour ces tests. J'ai essayé ceci sans succès:Protractor: changer d'agent utilisateur

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"'] 
    } 
}, 

Les tests s'exécutent, mais cette ligne semble n'avoir aucun effet.

Répondre

2

Vous pouvez également changer la taille du navigateur pour correspondre à celui de l'appareil, pour l'iPhone 5 Retina:

browser.manage().window().setSize(1136, 640); 

place ce code au sein de votre section OnPrepare.

+0

Cela fonctionne. Je l'utilisais dans mon 'beforeEach' mais si je peux rester dans le onPrepare, c'est encore mieux. Puisque je veux utiliser des variables pour les tailles (de 'params') savez-vous comment je serais capable de faire cela? – xv47

+0

Vous pouvez ouvrir une question distincte pour cela et mettre le lien ici, je suis heureux de vous aider. –

+1

Peut-être d'abord essayer de lire 'browser.params.width' et' browser.params.height' dans ce 'setSize()' et ajouter des paramètres à votre fichier de configuration [comme Julie fait ici] (https://github.com/angular/protractor/issues/32 # issuecomment-24355163) –

3

La syntaxe de configuration dans Protractor semble avoir changé, pour moi cela a fonctionné (iPhone) sur la récente Chrome (V38):

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'] 
    } 
},