@browserstack/testcafe
Version:
Automated browser testing for the modern web development stack.
24 lines • 3.88 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"));
const process_1 = require("../../../../../utils/process");
const browser_starter_1 = __importDefault(require("../../../utils/browser-starter"));
const build_chrome_args_1 = require("./build-chrome-args");
const browserStarter = new browser_starter_1.default();
async function start(pageUrl, { browserName, config, cdpPort, tempProfileDir, inDocker }) {
const chromeInfo = await testcafe_browser_tools_1.default.getBrowserInfo(config.path || browserName);
const chromeOpenParameters = Object.assign({}, chromeInfo);
chromeOpenParameters.cmd = build_chrome_args_1.buildChromeArgs({ config, cdpPort, platformArgs: chromeOpenParameters.cmd, tempProfileDir, inDocker });
await browserStarter.startBrowser(chromeOpenParameters, pageUrl);
}
exports.start = start;
async function stop({ browserId }) {
// NOTE: Chrome on Linux closes only after the second SIGTERM signall
if (!await process_1.killBrowserProcess(browserId))
await process_1.killBrowserProcess(browserId);
}
exports.stop = stop;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtY2hyb21lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Jyb3dzZXIvcHJvdmlkZXIvYnVpbHQtaW4vZGVkaWNhdGVkL2Nocm9tZS9sb2NhbC1jaHJvbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvRkFBa0Q7QUFDbEQsMERBQWtFO0FBQ2xFLHFGQUE0RDtBQUM1RCwyREFBc0Q7QUFFdEQsTUFBTSxjQUFjLEdBQUcsSUFBSSx5QkFBYyxFQUFFLENBQUM7QUFFckMsS0FBSyxVQUFVLEtBQUssQ0FBRSxPQUFPLEVBQUUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFO0lBQzVGLE1BQU0sVUFBVSxHQUFhLE1BQU0sZ0NBQVksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsQ0FBQztJQUMzRixNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRTNELG9CQUFvQixDQUFDLEdBQUcsR0FBRyxtQ0FBZSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRWxJLE1BQU0sY0FBYyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBUEQsc0JBT0M7QUFFTSxLQUFLLFVBQVUsSUFBSSxDQUFFLEVBQUUsU0FBUyxFQUFFO0lBQ3JDLHFFQUFxRTtJQUNyRSxJQUFJLENBQUMsTUFBTSw0QkFBa0IsQ0FBQyxTQUFTLENBQUM7UUFDcEMsTUFBTSw0QkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBSkQsb0JBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnJvd3NlclRvb2xzIGZyb20gJ3Rlc3RjYWZlLWJyb3dzZXItdG9vbHMnO1xuaW1wb3J0IHsga2lsbEJyb3dzZXJQcm9jZXNzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdXRpbHMvcHJvY2Vzcyc7XG5pbXBvcnQgQnJvd3NlclN0YXJ0ZXIgZnJvbSAnLi4vLi4vLi4vdXRpbHMvYnJvd3Nlci1zdGFydGVyJztcbmltcG9ydCB7IGJ1aWxkQ2hyb21lQXJncyB9IGZyb20gJy4vYnVpbGQtY2hyb21lLWFyZ3MnO1xuXG5jb25zdCBicm93c2VyU3RhcnRlciA9IG5ldyBCcm93c2VyU3RhcnRlcigpO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3RhcnQgKHBhZ2VVcmwsIHsgYnJvd3Nlck5hbWUsIGNvbmZpZywgY2RwUG9ydCwgdGVtcFByb2ZpbGVEaXIsIGluRG9ja2VyIH0pIHtcbiAgICBjb25zdCBjaHJvbWVJbmZvICAgICAgICAgICA9IGF3YWl0IGJyb3dzZXJUb29scy5nZXRCcm93c2VySW5mbyhjb25maWcucGF0aCB8fCBicm93c2VyTmFtZSk7XG4gICAgY29uc3QgY2hyb21lT3BlblBhcmFtZXRlcnMgPSBPYmplY3QuYXNzaWduKHt9LCBjaHJvbWVJbmZvKTtcblxuICAgIGNocm9tZU9wZW5QYXJhbWV0ZXJzLmNtZCA9IGJ1aWxkQ2hyb21lQXJncyh7IGNvbmZpZywgY2RwUG9ydCwgcGxhdGZvcm1BcmdzOiBjaHJvbWVPcGVuUGFyYW1ldGVycy5jbWQsIHRlbXBQcm9maWxlRGlyLCBpbkRvY2tlciB9KTtcblxuICAgIGF3YWl0IGJyb3dzZXJTdGFydGVyLnN0YXJ0QnJvd3NlcihjaHJvbWVPcGVuUGFyYW1ldGVycywgcGFnZVVybCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdG9wICh7IGJyb3dzZXJJZCB9KSB7XG4gICAgLy8gTk9URTogQ2hyb21lIG9uIExpbnV4IGNsb3NlcyBvbmx5IGFmdGVyIHRoZSBzZWNvbmQgU0lHVEVSTSBzaWduYWxsXG4gICAgaWYgKCFhd2FpdCBraWxsQnJvd3NlclByb2Nlc3MoYnJvd3NlcklkKSlcbiAgICAgICAgYXdhaXQga2lsbEJyb3dzZXJQcm9jZXNzKGJyb3dzZXJJZCk7XG59XG4iXX0=