tests: Avoid deprecated Builder.withCapabilities() method

This commit is contained in:
Richard Hansen 2021-09-15 19:42:11 -04:00
parent 73cb698ba0
commit 15f17b5237

View file

@ -26,7 +26,7 @@ const log = (msg, pfx = '') => {
const finishedRegex = /FINISHED.*[0-9]+ tests passed, ([0-9]+) tests failed/; const finishedRegex = /FINISHED.*[0-9]+ tests passed, ([0-9]+) tests failed/;
const sauceTestWorker = async.queue(async ({name, pfx, testSettings}) => { const sauceTestWorker = async.queue(async ({name, pfx, browser, version, platform}) => {
const chromeOptions = new swdChrome.Options() const chromeOptions = new swdChrome.Options()
.addArguments('use-fake-device-for-media-stream', 'use-fake-ui-for-media-stream'); .addArguments('use-fake-device-for-media-stream', 'use-fake-ui-for-media-stream');
const edgeOptions = new swdEdge.Options() const edgeOptions = new swdEdge.Options()
@ -34,10 +34,13 @@ const sauceTestWorker = async.queue(async ({name, pfx, testSettings}) => {
const firefoxOptions = new swdFirefox.Options() const firefoxOptions = new swdFirefox.Options()
.setPreference('media.navigator.permission.disabled', true) .setPreference('media.navigator.permission.disabled', true)
.setPreference('media.navigator.streams.fake', true); .setPreference('media.navigator.streams.fake', true);
const driver = await new swd.Builder() const builder = new swd.Builder()
.usingServer('https://ondemand.saucelabs.com/wd/hub') .usingServer('https://ondemand.saucelabs.com/wd/hub')
.withCapabilities(Object.assign({ .forBrowser(browser, version, platform)
'sauce:options': { .setChromeOptions(chromeOptions)
.setEdgeOptions(edgeOptions)
.setFirefoxOptions(firefoxOptions);
builder.getCapabilities().set('sauce:options', {
username: process.env.SAUCE_USERNAME, username: process.env.SAUCE_USERNAME,
accessKey: process.env.SAUCE_ACCESS_KEY, accessKey: process.env.SAUCE_ACCESS_KEY,
name: [process.env.GIT_HASH].concat(process.env.SAUCE_NAME || [], name).join(' - '), name: [process.env.GIT_HASH].concat(process.env.SAUCE_NAME || [], name).join(' - '),
@ -47,12 +50,8 @@ const sauceTestWorker = async.queue(async ({name, pfx, testSettings}) => {
// don't know how to print them into output of the tests // don't know how to print them into output of the tests
extendedDebugging: true, extendedDebugging: true,
tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER, tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER,
}, });
}, testSettings)) const driver = await builder.build();
.setChromeOptions(chromeOptions)
.setEdgeOptions(edgeOptions)
.setFirefoxOptions(firefoxOptions)
.build();
const url = `https://saucelabs.com/jobs/${(await driver.getSession()).getId()}`; const url = `https://saucelabs.com/jobs/${(await driver.getSession()).getId()}`;
try { try {
await driver.get('http://localhost:9001/tests/frontend/'); await driver.get('http://localhost:9001/tests/frontend/');
@ -94,39 +93,18 @@ const sauceTestWorker = async.queue(async ({name, pfx, testSettings}) => {
}, 6); // run 6 tests in parrallel }, 6); // run 6 tests in parrallel
Promise.all([ Promise.all([
{ {browser: 'safari', version: 'latest', platform: 'macOS 11.00'},
platformName: 'macOS 11.00',
browserName: 'safari',
browserVersion: 'latest',
},
...(isAdminRunner ? [] : [ ...(isAdminRunner ? [] : [
{ {browser: 'firefox', version: 'latest', platform: 'Windows 10'},
platformName: 'Windows 10', {browser: 'MicrosoftEdge', version: 'latest', platform: 'Windows 10'},
browserName: 'firefox', {browser: 'chrome', version: 'latest', platform: 'Windows 10'},
browserVersion: 'latest', {browser: 'chrome', version: '55.0', platform: 'Windows 7'},
},
{
platformName: 'Windows 10',
browserName: 'MicrosoftEdge',
browserVersion: 'latest',
},
{
platformName: 'Windows 10',
browserName: 'chrome',
browserVersion: 'latest',
},
{
platformName: 'Windows 7',
browserName: 'chrome',
browserVersion: '55.0',
},
]), ]),
].map(async (testSettings) => { ].map(async ({browser, version, platform}) => {
const name = const name = `${browser} ${version}, ${platform}`;
`${testSettings.browserName} ${testSettings.browserVersion}, ${testSettings.platformName}`;
const pfx = `[${name}] `; const pfx = `[${name}] `;
try { try {
await sauceTestWorker.push({name, pfx, testSettings}); await sauceTestWorker.push({name, pfx, browser, version, platform});
} catch (err) { } catch (err) {
log(`[red]FAILED[clear] ${err.stack || err}`, pfx); log(`[red]FAILED[clear] ${err.stack || err}`, pfx);
process.exitCode = 1; process.exitCode = 1;