testcafe
Version:
Automated browser testing for the modern web development stack.
32 lines • 4.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const testcafe_browser_tools_1 = __importDefault(require("testcafe-browser-tools"));
exports.default = {
isMultiBrowser: true,
async openBrowser(browserId, pageUrl, browserName) {
const args = browserName.split(' ');
const alias = args.shift();
const browserInfo = await testcafe_browser_tools_1.default.getBrowserInfo(alias);
const openParameters = Object.assign({}, browserInfo);
if (args.length)
openParameters.cmd = args.join(' ') + (openParameters.cmd ? ' ' + openParameters.cmd : '');
await testcafe_browser_tools_1.default.open(openParameters, pageUrl);
},
async isLocalBrowser() {
return true;
},
async getBrowserList() {
const installations = await testcafe_browser_tools_1.default.getInstallations();
return Object.keys(installations);
},
async isValidBrowserName(browserName) {
const browserNames = await this.getBrowserList();
browserName = browserName.toLowerCase().split(' ')[0];
return browserNames.indexOf(browserName) > -1;
}
};
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxseS1pbnN0YWxsZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnJvd3Nlci9wcm92aWRlci9idWlsdC1pbi9sb2NhbGx5LWluc3RhbGxlZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9GQUFrRDtBQUdsRCxrQkFBZTtJQUNYLGNBQWMsRUFBRSxJQUFJO0lBRXBCLEtBQUssQ0FBQyxXQUFXLENBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXO1FBQzlDLE1BQU0sSUFBSSxHQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRTNCLE1BQU0sV0FBVyxHQUFNLE1BQU0sZ0NBQVksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFdEQsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUNYLGNBQWMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUvRixNQUFNLGdDQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2hCLE1BQU0sYUFBYSxHQUFHLE1BQU0sZ0NBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFFLFdBQVc7UUFDakMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFakQsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdEQsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJyb3dzZXJUb29scyBmcm9tICd0ZXN0Y2FmZS1icm93c2VyLXRvb2xzJztcblxuXG5leHBvcnQgZGVmYXVsdCB7XG4gICAgaXNNdWx0aUJyb3dzZXI6IHRydWUsXG5cbiAgICBhc3luYyBvcGVuQnJvd3NlciAoYnJvd3NlcklkLCBwYWdlVXJsLCBicm93c2VyTmFtZSkge1xuICAgICAgICBjb25zdCBhcmdzICA9IGJyb3dzZXJOYW1lLnNwbGl0KCcgJyk7XG4gICAgICAgIGNvbnN0IGFsaWFzID0gYXJncy5zaGlmdCgpO1xuXG4gICAgICAgIGNvbnN0IGJyb3dzZXJJbmZvICAgID0gYXdhaXQgYnJvd3NlclRvb2xzLmdldEJyb3dzZXJJbmZvKGFsaWFzKTtcbiAgICAgICAgY29uc3Qgb3BlblBhcmFtZXRlcnMgPSBPYmplY3QuYXNzaWduKHt9LCBicm93c2VySW5mbyk7XG5cbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoKVxuICAgICAgICAgICAgb3BlblBhcmFtZXRlcnMuY21kID0gYXJncy5qb2luKCcgJykgKyAob3BlblBhcmFtZXRlcnMuY21kID8gJyAnICsgb3BlblBhcmFtZXRlcnMuY21kIDogJycpO1xuXG4gICAgICAgIGF3YWl0IGJyb3dzZXJUb29scy5vcGVuKG9wZW5QYXJhbWV0ZXJzLCBwYWdlVXJsKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgaXNMb2NhbEJyb3dzZXIgKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuXG4gICAgYXN5bmMgZ2V0QnJvd3Nlckxpc3QgKCkge1xuICAgICAgICBjb25zdCBpbnN0YWxsYXRpb25zID0gYXdhaXQgYnJvd3NlclRvb2xzLmdldEluc3RhbGxhdGlvbnMoKTtcblxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoaW5zdGFsbGF0aW9ucyk7XG4gICAgfSxcblxuICAgIGFzeW5jIGlzVmFsaWRCcm93c2VyTmFtZSAoYnJvd3Nlck5hbWUpIHtcbiAgICAgICAgY29uc3QgYnJvd3Nlck5hbWVzID0gYXdhaXQgdGhpcy5nZXRCcm93c2VyTGlzdCgpO1xuXG4gICAgICAgIGJyb3dzZXJOYW1lID0gYnJvd3Nlck5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCgnICcpWzBdO1xuXG4gICAgICAgIHJldHVybiBicm93c2VyTmFtZXMuaW5kZXhPZihicm93c2VyTmFtZSkgPiAtMTtcbiAgICB9XG59O1xuIl19