@wdio/browserstack-service 7.32.3 → 7.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/build/accessibility-handler.d.ts +39 -0
  2. package/build/accessibility-handler.d.ts.map +1 -0
  3. package/build/accessibility-handler.js +258 -0
  4. package/build/constants.d.ts +3 -0
  5. package/build/constants.d.ts.map +1 -1
  6. package/build/constants.js +6 -2
  7. package/build/cucumber-types.d.ts +17 -0
  8. package/build/cucumber-types.d.ts.map +1 -1
  9. package/build/index.d.ts +5 -0
  10. package/build/index.d.ts.map +1 -1
  11. package/build/index.js +5 -1
  12. package/build/insights-handler.d.ts +19 -3
  13. package/build/insights-handler.d.ts.map +1 -1
  14. package/build/insights-handler.js +274 -17
  15. package/build/launcher.d.ts +4 -0
  16. package/build/launcher.d.ts.map +1 -1
  17. package/build/launcher.js +152 -0
  18. package/build/log4jsAppender.d.ts +2 -0
  19. package/build/log4jsAppender.d.ts.map +1 -0
  20. package/build/log4jsAppender.js +26 -0
  21. package/build/logPatcher.d.ts +13 -0
  22. package/build/logPatcher.d.ts.map +1 -0
  23. package/build/logPatcher.js +43 -0
  24. package/build/logReportingAPI.d.ts +12 -0
  25. package/build/logReportingAPI.d.ts.map +1 -0
  26. package/build/logReportingAPI.js +61 -0
  27. package/build/reporter.d.ts +6 -1
  28. package/build/reporter.d.ts.map +1 -1
  29. package/build/reporter.js +42 -1
  30. package/build/scripts/test-event-scripts.d.ts +10 -0
  31. package/build/scripts/test-event-scripts.d.ts.map +1 -0
  32. package/build/scripts/test-event-scripts.js +73 -0
  33. package/build/service.d.ts +5 -3
  34. package/build/service.d.ts.map +1 -1
  35. package/build/service.js +24 -4
  36. package/build/types.d.ts +34 -1
  37. package/build/types.d.ts.map +1 -1
  38. package/build/util.d.ts +32 -0
  39. package/build/util.d.ts.map +1 -1
  40. package/build/util.js +313 -2
  41. package/package.json +6 -5
