testcafe
Version:
Automated browser testing for the modern web development stack.
43 lines • 5.72 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 = require("testcafe-browser-tools");
const warning_message_1 = __importDefault(require("../../../notifications/warning-message"));
exports.default = {
localBrowsersFlags: {},
async openBrowser(browserId) {
await this.waitForConnectionReady(browserId);
const localBrowserWindow = await testcafe_browser_tools_1.findWindow(browserId);
this.localBrowsersFlags[browserId] = localBrowserWindow !== null;
},
async closeBrowser(browserId) {
delete this.localBrowsersFlags[browserId];
},
async isLocalBrowser(browserId) {
return this.localBrowsersFlags[browserId];
},
// NOTE: we must try to do a local screenshot or resize, if browser is accessible, and emit warning otherwise
async hasCustomActionForBrowser(browserId) {
const isLocalBrowser = this.localBrowsersFlags[browserId];
return {
hasCloseBrowser: true,
hasResizeWindow: !isLocalBrowser,
hasMaximizeWindow: !isLocalBrowser,
hasTakeScreenshot: !isLocalBrowser,
hasCanResizeWindowToDimensions: !isLocalBrowser
};
},
async takeScreenshot(browserId) {
this.reportWarning(browserId, warning_message_1.default.browserManipulationsOnRemoteBrowser);
},
async resizeWindow(browserId) {
this.reportWarning(browserId, warning_message_1.default.browserManipulationsOnRemoteBrowser);
},
async maximizeWindow(browserId) {
this.reportWarning(browserId, warning_message_1.default.browserManipulationsOnRemoteBrowser);
}
};
module.exports = exports.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Jyb3dzZXIvcHJvdmlkZXIvYnVpbHQtaW4vcmVtb3RlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUVBQW9EO0FBQ3BELDZGQUFxRTtBQUdyRSxrQkFBZTtJQUNYLGtCQUFrQixFQUFFLEVBQUU7SUFFdEIsS0FBSyxDQUFDLFdBQVcsQ0FBRSxTQUFTO1FBQ3hCLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxtQ0FBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsS0FBSyxJQUFJLENBQUM7SUFDckUsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUUsU0FBUztRQUN6QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBRSxTQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCw2R0FBNkc7SUFDN0csS0FBSyxDQUFDLHlCQUF5QixDQUFFLFNBQVM7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTFELE9BQU87WUFDSCxlQUFlLEVBQWlCLElBQUk7WUFDcEMsZUFBZSxFQUFpQixDQUFDLGNBQWM7WUFDL0MsaUJBQWlCLEVBQWUsQ0FBQyxjQUFjO1lBQy9DLGlCQUFpQixFQUFlLENBQUMsY0FBYztZQUMvQyw4QkFBOEIsRUFBRSxDQUFDLGNBQWM7U0FDbEQsQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFFLFNBQVM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUseUJBQWUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFFLFNBQVM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUseUJBQWUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFFLFNBQVM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUseUJBQWUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmluZFdpbmRvdyB9IGZyb20gJ3Rlc3RjYWZlLWJyb3dzZXItdG9vbHMnO1xuaW1wb3J0IFdBUk5JTkdfTUVTU0FHRSBmcm9tICcuLi8uLi8uLi9ub3RpZmljYXRpb25zL3dhcm5pbmctbWVzc2FnZSc7XG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIGxvY2FsQnJvd3NlcnNGbGFnczoge30sXG5cbiAgICBhc3luYyBvcGVuQnJvd3NlciAoYnJvd3NlcklkKSB7XG4gICAgICAgIGF3YWl0IHRoaXMud2FpdEZvckNvbm5lY3Rpb25SZWFkeShicm93c2VySWQpO1xuXG4gICAgICAgIGNvbnN0IGxvY2FsQnJvd3NlcldpbmRvdyA9IGF3YWl0IGZpbmRXaW5kb3coYnJvd3NlcklkKTtcblxuICAgICAgICB0aGlzLmxvY2FsQnJvd3NlcnNGbGFnc1ticm93c2VySWRdID0gbG9jYWxCcm93c2VyV2luZG93ICE9PSBudWxsO1xuICAgIH0sXG5cbiAgICBhc3luYyBjbG9zZUJyb3dzZXIgKGJyb3dzZXJJZCkge1xuICAgICAgICBkZWxldGUgdGhpcy5sb2NhbEJyb3dzZXJzRmxhZ3NbYnJvd3NlcklkXTtcbiAgICB9LFxuXG4gICAgYXN5bmMgaXNMb2NhbEJyb3dzZXIgKGJyb3dzZXJJZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhbEJyb3dzZXJzRmxhZ3NbYnJvd3NlcklkXTtcbiAgICB9LFxuXG4gICAgLy8gTk9URTogd2UgbXVzdCB0cnkgdG8gZG8gYSBsb2NhbCBzY3JlZW5zaG90IG9yIHJlc2l6ZSwgaWYgYnJvd3NlciBpcyBhY2Nlc3NpYmxlLCBhbmQgZW1pdCB3YXJuaW5nIG90aGVyd2lzZVxuICAgIGFzeW5jIGhhc0N1c3RvbUFjdGlvbkZvckJyb3dzZXIgKGJyb3dzZXJJZCkge1xuICAgICAgICBjb25zdCBpc0xvY2FsQnJvd3NlciA9IHRoaXMubG9jYWxCcm93c2Vyc0ZsYWdzW2Jyb3dzZXJJZF07XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhhc0Nsb3NlQnJvd3NlcjogICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgIGhhc1Jlc2l6ZVdpbmRvdzogICAgICAgICAgICAgICAgIWlzTG9jYWxCcm93c2VyLFxuICAgICAgICAgICAgaGFzTWF4aW1pemVXaW5kb3c6ICAgICAgICAgICAgICAhaXNMb2NhbEJyb3dzZXIsXG4gICAgICAgICAgICBoYXNUYWtlU2NyZWVuc2hvdDogICAgICAgICAgICAgICFpc0xvY2FsQnJvd3NlcixcbiAgICAgICAgICAgIGhhc0NhblJlc2l6ZVdpbmRvd1RvRGltZW5zaW9uczogIWlzTG9jYWxCcm93c2VyXG4gICAgICAgIH07XG4gICAgfSxcblxuICAgIGFzeW5jIHRha2VTY3JlZW5zaG90IChicm93c2VySWQpIHtcbiAgICAgICAgdGhpcy5yZXBvcnRXYXJuaW5nKGJyb3dzZXJJZCwgV0FSTklOR19NRVNTQUdFLmJyb3dzZXJNYW5pcHVsYXRpb25zT25SZW1vdGVCcm93c2VyKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgcmVzaXplV2luZG93IChicm93c2VySWQpIHtcbiAgICAgICAgdGhpcy5yZXBvcnRXYXJuaW5nKGJyb3dzZXJJZCwgV0FSTklOR19NRVNTQUdFLmJyb3dzZXJNYW5pcHVsYXRpb25zT25SZW1vdGVCcm93c2VyKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgbWF4aW1pemVXaW5kb3cgKGJyb3dzZXJJZCkge1xuICAgICAgICB0aGlzLnJlcG9ydFdhcm5pbmcoYnJvd3NlcklkLCBXQVJOSU5HX01FU1NBR0UuYnJvd3Nlck1hbmlwdWxhdGlvbnNPblJlbW90ZUJyb3dzZXIpO1xuICAgIH1cbn07XG4iXX0=