2017-08-03 5 views
2

J'ai une page angulaire qui utilise google recaptcha. J'ai écrit le test d'automatisation en utilisant Protractor pour le même (et j'ai utilisé le site de test/clé secrète pour recaptcha) et cela fonctionne très bien pour le navigateur chrome.Google Recaptcha pas montré pour le test d'automatisation en chrome sans tête

Mais j'ai besoin d'utiliser Xvfb pour exécuter virtualized Chrome dans le cadre du processus de test en ubuntu/jenkins. Et j'ai les pilotes Chrome installés. Quand je lance le test avec cette configuration et après réglage de la capacité de protractor,

capabilities: { 
    browserName: 'chrome', 

    chromeOptions: { 
    args: [ "--headless", "--disable-gpu", "--window-size=1800,1800" ] 
    } 
    } 

Le Captcha ne fonctionne tout simplement pas présenté et il affiche comme ci-dessous, enter image description here

version pilote Chrome est chromedriver_2.31

Qu'est-ce que je fais mal ??

Répondre

1

J'ai rencontré ce même problème, en essayant d'obtenir une capture d'écran avec un reCaptcha dans la page. Les technologies étaient différentes, mais l'utilisation sous-jacente de google-chrome sans tête est la même (utilise Puppeteer). La solution est de configurer l'userAgent sur quelque chose de compatible, comme le navigateur que vous utilisez régulièrement. Dans mon cas (avec marionnettiste):

await page.setUserAgent('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/60.0.3112.113 Chrome/60.0.3112.113 Safari/537.36') 

Pour d'autres chaînes d'agent: voir Chrome userAgents.

Pour Protractor, vous pouvez définir l'agent utilisateur comme ceci:

capabilities: { 
'browserName': 'chrome', 
'chrome-switches' : ["--user-agent ='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/60.0.3112.113 Chrome/60.0.3112.113 Safari/537.36'"] 
}, 

Espoir qui fonctionne pour vous.

+0

Je pense que cela ne fonctionne plus. Une mise à jour pour ceci? – crey4fun

+0

L'utilisation de marionnettiste que je cite ici fonctionne toujours pour moi à la version que j'utilise. Il n'y a pas eu de changements de rupture autant que je peux dire dans le google-chrome sans tête. L'implémentation de Protractor (montrée dans la réponse) a peut-être changé, mais je n'ai pas trouvé d'informations à ce sujet. –