Linux 仅命令行无头浏览器测试 (React/Blaze)

Linux Command Line only Headless Browser Testing (React/Blaze)

我只有一个命令行 Linux 但想为我们的流星应用程序做一些 ui 测试。 所以我听说有一些库提供无头浏览器的功能。

PhantomJS、Selenium、无头Chrome

那么我想知道的是,没有 xvfb 它们中的哪些可以工作 并且没有安装浏览器(即 chrome 或 chromium)? 我想依赖 meteor 或 npm packages opt。充其量没有全局依赖性。

也感谢任何用户体验。我听说 PhantomJS 由于过时和奇怪的行为而不被推荐。

Selenium 用于控制所有 chromiumphantomjsheadless chrome.

phantomjs 有很多问题,我每天都会在 SO 上看到,所以你应该避免使用它。

chrome headless 是非常新的功能,我仍然不推荐它。 chromechrome headless 都需要铬的存在。

所以我建议您为此使用 docker。

docker run -d -p 4444:4444 selenium/standalone-chrome

这将在您的服务器上启动一个 chrome 节点,然后您可以在编写测试的语言绑定上使用相同的节点。我写 py

var webdriverio = require('webdriverio');

var browser = webdriverio
  // setup your selenium server address. 
  // If you are using default settings, leave it empty
  .remote({ host: 'localhost', port: 4444 })
  // run browser that we want to test
  .init({ browserName: 'chrome', version: '45' });

describe('webdriver.io tests', function() {
    it('is a test', function() {
        browser.get('http://example.com');
        browser.click('.logo');
    });
    it('is a second test', function() {
        browser.click('.link');
    });
});