2017-04-21 60 views
1

我在PhantomJS上運行Behat測試沒有問題。我是這樣開始的:奔跑behat鉻無頭(不含硒?)

bin/phantomjs --webdriver=8643 

它的工作原理,但我想運行一個Chrome headless而不是PhantomJS。要做到這一點,我試過這個:

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

但Behat似乎並沒有在這個Chrome上啓動任何東西。我在Selenium上發現了很多針對Chrome的文檔,但我想知道是否可以像Selenium驅動程序運行PhantomJS一樣運行它,但是沒有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' 

回答

0

要運行在谷歌瀏覽器的測試,你將需要chromedriver
然後你可以使用的端口chromedriver是(默認9515)聽的,而不是PhantomJs 8643.您不需要再硒然後。
最後,您將--headless標誌傳遞給chrome,因此您不需要xfvb。

一個配置例子:

# 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" 

更多文檔:https://developers.google.com/web/updates/2017/04/headless-chrome