UNPKG

wdio-performancetotal-service

Version:

WebdriverIO service for analyzing test flow performance

47 lines (46 loc) 2.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const performance_total_1 = __importDefault(require("./performance-total")); var Status; (function (Status) { Status[Status["UNKNOWN"] = 0] = "UNKNOWN"; Status[Status["PASSED"] = 1] = "PASSED"; Status[Status["SKIPPED"] = 2] = "SKIPPED"; Status[Status["PENDING"] = 3] = "PENDING"; Status[Status["UNDEFINED"] = 4] = "UNDEFINED"; Status[Status["AMBIGUOUS"] = 5] = "AMBIGUOUS"; Status[Status["FAILED"] = 6] = "FAILED"; })(Status || (Status = {})); class PerformanceTotalService { /** * `serviceOptions` contains all options specific to the service * e.g. if defined as follows: * * ``` * services: [['custom', { foo: 'bar' }]] * ``` * * the `serviceOptions` parameter will be: `{ foo: 'bar' }` */ constructor(serviceOptions, capabilities, config) { this._serviceOptions = serviceOptions; } async before(config, capabilities, browser) { this._browser = browser; await performance_total_1.default.initialize(this._serviceOptions.disableAppendToExistingFile, this._serviceOptions.performanceResultsDirectory); } //@ts-ignore async afterTest(test, context, { error, result, duration, passed, retries }) { await performance_total_1.default.finalizeTest(this._browser, passed); } async afterScenario(test, context) { await performance_total_1.default.finalizeTest(this._browser, test.result.status == Status.PASSED); } async after(exitCode, config, capabilities) { await performance_total_1.default.analyzeResults({ performanceResultsFileName: this._serviceOptions.performanceResultsFileName, dropResultsFromFailedTest: this._serviceOptions.dropResultsFromFailedTest, analyzeByBrowser: this._serviceOptions.analyzeByBrowser, recentDays: this._serviceOptions.recentDays }); } } exports.default = PerformanceTotalService;