detox-allure2-adapter
Version:
Detox adapter for jest-allure2-reporter
50 lines • 1.64 kB
JavaScript
;
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