@@ -0,0 +1,39 @@
1
+ import type { Capabilities, Frameworks } from '@wdio/types';
2
+ import type { Browser, MultiRemoteBrowser } from 'webdriverio';
3
+ import type { ITestCaseHookParameter } from './cucumber-types';
4
+ declare class _AccessibilityHandler {
5
+ private _browser;
6
+ private _capabilities;
7
+ private _framework?;
8
+ private _accessibilityAutomation?;
9
+ private _accessibilityOpts?;
10
+ private _platformA11yMeta;
11
+ private _caps;
12
+ private _suiteFile?;
13
+ private _accessibility?;
14
+ private _accessibilityOptions?;
15
+ private _testMetadata;
16
+ constructor(_browser: Browser<'async'> | MultiRemoteBrowser<'async'>, _capabilities: Capabilities.RemoteCapability, isAppAutomate?: boolean, _framework?: string | undefined, _accessibilityAutomation?: string | boolean | undefined, _accessibilityOpts?: {
17
+ [key: string]: any;
18
+ } | undefined);
19
+ setSuiteFile(filename: string): void;
20
+ _getCapabilityValue(caps: Capabilities.RemoteCapability, capType: string, legacyCapType: string): any;
21
+ before(): Promise<void>;
22
+ beforeTest(suiteTitle: string | undefined, test: Frameworks.Test): Promise<void>;
23
+ afterTest(suiteTitle: string | undefined, test: Frameworks.Test): Promise<void>;
24
+ /**
25
+ * Cucumber Only
26
+ */
27
+ beforeScenario(world: ITestCaseHookParameter): Promise<void>;
28
+ afterScenario(world: ITestCaseHookParameter): Promise<void>;
29
+ private sendTestStartEvent;
30
+ private sendTestForceStopEvent;
31
+ private sendTestStopEvent;
32
+ private getIdentifier;
33
+ private shouldRunTestHooks;
34
+ private checkIfPageOpened;
35
+ }
36
+ declare const AccessibilityHandler: typeof _AccessibilityHandler;
37
+ type AccessibilityHandler = _AccessibilityHandler;
38
+ export default AccessibilityHandler;
39
+ //# sourceMappingURL=accessibility-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessibility-handler.d.ts","sourceRoot":"","sources":["../src/accessibility-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAmB9D,cAAM,qBAAqB;IASnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IAErB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,wBAAwB,CAAC;IACjC,OAAO,CAAC,kBAAkB,CAAC;IAb/B,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,qBAAqB,CAAC,CAAyB;IACvD,OAAO,CAAC,aAAa,CAA8B;gBAGvC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,EACxD,aAAa,EAAE,YAAY,CAAC,gBAAgB,EACpD,aAAa,CAAC,EAAE,OAAO,EACf,UAAU,CAAC,oBAAQ,EACnB,wBAAwB,CAAC,8BAAkB,EAC3C,kBAAkB,CAAC;;iBAAyB;IAgBxD,YAAY,CAAC,QAAQ,EAAE,MAAM;IAI7B,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAI,GAAG;IA6BhG,MAAM;IAmBN,UAAU,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAiCjE,SAAS,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IA0CtE;;MAEE;IACI,cAAc,CAAE,KAAK,EAAE,sBAAsB;IAiC7C,aAAa,CAAE,KAAK,EAAE,sBAAsB;IA8ClD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;YAOZ,iBAAiB;CAiBlC;AAGD,QAAA,MAAM,oBAAoB,EAAE,OAAO,qBAAoE,CAAA;AACvG,KAAK,oBAAoB,GAAG,qBAAqB,CAAA;AAEjD,eAAe,oBAAoB,CAAA"}
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const logger_1 = __importDefault(require("@wdio/logger"));
7
+ const util_1 = require("./util");
8
+ const test_event_scripts_1 = require("./scripts/test-event-scripts");
9
+ const log = (0, logger_1.default)('@wdio/browserstack-service');
10
+ class _AccessibilityHandler {
11
+ constructor(_browser, _capabilities, isAppAutomate, _framework, _accessibilityAutomation, _accessibilityOpts) {
12
+ this._browser = _browser;
13
+ this._capabilities = _capabilities;
14
+ this._framework = _framework;
15
+ this._accessibilityAutomation = _accessibilityAutomation;
16
+ this._accessibilityOpts = _accessibilityOpts;
17
+ this._testMetadata = {};
18
+ const caps = this._browser.capabilities;
19
+ this._platformA11yMeta = {
20
+ browser_name: caps.browserName,
21
+ browser_version: (caps === null || caps === void 0 ? void 0 : caps.browserVersion) || (caps === null || caps === void 0 ? void 0 : caps.version) || 'latest',
22
+ os_name: this._getCapabilityValue(_capabilities, 'os', 'os'),
23
+ os_version: this._getCapabilityValue(_capabilities, 'osVersion', 'os_version')
24
+ };
25
+ this._caps = _capabilities;
26
+ this._accessibility = (0, util_1.isTrue)(_accessibilityAutomation);
27
+ this._accessibilityOptions = _accessibilityOpts;
28
+ }
29
+ setSuiteFile(filename) {
30
+ this._suiteFile = filename;
31
+ }
32
+ _getCapabilityValue(caps, capType, legacyCapType) {
33
+ var _a, _b, _c, _d, _e, _f;
34
+ if (caps) {
35
+ if (capType === 'accessibility') {
36
+ if (caps['bstack:options'] && ((0, util_1.isTrue)((_a = caps['bstack:options']) === null || _a === void 0 ? void 0 : _a.accessibility))) {
37
+ return (_b = caps['bstack:options']) === null || _b === void 0 ? void 0 : _b.accessibility;
38
+ }
39
+ else if ((0, util_1.isTrue)(caps['browserstack.accessibility'])) {
40
+ return caps['browserstack.accessibility'];
41
+ }
42
+ }
43
+ else if (capType === 'deviceName') {
44
+ if (caps['bstack:options'] && ((_c = caps['bstack:options']) === null || _c === void 0 ? void 0 : _c.deviceName)) {
45
+ return (_d = caps['bstack:options']) === null || _d === void 0 ? void 0 : _d.deviceName;
46
+ }
47
+ else if (caps['bstack:options'] && ((_e = caps['bstack:options']) === null || _e === void 0 ? void 0 : _e.device)) {
48
+ return (_f = caps['bstack:options']) === null || _f === void 0 ? void 0 : _f.device;
49
+ }
50
+ else if (caps['appium:deviceName']) {
51
+ return caps['appium:deviceName'];
52
+ }
53
+ }
54
+ else if (capType === 'goog:chromeOptions' && caps['goog:chromeOptions']) {
55
+ return caps['goog:chromeOptions'];
56
+ }
57
+ else {
58
+ const bstackOptions = caps['bstack:options'];
59
+ if (bstackOptions && (bstackOptions === null || bstackOptions === void 0 ? void 0 : bstackOptions[capType])) {
60
+ return bstackOptions === null || bstackOptions === void 0 ? void 0 : bstackOptions[capType];
61
+ }
62
+ else if (caps[legacyCapType]) {
63
+ return caps[legacyCapType];
64
+ }
65
+ }
66
+ }
67
+ }
68
+ async before() {
69
+ this._accessibility = (0, util_1.isTrue)(this._getCapabilityValue(this._caps, 'accessibility', 'browserstack.accessibility'));
70
+ if ((0, util_1.isBrowserstackSession)(this._browser) && (0, util_1.isAccessibilityAutomationSession)(this._accessibility)) {
71
+ const deviceName = this._getCapabilityValue(this._caps, 'deviceName', 'device');
72
+ const chromeOptions = this._getCapabilityValue(this._caps, 'goog:chromeOptions', '');
73
+ this._accessibility = (0, util_1.validateCapsWithA11y)(deviceName, this._platformA11yMeta, chromeOptions);
74
+ }
75
+ this._browser.getAccessibilityResultsSummary = async () => {
76
+ return await (0, util_1.getA11yResultsSummary)(this._browser, (0, util_1.isBrowserstackSession)(this._browser), this._accessibility);
77
+ };
78
+ this._browser.getAccessibilityResults = async () => {
79
+ return await (0, util_1.getA11yResults)(this._browser, (0, util_1.isBrowserstackSession)(this._browser), this._accessibility);
80
+ };
81
+ }
82
+ async beforeTest(suiteTitle, test) {
83
+ if (this._framework !== 'mocha' ||
84
+ !this.shouldRunTestHooks(this._browser, this._accessibility)) {
85
+ return;
86
+ }
87
+ const shouldScanTest = (0, util_1.shouldScanTestForAccessibility)(suiteTitle, test.title, this._accessibilityOptions);
88
+ const testIdentifier = this.getIdentifier(test);
89
+ const isPageOpened = await this.checkIfPageOpened(this._browser, testIdentifier, shouldScanTest);
90
+ if (!isPageOpened) {
91
+ return;
92
+ }
93
+ try {
94
+ if (shouldScanTest) {
95
+ log.info('Setup for Accessibility testing has started. Automate test case execution will begin momentarily.');
96
+ await this.sendTestStartEvent(this._browser);
97
+ }
98
+ else {
99
+ await this.sendTestForceStopEvent(this._browser);
100
+ }
101
+ this._testMetadata[testIdentifier].accessibilityScanStarted = shouldScanTest;
102
+ if (shouldScanTest) {
103
+ log.info('Automate test case execution has started.');
104
+ }
105
+ }
106
+ catch (error) {
107
+ log.error(`Exception in starting accessibility automation scan for this test case ${error}`);
108
+ }
109
+ }
110
+ async afterTest(suiteTitle, test) {
111
+ var _a, _b;
112
+ if (this._framework !== 'mocha' ||
113
+ !this.shouldRunTestHooks(this._browser, this._accessibility)) {
114
+ return;
115
+ }
116
+ try {
117
+ const testIdentifier = this.getIdentifier(test);
118
+ const accessibilityScanStarted = (_a = this._testMetadata[testIdentifier]) === null || _a === void 0 ? void 0 : _a.accessibilityScanStarted;
119
+ const shouldScanTestForAccessibility = (_b = this._testMetadata[testIdentifier]) === null || _b === void 0 ? void 0 : _b.scanTestForAccessibility;
120
+ if (!accessibilityScanStarted) {
121
+ return;
122
+ }
123
+ if (shouldScanTestForAccessibility) {
124
+ log.info('Automate test case execution has ended. Processing for accessibility testing is underway. ');
125
+ }
126
+ const dataForExtension = {
127
+ saveResults: shouldScanTestForAccessibility,
128
+ testDetails: {
129
+ 'name': test.title,
130
+ 'testRunId': process.env.BS_A11Y_TEST_RUN_ID,
131
+ 'filePath': this._suiteFile,
132
+ 'scopeList': [suiteTitle, test.title]
133
+ },
134
+ platform: this._platformA11yMeta
135
+ };
136
+ await this.sendTestStopEvent(this._browser, dataForExtension);
137
+ if (shouldScanTestForAccessibility) {
138
+ log.info('Accessibility testing for this test case has ended.');
139
+ }
140
+ }
141
+ catch (error) {
142
+ log.error(`Accessibility results could not be processed for the test case ${test.title}. Error :`, error);
143
+ }
144
+ }
145
+ /**
146
+ * Cucumber Only
147
+ */
148
+ async beforeScenario(world) {
149
+ if (!this.shouldRunTestHooks(this._browser, this._accessibility)) {
150
+ return;
151
+ }
152
+ const pickleData = world.pickle;
153
+ const gherkinDocument = world.gherkinDocument;
154
+ const featureData = gherkinDocument.feature;
155
+ const uniqueId = (0, util_1.getUniqueIdentifierForCucumber)(world);
156
+ const shouldScanScenario = (0, util_1.shouldScanTestForAccessibility)(featureData === null || featureData === void 0 ? void 0 : featureData.name, pickleData.name, this._accessibilityOptions);
157
+ const isPageOpened = await this.checkIfPageOpened(this._browser, uniqueId, shouldScanScenario);
158
+ if (!isPageOpened) {
159
+ return;
160
+ }
161
+ try {
162
+ if (shouldScanScenario) {
163
+ log.info('Setup for Accessibility testing has started. Automate test case execution will begin momentarily.');
164
+ await this.sendTestStartEvent(this._browser);
165
+ }
166
+ else {
167
+ await this.sendTestForceStopEvent(this._browser);
168
+ }
169
+ this._testMetadata[uniqueId].accessibilityScanStarted = shouldScanScenario;
170
+ if (shouldScanScenario) {
171
+ log.info('Automate test case execution has started.');
172
+ }
173
+ }
174
+ catch (error) {
175
+ log.error(`Exception in starting accessibility automation scan for this test case ${error}`);
176
+ }
177
+ }
178
+ async afterScenario(world) {
179
+ var _a, _b;
180
+ if (!this.shouldRunTestHooks(this._browser, this._accessibility)) {
181
+ return;
182
+ }
183
+ const pickleData = world.pickle;
184
+ try {
185
+ const gherkinDocument = world.gherkinDocument;
186
+ const featureData = gherkinDocument.feature;
187
+ const uniqueId = (0, util_1.getUniqueIdentifierForCucumber)(world);
188
+ const accessibilityScanStarted = (_a = this._testMetadata[uniqueId]) === null || _a === void 0 ? void 0 : _a.accessibilityScanStarted;
189
+ const shouldScanTestForAccessibility = (_b = this._testMetadata[uniqueId]) === null || _b === void 0 ? void 0 : _b.scanTestForAccessibility;
190
+ if (!accessibilityScanStarted) {
191
+ return;
192
+ }
193
+ if (shouldScanTestForAccessibility) {
194
+ log.info('Automate test case execution has ended. Processing for accessibility testing is underway. ');
195
+ }
196
+ const dataForExtension = {
197
+ saveResults: shouldScanTestForAccessibility,
198
+ testDetails: {
199
+ 'name': pickleData.name,
200
+ 'testRunId': process.env.BS_A11Y_TEST_RUN_ID,
201
+ 'filePath': gherkinDocument.uri,
202
+ 'scopeList': [featureData === null || featureData === void 0 ? void 0 : featureData.name, pickleData.name]
203
+ },
204
+ platform: this._platformA11yMeta
205
+ };
206
+ await this.sendTestStopEvent(this._browser, dataForExtension);
207
+ if (shouldScanTestForAccessibility) {
208
+ log.info('Accessibility testing for this test case has ended.');
209
+ }
210
+ }
211
+ catch (error) {
212
+ log.error(`Accessibility results could not be processed for the test case ${pickleData.name}. Error :`, error);
213
+ }
214
+ }
215
+ /*
216
+ * private methods
217
+ */
218
+ sendTestStartEvent(browser) {
219
+ return browser.executeAsync(test_event_scripts_1.testStartEvent);
220
+ }
221
+ sendTestForceStopEvent(browser) {
222
+ return browser.execute(test_event_scripts_1.testForceStop);
223
+ }
224
+ sendTestStopEvent(browser, dataForExtension) {
225
+ return browser.executeAsync(test_event_scripts_1.testStop, dataForExtension);
226
+ }
227
+ getIdentifier(test) {
228
+ if ('pickle' in test) {
229
+ return (0, util_1.getUniqueIdentifierForCucumber)(test);
230
+ }
231
+ return (0, util_1.getUniqueIdentifier)(test, this._framework);
232
+ }
233
+ shouldRunTestHooks(browser, isAccessibility) {
234
+ if (!browser) {
235
+ return false;
236
+ }
237
+ return (0, util_1.isBrowserstackSession)(browser) && (0, util_1.isAccessibilityAutomationSession)(isAccessibility);
238
+ }
239
+ async checkIfPageOpened(browser, testIdentifier, shouldScanTest) {
240
+ let pageOpen = false;
241
+ this._testMetadata[testIdentifier] = {
242
+ scanTestForAccessibility: shouldScanTest,
243
+ accessibilityScanStarted: true
244
+ };
245
+ try {
246
+ const currentURL = await browser.getUrl();
247
+ const url = new URL(currentURL);
248
+ pageOpen = (url === null || url === void 0 ? void 0 : url.protocol) === 'http:' || (url === null || url === void 0 ? void 0 : url.protocol) === 'https:';
249
+ }
250
+ catch (e) {
251
+ pageOpen = false;
252
+ }
253
+ return pageOpen;
254
+ }
255
+ }
256
+ // https://github.com/microsoft/TypeScript/issues/6543
257
+ const AccessibilityHandler = (0, util_1.o11yClassErrorHandler)(_AccessibilityHandler);
258
+ exports.default = AccessibilityHandler;
@@ -2,6 +2,7 @@ import type { BrowserstackConfig } from './types';
2
2
  export declare const BROWSER_DESCRIPTION: readonly ["device", "os", "osVersion", "os_version", "browserName", "browser", "browserVersion", "browser_version"];
