Skip to content

Commit

Permalink
test(firefox): support Puppeteer-Firefox specific env variables (#3907)
Browse files Browse the repository at this point in the history
This patch:
- adds support to `FFOX` env variable for Puppeteer testsuite
- install Firefox preferences when running tests with custom firefox
  executable

References #3889
  • Loading branch information
aslushnikov committed Feb 5, 2019
1 parent e100000 commit dd8bd6d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 10 deletions.
15 changes: 14 additions & 1 deletion test/puppeteer.spec.js
Expand Up @@ -22,14 +22,22 @@ const {Matchers} = require('../utils/testrunner/');
const YELLOW_COLOR = '\x1b[33m';
const RESET_COLOR = '\x1b[0m';

module.exports.addTests = ({testRunner, product, puppeteer, Errors, DeviceDescriptors, defaultBrowserOptions}) => {
module.exports.addTests = ({testRunner, product, puppeteer, Errors, DeviceDescriptors, slowMo, headless}) => {
const {describe, xdescribe, fdescribe} = testRunner;
const {it, fit, xit} = testRunner;
const {beforeAll, beforeEach, afterAll, afterEach} = testRunner;

const CHROME = product === 'Chromium';
const FFOX = product === 'Firefox';

const defaultBrowserOptions = {
handleSIGINT: false,
executablePath: CHROME ? process.env.CHROME : process.env.FFOX,
slowMo,
headless,
dumpio: (process.env.DUMPIO || 'false').trim().toLowerCase() === 'true',
};

if (defaultBrowserOptions.executablePath) {
console.warn(`${YELLOW_COLOR}WARN: running ${product} tests with ${defaultBrowserOptions.executablePath}${RESET_COLOR}`);
} else {
Expand Down Expand Up @@ -59,6 +67,11 @@ module.exports.addTests = ({testRunner, product, puppeteer, Errors, DeviceDescri
headless: !!defaultBrowserOptions.headless,
};

beforeAll(async() => {
if (FFOX && defaultBrowserOptions.executablePath)
await require('../experimental/puppeteer-firefox/misc/install-preferences')(defaultBrowserOptions.executablePath);
});

describe('Browser', function() {
beforeAll(async state => {
state.browser = await puppeteer.launch(defaultBrowserOptions);
Expand Down
13 changes: 4 additions & 9 deletions test/test.js
Expand Up @@ -20,13 +20,6 @@ const utils = require('./utils');

const headless = (process.env.HEADLESS || 'true').trim().toLowerCase() === 'true';
const slowMo = parseInt((process.env.SLOW_MO || '0').trim(), 10);
const defaultBrowserOptions = {
handleSIGINT: false,
executablePath: process.env.CHROME,
slowMo,
headless,
dumpio: (process.env.DUMPIO || 'false').trim().toLowerCase() === 'true',
};

let parallel = 1;
if (process.env.PPTR_PARALLEL_TESTS)
Expand Down Expand Up @@ -93,8 +86,9 @@ if (process.env.BROWSER !== 'firefox') {
puppeteer: utils.requireRoot('index'),
Errors: utils.requireRoot('Errors'),
DeviceDescriptors: utils.requireRoot('DeviceDescriptors'),
defaultBrowserOptions,
testRunner,
slowMo,
headless,
});
if (process.env.COVERAGE)
utils.recordAPICoverage(testRunner, require('../lib/api'), CHROMIUM_NO_COVERAGE);
Expand All @@ -106,8 +100,9 @@ if (process.env.BROWSER !== 'firefox') {
puppeteer: require('../experimental/puppeteer-firefox'),
Errors: require('../experimental/puppeteer-firefox/Errors'),
DeviceDescriptors: utils.requireRoot('DeviceDescriptors'),
defaultBrowserOptions,
testRunner,
slowMo,
headless,
});
});
}
Expand Down

0 comments on commit dd8bd6d

Please sign in to comment.