【问题标题】:Linux Command Line only Headless Browser Testing (React/Blaze)仅 Linux 命令行 无头浏览器测试 (React/Blaze)
【发布时间】:2017-08-23 10:27:15
【问题描述】:

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

PhantomJS、Selenium、无头 Chrome

所以我想知道的是,没有xvfb,它们中的哪些可以工作 并且没有安装浏览器(即 chrome 或 chromium)? 我想依靠流星或 npm 包选择。充其量没有全局依赖。

我们也感谢任何用户体验。我听说 PhantomJS 不推荐使用,因为它已经过时且行为怪异。

【问题讨论】:

  • 参见:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

标签: javascript node.js selenium phantomjs headless-browser


【解决方案1】:

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');
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多