3
3
  export declare const VALID_APP_EXTENSION: string[];
4
4
  export declare const DEFAULT_OPTIONS: Partial<BrowserstackConfig>;
5
+ export declare const consoleHolder: typeof console;
5
6
  export declare const DATA_ENDPOINT = "https://collector-observability.browserstack.com";
6
7
  export declare const DATA_EVENT_ENDPOINT = "api/v1/event";
7
8
  export declare const DATA_BATCH_ENDPOINT = "api/v1/batch";
@@ -11,4 +12,6 @@ export declare const DATA_BATCH_INTERVAL = 2000;
11
12
  export declare const BATCH_EVENT_TYPES: string[];
12
13
  export declare const DEFAULT_WAIT_TIMEOUT_FOR_PENDING_UPLOADS = 5000;
13
14
  export declare const DEFAULT_WAIT_INTERVAL_FOR_PENDING_UPLOADS = 100;
15
+ export declare const ACCESSIBILITY_API_URL = "https://accessibility.browserstack.com/api";
16
+ export declare const NOT_ALLOWED_KEYS_IN_CAPS: string[];
14
17
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,eAAO,MAAM,mBAAmB,qHAStB,CAAA;AAEV,eAAO,MAAM,mBAAmB,UAI/B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAIvD,CAAA;AAED,eAAO,MAAM,aAAa,qDAAqD,CAAA;AAC/E,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,wBAAwB,uBAAuB,CAAA;AAC5D,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,eAAO,MAAM,mBAAmB,OAAO,CAAA;AACvC,eAAO,MAAM,iBAAiB,UAAgH,CAAA;AAC9I,eAAO,MAAM,wCAAwC,OAAO,CAAA;AAC5D,eAAO,MAAM,yCAAyC,MAAM,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,eAAO,MAAM,mBAAmB,qHAStB,CAAA;AAEV,eAAO,MAAM,mBAAmB,UAI/B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAKvD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,OAAO,OAAoC,CAAA;AACvE,eAAO,MAAM,aAAa,qDAAqD,CAAA;AAC/E,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,wBAAwB,uBAAuB,CAAA;AAC5D,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,eAAO,MAAM,mBAAmB,OAAO,CAAA;AACvC,eAAO,MAAM,iBAAiB,UAAgH,CAAA;AAC9I,eAAO,MAAM,wCAAwC,OAAO,CAAA;AAC5D,eAAO,MAAM,yCAAyC,MAAM,CAAA;AAE5D,eAAO,MAAM,qBAAqB,+CAA+C,CAAA;AACjF,eAAO,MAAM,wBAAwB,UAA6D,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_WAIT_INTERVAL_FOR_PENDING_UPLOADS = exports.DEFAULT_WAIT_TIMEOUT_FOR_PENDING_UPLOADS = exports.BATCH_EVENT_TYPES = exports.DATA_BATCH_INTERVAL = exports.DATA_BATCH_SIZE = exports.DATA_SCREENSHOT_ENDPOINT = exports.DATA_BATCH_ENDPOINT = exports.DATA_EVENT_ENDPOINT = exports.DATA_ENDPOINT = exports.DEFAULT_OPTIONS = exports.VALID_APP_EXTENSION = exports.BROWSER_DESCRIPTION = void 0;
3
+ exports.NOT_ALLOWED_KEYS_IN_CAPS = exports.ACCESSIBILITY_API_URL = exports.DEFAULT_WAIT_INTERVAL_FOR_PENDING_UPLOADS = exports.DEFAULT_WAIT_TIMEOUT_FOR_PENDING_UPLOADS = exports.BATCH_EVENT_TYPES = exports.DATA_BATCH_INTERVAL = exports.DATA_BATCH_SIZE = exports.DATA_SCREENSHOT_ENDPOINT = exports.DATA_BATCH_ENDPOINT = exports.DATA_EVENT_ENDPOINT = exports.DATA_ENDPOINT = exports.consoleHolder = exports.DEFAULT_OPTIONS = exports.VALID_APP_EXTENSION = exports.BROWSER_DESCRIPTION = void 0;
4
4
  exports.BROWSER_DESCRIPTION = [
5
5
  'device',
6
6
  'os',
@@ -19,8 +19,10 @@ exports.VALID_APP_EXTENSION = [
19
19
  exports.DEFAULT_OPTIONS = {
20
20
  setSessionName: true,
21
21
  setSessionStatus: true,
22
- testObservability: true
22
+ testObservability: true,
23
+ accessibility: false
23
24
  };
25
+ exports.consoleHolder = Object.assign({}, console);
24
26
  exports.DATA_ENDPOINT = 'https://collector-observability.browserstack.com';
25
27
  exports.DATA_EVENT_ENDPOINT = 'api/v1/event';
26
28
  exports.DATA_BATCH_ENDPOINT = 'api/v1/batch';
@@ -30,3 +32,5 @@ exports.DATA_BATCH_INTERVAL = 2000;
30
32
  exports.BATCH_EVENT_TYPES = ['LogCreated', 'TestRunStarted', 'TestRunFinished', 'HookRunFinished', 'HookRunStarted', 'ScreenshotCreated'];
31
33
  exports.DEFAULT_WAIT_TIMEOUT_FOR_PENDING_UPLOADS = 5000; // 5s
32
34
  exports.DEFAULT_WAIT_INTERVAL_FOR_PENDING_UPLOADS = 100; // 100ms
35
+ exports.ACCESSIBILITY_API_URL = 'https://accessibility.browserstack.com/api';
36
+ exports.NOT_ALLOWED_KEYS_IN_CAPS = ['includeTagsInTestingScope', 'excludeTagsInTestingScope'];
@@ -1,3 +1,4 @@
1
+ import type { Frameworks } from '@wdio/types';
1
2
  export interface ITestCaseHookParameter {
2
3
  gherkinDocument: GherkinDocument;
3
4
  pickle: Pickle;
@@ -174,4 +175,20 @@ export declare class Comment {
174
175
  location: Location;
175
176
  text: string;
176
177
  }
178
+ export interface CucumberStore {
179
+ feature?: Feature;
180
+ scenario?: Pickle;
181
+ uri?: string;
182
+ stepsStarted: boolean;
183
+ scenariosStarted: boolean;
184
+ steps: Frameworks.PickleStep[];
185
+ }
186
+ export interface CucumberHook {
187
+ id: string;
188
+ hookId: string;
189
+ }
190
+ export interface CucumberHookParams {
191
+ event: 'before' | 'after';
192
+ hookUUID?: string;
193
+ }
177
194
  //# sourceMappingURL=cucumber-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cucumber-types.d.ts","sourceRoot":"","sources":["../src/cucumber-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cucumber-types.d.ts","sourceRoot":"","sources":["../src/cucumber-types.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -1,8 +1,13 @@
1
1
  import BrowserstackLauncher from './launcher';
2
2
  import BrowserstackService from './service';
3
3
  import type { BrowserstackConfig } from './types';
4
+ import logReportingAPI from './logReportingAPI';
4
5
  export default BrowserstackService;
5
6
  export declare const launcher: typeof BrowserstackLauncher;
7
+ export declare const log4jsAppender: {
8
+ configure: (config: any, layouts: any) => Function;
9
+ };
10
+ export declare const BStackTestOpsLogger: typeof logReportingAPI;
6
11
  export * from './types';
7
12
  declare global {
8
13
  namespace WebdriverIO {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,MAAM,YAAY,CAAA;AAC7C,OAAO,mBAAmB,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,eAAe,mBAAmB,CAAA;AAClC,eAAO,MAAM,QAAQ,6BAAuB,CAAA;AAC5C,cAAc,SAAS,CAAA;AAEvB,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,WAAW,CAAC;QAClB,UAAU,aAAc,SAAQ,kBAAkB;SAAG;KACxD;CACJ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,MAAM,YAAY,CAAA;AAC7C,OAAO,mBAAmB,MAAM,WAAW,CAAA;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAE/C,eAAe,mBAAmB,CAAA;AAClC,eAAO,MAAM,QAAQ,6BAAuB,CAAA;AAC5C,eAAO,MAAM,cAAc;;CAAgB,CAAA;AAC3C,eAAO,MAAM,mBAAmB,wBAAkB,CAAA;AAClD,cAAc,SAAS,CAAA;AAEvB,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,WAAW,CAAC;QAClB,UAAU,aAAc,SAAQ,kBAAkB;SAAG;KACxD;CACJ"}
package/build/index.js CHANGED
@@ -18,9 +18,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
18
18
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.launcher = void 0;
21
+ exports.BStackTestOpsLogger = exports.log4jsAppender = exports.launcher = void 0;
22
22
  const launcher_1 = __importDefault(require("./launcher"));
23
23
  const service_1 = __importDefault(require("./service"));
24
+ const log4jsAppender_1 = require("./log4jsAppender");
25
+ const logReportingAPI_1 = __importDefault(require("./logReportingAPI"));
24
26
  exports.default = service_1.default;
25
27
  exports.launcher = launcher_1.default;
28
+ exports.log4jsAppender = { configure: log4jsAppender_1.configure };
29
+ exports.BStackTestOpsLogger = logReportingAPI_1.default;
26
30
  __exportStar(require("./types"), exports);
@@ -1,7 +1,8 @@
1
1
  import type { Capabilities, Frameworks } from '@wdio/types';
2
2
  import type { Browser, MultiRemoteBrowser } from 'webdriverio';
3
3
  import type { BeforeCommandArgs, AfterCommandArgs } from '@wdio/reporter';
4
- import type { Pickle, ITestCaseHookParameter } from './cucumber-types';
4
+ import type { Feature, Scenario, CucumberHook, CucumberHookParams, Pickle, ITestCaseHookParameter } from './cucumber-types';
5
+ import type { TestMeta, CurrentRunInfo, StdLog } from './types';
5
6
  declare class _InsightsHandler {
6
7
  private _browser;
7
8
  private _framework?;
@@ -11,32 +12,47 @@ declare class _InsightsHandler {
11
12
  private _commands;
12
13
  private _gitConfigPath?;
13
14
  private _requestQueueHandler;
15
+ private _currentTest;
16
+ private _currentHook;
17
+ private _cucumberData;
14
18
  constructor(_browser: Browser<'async'> | MultiRemoteBrowser<'async'>, browserCaps?: Capabilities.Capabilities, isAppAutomate?: boolean, sessionId?: string, _framework?: string | undefined);
19
+ registerListeners(): void;
15
20
  before(): Promise<void>;
16
- beforeHook(test: Frameworks.Test, context: any): Promise<void>;
17
- afterHook(test: Frameworks.Test, result: Frameworks.TestResult): Promise<void>;
21
+ beforeHook(test: Frameworks.Test | CucumberHook | undefined, context: any): Promise<void>;
22
+ afterHook(test: Frameworks.Test | CucumberHook | undefined, result: Frameworks.TestResult): Promise<void>;
18
23
  beforeTest(test: Frameworks.Test): Promise<void>;
19
24
  afterTest(test: Frameworks.Test, result: Frameworks.TestResult): Promise<void>;
20
25
  /**
21
26
  * Cucumber Only
22
27
  */
28
+ beforeFeature(uri: string, feature: Feature): Promise<void>;
23
29
  beforeScenario(world: ITestCaseHookParameter): Promise<void>;
24
30
  afterScenario(world: ITestCaseHookParameter): Promise<void>;
25
31
  beforeStep(step: Frameworks.PickleStep, scenario: Pickle): Promise<void>;
26
32
  afterStep(step: Frameworks.PickleStep, scenario: Pickle, result: Frameworks.PickleResult): Promise<void>;
33
+ sendScenarioObjectSkipped(scenario: Scenario, feature: Feature, uri: string): Promise<void>;
34
+ processCucumberHook(test: CucumberHook | undefined, params: CucumberHookParams, result?: Frameworks.TestResult): Promise<void>;
27
35
  uploadPending(waitTimeout?: number, waitInterval?: number): any;
28
36
  teardown(): Promise<void>;
29
37
  /**
30
38
  * misc methods
31
39
  */
32
40
  browserCommand(commandType: string, args: BeforeCommandArgs & AfterCommandArgs, test?: Frameworks.Test | ITestCaseHookParameter): Promise<void>;
41
+ appendTestItemLog: (stdLog: StdLog) => Promise<void>;
42
+ private sendData;
33
43
  private attachHookData;
34
44
  private setHooksFromSuite;
45
+ getCucumberHookType(test: CucumberHook | undefined): string | null;
46
+ getCucumberHookName(hookType: string | undefined): string;
47
+ getCucumberHookUniqueId(hookType: string, hook: CucumberHook | undefined): string | null;
48
+ getCucumberFeatureUniqueId(): string;
49
+ setCurrentHook(hookDetails: CurrentRunInfo): void;
35
50
  private getHierarchy;
36
51
  private getTestRunId;
37
52
  private getTestRunIdFromSuite;
38
53
  private sendTestRunEvent;
39
54
  private sendTestRunEventForCucumber;
55
+ sendHookRunEvent(hookData: TestMeta, eventType: string, result?: Frameworks.TestResult): Promise<void>;
40
56
  private getIntegrationsObject;
41
57
  private getIdentifier;
42
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"insights-handler.d.ts","sourceRoot":"","sources":["../src/insights-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAsBtE,cAAM,gBAAgB;IASL,OAAO,CAAC,QAAQ;IAAwI,OAAO,CAAC,UAAU,CAAC;IAPxL,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAc;IACpC,OAAO,CAAC,SAAS,CAA2D;IAC5E,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,oBAAoB,CAAoC;gBAE3C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAU,UAAU,CAAC,oBAAQ;IAa1L,MAAM;IAWN,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG;IAgB/C,SAAS,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU;IAqD/D,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAUjC,SAAS,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU;IAUrE;;QAEI;IAEE,cAAc,CAAE,KAAK,EAAE,sBAAsB;IA+B7C,aAAa,CAAE,KAAK,EAAE,sBAAsB;IAI5C,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM;IAuBzD,SAAS,CAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,YAAY;IAgCzF,aAAa,CACf,WAAW,SAA2C,EACtD,YAAY,SAA4C;IAUtD,QAAQ;IAId;;OAEG;IAEG,cAAc,CAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,sBAAsB;IA4DtI,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,qBAAqB;YAoBf,gBAAgB;YA6EhB,2BAA2B;IAsFzC,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,aAAa;CAMxB;AAGD,QAAA,MAAM,eAAe,EAAE,OAAO,gBAA0D,CAAA;AACxF,KAAK,eAAe,GAAG,gBAAgB,CAAA;AAEvC,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"insights-handler.d.ts","sourceRoot":"","sources":["../src/insights-handler.ts"],"names":[],"mappings":"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"}