@rbnx/webdriverio
Version:
webdriverio plugin for nx
69 lines • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.capabilitiesFilter = void 0;
const capabilities = (headless) => new Map([
[
'chrome',
{
browserName: 'chrome',
acceptInsecureCerts: true,
'goog:chromeOptions': {
args: headless ? ['headless', 'disable-gpu'] : [],
},
},
],
[
'firefox',
{
browserName: 'firefox',
'moz:firefoxOptions': {
args: headless ? ['-headless'] : [],
},
},
],
[
'edge',
{
browserName: 'MicrosoftEdge',
'ms:edgeOptions': {
args: headless ? ['--headless'] : [],
},
},
],
[
'android',
{
browserName: 'chrome',
acceptInsecureCerts: true,
'goog:chromeOptions': {
mobileEmulation: {
deviceName: 'Pixel 5',
},
},
},
],
[
'iphone',
{
browserName: 'chrome',
acceptInsecureCerts: true,
'goog:chromeOptions': {
mobileEmulation: {
deviceName: 'iPhone 12 Pro',
},
},
},
],
]);
const getBrowserCapabilities = ({ browsers, headless, }) => browsers
.map((capability) => capabilities(headless).get(capability))
.filter(Boolean);
const uniqueCapabilities = (caps) => [...new Set(caps.map((o) => JSON.stringify(o)))].map((s) => JSON.parse(s));
function capabilitiesFilter({ browsers, capabilities = [], headless = false, }) {
return uniqueCapabilities([
...capabilities,
...getBrowserCapabilities({ browsers, headless }),
]);
}
exports.capabilitiesFilter = capabilitiesFilter;
//# sourceMappingURL=capabilities.js.map