2017-04-21 1 views
1

J'ai couru le test de Behat sur PhantomJS sans problème. Je ne commence par ceci:Exécuter behat chrome sans tête (sans sélénium?)

bin/phantomjs --webdriver=8643 

Il fonctionne, mais je veux lancer un sans tête Chrome au lieu de PhantomJS. Pour faire cela j'ai essayé ceci:

google-chrome --headless --remote-debugging-port=8643 

Mais Behat ne semble pas démarrer quoi que ce soit sur ce Chrome. J'ai trouvé beaucoup de docs pour Chrome avec Selenium mais je voulais savoir s'il était possible de l'exécuter comme si j'étais en train d'utiliser PhantomJS avec le pilote Selenium, mais sans serveur Selenium?

default: 
    suites: 
    default: 
     contexts: 
     - FeatureContext 
     - Behat\MinkExtension\Context\MinkContext 
    extensions: 
    Behat\MinkExtension: 
     base_url: 'http://myurl.com/' 
     sessions: 
     default: 
      selenium2: 
      wd_host: 'http://localhost:8643' 

Répondre

0

Pour exécuter vos tests sur Google Chrome, vous aurez besoin chromedriver
Ensuite, vous pouvez utiliser le port chromedriver écoute (9515 par défaut) au lieu de PhantomJS 8643. Vous n'avez pas besoin Sélénium plus alors.
Enfin, vous passez le drapeau --headless au chrome, donc vous n'avez pas besoin de xfvb.

Un exemple config:

# behat.yml 
default: 
    extensions: 
     # ... 
     Behat\MinkExtension: 
      base_url: 'http://myurl.com/' 
      sessions: 
       default: 
        selenium2: 
         browser: chrome 
         # Note: I'm not totally sure you still need the /wd/hub path 
         wd_host: http://localhost:9515/wd/hub 
         capabilities: 
          chrome: 
           switches: 
            - "--headless" 

Plus de documentation: https://developers.google.com/web/updates/2017/04/headless-chrome