UNPKG

detox-allure2-adapter

Version:
50 lines 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ScreenshotHelper = void 0; const screenkitten_1 = require("screenkitten"); class ScreenshotHelper { _device; _options; _kitten; constructor({ device, options, onError }) { this._device = device; this._options = typeof options === 'boolean' ? {} : options; this._kitten = this._device.platform === 'ios' ? (0, screenkitten_1.screenkitten)({ platform: 'ios', onError, }) : (0, screenkitten_1.screenkitten)({ platform: 'android', adbPath: this._device.adbPath, onError, }); } async attachFailure(allure) { return this.attach(allure, true); } async attachSuccess(allure) { return this.attach(allure, false); } async attach(allure, failed) { if (this._options.saveAll) { await this._attachScreenshot(allure, failed ? 'failure' : 'screenshot'); } else if (failed) { await this._attachScreenshot(allure, 'failure'); } } async takeScreenshot() { return this._kitten.takeScreenshot({ deviceId: this._device.id }); } async _attachScreenshot(allure, name = 'screenshot') { const filePath = await this.takeScreenshot(); allure.fileAttachment(filePath, { name: `${name}.png`, handler: 'move', }); } } exports.ScreenshotHelper = ScreenshotHelper; //# sourceMappingURL=helpers.js.map