testcafe
Version:
Automated browser testing for the modern web development stack.
92 lines • 10.7 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const type_1 = __importDefault(require("./type"));
const base_1 = __importDefault(require("./base"));
const options_1 = require("./options");
const initializers_1 = require("./validations/initializers");
const argument_1 = require("./validations/argument");
const utils_1 = require("../../screenshots/utils");
function initResizeToFitDeviceOptions(name, val) {
return new options_1.ResizeToFitDeviceOptions(val, true);
}
function initElementScreenshotOptions(name, val) {
return new options_1.ElementScreenshotOptions(val, true);
}
// Commands
class TakeScreenshotBaseCommand extends base_1.default {
constructor(obj, testRun, type) {
super(obj, testRun, type);
this.markSeed = null;
this.markData = '';
}
generateScreenshotMark() {
Object.assign(this, utils_1.generateScreenshotMark());
}
}
class TakeScreenshotCommand extends TakeScreenshotBaseCommand {
constructor(obj, testRun) {
super(obj, testRun, type_1.default.takeScreenshot);
}
_getAssignableProperties() {
return [
{ name: 'path', type: argument_1.screenshotPathArgument, defaultValue: '' }
];
}
}
exports.TakeScreenshotCommand = TakeScreenshotCommand;
class TakeElementScreenshotCommand extends TakeScreenshotBaseCommand {
constructor(obj, testRun) {
super(obj, testRun, type_1.default.takeElementScreenshot);
}
_getAssignableProperties() {
return [
{ name: 'selector', init: initializers_1.initSelector, required: true },
{ name: 'options', init: initElementScreenshotOptions, required: true },
{ name: 'path', type: argument_1.screenshotPathArgument, defaultValue: '' }
];
}
}
exports.TakeElementScreenshotCommand = TakeElementScreenshotCommand;
class TakeScreenshotOnFailCommand extends TakeScreenshotBaseCommand {
constructor(obj, testRun) {
super(obj, testRun, type_1.default.takeScreenshotOnFail);
}
_getAssignableProperties() {
return [];
}
}
exports.TakeScreenshotOnFailCommand = TakeScreenshotOnFailCommand;
class ResizeWindowCommand extends base_1.default {
constructor(obj, testRun) {
super(obj, testRun, type_1.default.resizeWindow);
}
_getAssignableProperties() {
return [
{ name: 'width', type: argument_1.positiveIntegerArgument, required: true },
{ name: 'height', type: argument_1.positiveIntegerArgument, required: true }
];
}
}
exports.ResizeWindowCommand = ResizeWindowCommand;
class ResizeWindowToFitDeviceCommand extends base_1.default {
constructor(obj, testRun) {
super(obj, testRun, type_1.default.resizeWindowToFitDevice);
}
_getAssignableProperties() {
return [
{ name: 'device', type: argument_1.resizeWindowDeviceArgument, required: true },
{ name: 'options', type: argument_1.actionOptions, init: initResizeToFitDeviceOptions, required: true }
];
}
}
exports.ResizeWindowToFitDeviceCommand = ResizeWindowToFitDeviceCommand;
class MaximizeWindowCommand {
constructor() {
this.type = type_1.default.maximizeWindow;
}
}
exports.MaximizeWindowCommand = MaximizeWindowCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1tYW5pcHVsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdC1ydW4vY29tbWFuZHMvYnJvd3Nlci1tYW5pcHVsYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsa0RBQWlDO0FBQ2pDLHVDQUErRTtBQUMvRSw2REFBMEQ7QUFFMUQscURBS2dDO0FBRWhDLG1EQUFpRTtBQUVqRSxTQUFTLDRCQUE0QixDQUFFLElBQUksRUFBRSxHQUFHO0lBQzVDLE9BQU8sSUFBSSxrQ0FBd0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELFNBQVMsNEJBQTRCLENBQUUsSUFBSSxFQUFFLEdBQUc7SUFDNUMsT0FBTyxJQUFJLGtDQUF3QixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsV0FBVztBQUNYLE1BQU0seUJBQTBCLFNBQVEsY0FBVztJQUMvQyxZQUFhLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSTtRQUMzQixLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLDhCQUFzQixFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0o7QUFFRCxNQUFhLHFCQUFzQixTQUFRLHlCQUF5QjtJQUNoRSxZQUFhLEdBQUcsRUFBRSxPQUFPO1FBQ3JCLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLGNBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsd0JBQXdCO1FBQ3BCLE9BQU87WUFDSCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlDQUFzQixFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7U0FDbkUsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQVZELHNEQVVDO0FBRUQsTUFBYSw0QkFBNkIsU0FBUSx5QkFBeUI7SUFDdkUsWUFBYSxHQUFHLEVBQUUsT0FBTztRQUNyQixLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxjQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3BCLE9BQU87WUFDSCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLDJCQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUN4RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDdkUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxpQ0FBc0IsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFO1NBQ25FLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFaRCxvRUFZQztBQUVELE1BQWEsMkJBQTRCLFNBQVEseUJBQXlCO0lBQ3RFLFlBQWEsR0FBRyxFQUFFLE9BQU87UUFDckIsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsY0FBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELHdCQUF3QjtRQUNwQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7Q0FDSjtBQVJELGtFQVFDO0FBRUQsTUFBYSxtQkFBb0IsU0FBUSxjQUFXO0lBQ2hELFlBQWEsR0FBRyxFQUFFLE9BQU87UUFDckIsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsY0FBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsT0FBTztZQUNILEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0NBQXVCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtZQUNoRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGtDQUF1QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7U0FDcEUsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQVhELGtEQVdDO0FBRUQsTUFBYSw4QkFBK0IsU0FBUSxjQUFXO0lBQzNELFlBQWEsR0FBRyxFQUFFLE9BQU87UUFDckIsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsY0FBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHdCQUF3QjtRQUNwQixPQUFPO1lBQ0gsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxxQ0FBMEIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3BFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsd0JBQWEsRUFBRSxJQUFJLEVBQUUsNEJBQTRCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtTQUMvRixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBWEQsd0VBV0M7QUFFRCxNQUFhLHFCQUFxQjtJQUM5QjtRQUNJLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBSSxDQUFDLGNBQWMsQ0FBQztJQUNwQyxDQUFDO0NBQ0o7QUFKRCxzREFJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUWVBFIGZyb20gJy4vdHlwZSc7XG5pbXBvcnQgQ29tbWFuZEJhc2UgZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEVsZW1lbnRTY3JlZW5zaG90T3B0aW9ucywgUmVzaXplVG9GaXREZXZpY2VPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IGluaXRTZWxlY3RvciB9IGZyb20gJy4vdmFsaWRhdGlvbnMvaW5pdGlhbGl6ZXJzJztcblxuaW1wb3J0IHtcbiAgICBwb3NpdGl2ZUludGVnZXJBcmd1bWVudCxcbiAgICBzY3JlZW5zaG90UGF0aEFyZ3VtZW50LFxuICAgIHJlc2l6ZVdpbmRvd0RldmljZUFyZ3VtZW50LFxuICAgIGFjdGlvbk9wdGlvbnNcbn0gZnJvbSAnLi92YWxpZGF0aW9ucy9hcmd1bWVudCc7XG5cbmltcG9ydCB7IGdlbmVyYXRlU2NyZWVuc2hvdE1hcmsgfSBmcm9tICcuLi8uLi9zY3JlZW5zaG90cy91dGlscyc7XG5cbmZ1bmN0aW9uIGluaXRSZXNpemVUb0ZpdERldmljZU9wdGlvbnMgKG5hbWUsIHZhbCkge1xuICAgIHJldHVybiBuZXcgUmVzaXplVG9GaXREZXZpY2VPcHRpb25zKHZhbCwgdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGluaXRFbGVtZW50U2NyZWVuc2hvdE9wdGlvbnMgKG5hbWUsIHZhbCkge1xuICAgIHJldHVybiBuZXcgRWxlbWVudFNjcmVlbnNob3RPcHRpb25zKHZhbCwgdHJ1ZSk7XG59XG5cbi8vIENvbW1hbmRzXG5jbGFzcyBUYWtlU2NyZWVuc2hvdEJhc2VDb21tYW5kIGV4dGVuZHMgQ29tbWFuZEJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHRlc3RSdW4sIHR5cGUpIHtcbiAgICAgICAgc3VwZXIob2JqLCB0ZXN0UnVuLCB0eXBlKTtcblxuICAgICAgICB0aGlzLm1hcmtTZWVkID0gbnVsbDtcbiAgICAgICAgdGhpcy5tYXJrRGF0YSA9ICcnO1xuICAgIH1cblxuICAgIGdlbmVyYXRlU2NyZWVuc2hvdE1hcmsgKCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGdlbmVyYXRlU2NyZWVuc2hvdE1hcmsoKSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGFrZVNjcmVlbnNob3RDb21tYW5kIGV4dGVuZHMgVGFrZVNjcmVlbnNob3RCYXNlQ29tbWFuZCB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdGVzdFJ1bikge1xuICAgICAgICBzdXBlcihvYmosIHRlc3RSdW4sIFRZUEUudGFrZVNjcmVlbnNob3QpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdwYXRoJywgdHlwZTogc2NyZWVuc2hvdFBhdGhBcmd1bWVudCwgZGVmYXVsdFZhbHVlOiAnJyB9XG4gICAgICAgIF07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGFrZUVsZW1lbnRTY3JlZW5zaG90Q29tbWFuZCBleHRlbmRzIFRha2VTY3JlZW5zaG90QmFzZUNvbW1hbmQge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHRlc3RSdW4pIHtcbiAgICAgICAgc3VwZXIob2JqLCB0ZXN0UnVuLCBUWVBFLnRha2VFbGVtZW50U2NyZWVuc2hvdCk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3NlbGVjdG9yJywgaW5pdDogaW5pdFNlbGVjdG9yLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnb3B0aW9ucycsIGluaXQ6IGluaXRFbGVtZW50U2NyZWVuc2hvdE9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdwYXRoJywgdHlwZTogc2NyZWVuc2hvdFBhdGhBcmd1bWVudCwgZGVmYXVsdFZhbHVlOiAnJyB9XG4gICAgICAgIF07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGFrZVNjcmVlbnNob3RPbkZhaWxDb21tYW5kIGV4dGVuZHMgVGFrZVNjcmVlbnNob3RCYXNlQ29tbWFuZCB7XG4gICAgY29uc3RydWN0b3IgKG9iaiwgdGVzdFJ1bikge1xuICAgICAgICBzdXBlcihvYmosIHRlc3RSdW4sIFRZUEUudGFrZVNjcmVlbnNob3RPbkZhaWwpO1xuICAgIH1cblxuICAgIF9nZXRBc3NpZ25hYmxlUHJvcGVydGllcyAoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSZXNpemVXaW5kb3dDb21tYW5kIGV4dGVuZHMgQ29tbWFuZEJhc2Uge1xuICAgIGNvbnN0cnVjdG9yIChvYmosIHRlc3RSdW4pIHtcbiAgICAgICAgc3VwZXIob2JqLCB0ZXN0UnVuLCBUWVBFLnJlc2l6ZVdpbmRvdyk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ3dpZHRoJywgdHlwZTogcG9zaXRpdmVJbnRlZ2VyQXJndW1lbnQsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdoZWlnaHQnLCB0eXBlOiBwb3NpdGl2ZUludGVnZXJBcmd1bWVudCwgcmVxdWlyZWQ6IHRydWUgfVxuICAgICAgICBdO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlc2l6ZVdpbmRvd1RvRml0RGV2aWNlQ29tbWFuZCBleHRlbmRzIENvbW1hbmRCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAob2JqLCB0ZXN0UnVuKSB7XG4gICAgICAgIHN1cGVyKG9iaiwgdGVzdFJ1biwgVFlQRS5yZXNpemVXaW5kb3dUb0ZpdERldmljZSk7XG4gICAgfVxuXG4gICAgX2dldEFzc2lnbmFibGVQcm9wZXJ0aWVzICgpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2RldmljZScsIHR5cGU6IHJlc2l6ZVdpbmRvd0RldmljZUFyZ3VtZW50LCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnb3B0aW9ucycsIHR5cGU6IGFjdGlvbk9wdGlvbnMsIGluaXQ6IGluaXRSZXNpemVUb0ZpdERldmljZU9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH1cbiAgICAgICAgXTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXhpbWl6ZVdpbmRvd0NvbW1hbmQge1xuICAgIGNvbnN0cnVjdG9yICgpIHtcbiAgICAgICAgdGhpcy50eXBlID0gVFlQRS5tYXhpbWl6ZVdpbmRvdztcbiAgICB9XG59XG4iXX0=