运行behat chrome无头(没有硒?)

时间:2017-04-21 08:12:12

标签: google-chrome selenium phantomjs behat headless

我在没有问题的情况下对PhantomJS进行了Behat测试。我是这样开始的:

bin/phantomjs --webdriver=8643

它有效,但我想运行Chrome无头而不是PhantomJS。为此,我尝试了这个:

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

但Behat似乎没有在这个Chrome上开始任何事情。我找到了很多关于Chrome和Selenium的文档,但是我想知道它是否可以运行它,就像我使用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'

2 个答案:

答案 0 :(得分:1)

要在Google Chrome上运行测试,您需要chromedriver
然后你可以使用chromedriver正在收听的端口(默认为9515)而不是PhantomJs 8643.你不再需要Selenium了。
最后,您将--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

答案 1 :(得分:0)

这在Ubuntu 16.04 LTS上对我有用

default:    
  extensions:
    Behat\MinkExtension:
      sessions:
        default_session:
          selenium2:
            browser: chrome
            wd_host: http://127.0.0.1:9515
            capabilities:
              chrome:
                switches:
                  - "--headless"
                  - "--disable-gpu"