create-testplane
Version:
A tool for fast and simple Testplane configuration
70 lines • 3.05 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const inquirer_1 = __importDefault(require("inquirer"));
const lodash_1 = __importDefault(require("lodash"));
const plugins_1 = require("../constants/plugins");
const defaultTestplaneConfig_1 = require("../constants/defaultTestplaneConfig");
exports.default = {
name: plugins_1.TESTPLANE_SAFARI_COMMANDS,
fn: async (config) => {
const browserId = "safari";
const createInputPrompt = (name, message) => ({
type: "input",
name,
message: "testplane-safari-commands: " + message,
});
const { deviceName, platformVersion, version } = await inquirer_1.default.prompt([
createInputPrompt("deviceName", "Enter device name (ex: iPhone 11):"),
createInputPrompt("platformVersion", "Enter iOS version (ex: 13.3):"),
createInputPrompt("version", "Enter safari version (ex: 13.0):"),
]);
lodash_1.default.mergeWith(config, {
sets: {
"touch-phone": {
browsers: [browserId],
files: [`${defaultTestplaneConfig_1.defaultTestplaneTestsDir}/**/*.testplane.(t|j)s`],
},
},
browsers: {
[browserId]: {
sessionEnvFlags: { isW3C: false },
desiredCapabilities: {
platformName: "iOS",
platformVersion,
version,
deviceName,
browserName: "safari",
automationName: "XCUITest",
},
},
},
plugins: {
[plugins_1.TESTPLANE_SAFARI_COMMANDS]: {
__comment: "https://github.com/gemini-testing/testplane-safari-commands",
enabled: true,
browsers: Object.keys(config.browsers)
.filter(browser => browser.includes("safari"))
.reduce((browsers, browser) => {
browsers[browser] = {
commands: [
"url",
"click",
"screenshot",
"orientation",
"swipe",
"touch",
"dragAndDrop",
"deviceClickBack",
],
};
return browsers;
}, {}),
},
},
}, (objValue, srcValue) => (lodash_1.default.isArray(objValue) ? lodash_1.default.uniq(objValue.concat(srcValue)) : undefined));
},
};
//# sourceMappingURL=testplane-safari-commands.js.map