UNPKG

ui5-test-runner

Version:
81 lines (70 loc) 1.51 kB
'use strict' let browserio require('./browser')({ metadata: { name: 'webdriverio', options: [ 'visible', ['browser', 'chrome', 'firefox'], 'binary', 'viewport', 'language', 'unsecure' ] }, async capabilities ({ settings, options }) { return { modules: ['webdriverio'], screenshot: '.png', scripts: true, traces: [] } }, async screenshot ({ filename }) { if (browserio) { await browserio.saveScreenshot(filename) return true } }, async beforeExit () { if (browserio) { await browserio.deleteSession() } }, async run ({ settings: { url, scripts, modules }, options, consoleWriter, networkWriter }) { const { remote } = require(modules.webdriverio) const [browserOptions, args] = { chrome: [ 'goog:chromeOptions', options.chromeArgs() ], firefox: [ 'moz:firefoxOptions', options.visible ? [] : ['-headless'] ] }[options.browser] browserio = await remote({ capabilities: { browserName: options.browser, webSocketUrl: true, [browserOptions]: { args, binary: options.binary } } }) if (scripts && scripts.length) { for (const script of scripts) { await browserio.scriptAddPreloadScript({ functionDeclaration: `() => ${script}` }) } } await browserio.url(url) } })