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 用于控制所有 chromium
、phantomjs
、headless chrome
.
phantomjs
有很多问题,我每天都会在 SO 上看到,所以你应该避免使用它。
chrome headless
是非常新的功能,我仍然不推荐它。 chrome
或 chrome 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');
});
});
我只有一个命令行 Linux 但想为我们的流星应用程序做一些 ui 测试。 所以我听说有一些库提供无头浏览器的功能。
PhantomJS、Selenium、无头Chrome
那么我想知道的是,没有 xvfb 它们中的哪些可以工作 并且没有安装浏览器(即 chrome 或 chromium)? 我想依赖 meteor 或 npm packages opt。充其量没有全局依赖性。
也感谢任何用户体验。我听说 PhantomJS 由于过时和奇怪的行为而不被推荐。
Selenium 用于控制所有 chromium
、phantomjs
、headless chrome
.
phantomjs
有很多问题,我每天都会在 SO 上看到,所以你应该避免使用它。
chrome headless
是非常新的功能,我仍然不推荐它。 chrome
或 chrome 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');
});
});