@wdio/browserstack-service 8.16.5 → 8.16.7

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 (42) hide show
  1. package/build/accessibility-handler.d.ts +38 -0
  2. package/build/accessibility-handler.d.ts.map +1 -0
  3. package/build/accessibility-handler.js +260 -0
  4. package/build/constants.d.ts +3 -0
  5. package/build/constants.d.ts.map +1 -1
  6. package/build/constants.js +5 -1
  7. package/build/cucumber-types.d.ts +17 -0
  8. package/build/cucumber-types.d.ts.map +1 -1
  9. package/build/cucumber-types.js +0 -1
  10. package/build/index.d.ts +5 -0
  11. package/build/index.d.ts.map +1 -1
  12. package/build/index.js +4 -0
  13. package/build/insights-handler.d.ts +19 -3
  14. package/build/insights-handler.d.ts.map +1 -1
  15. package/build/insights-handler.js +274 -18
  16. package/build/launcher.d.ts +4 -0
  17. package/build/launcher.d.ts.map +1 -1
  18. package/build/launcher.js +156 -2
  19. package/build/log4jsAppender.d.ts +2 -0
  20. package/build/log4jsAppender.d.ts.map +1 -0
  21. package/build/log4jsAppender.js +19 -0
  22. package/build/logPatcher.d.ts +13 -0
  23. package/build/logPatcher.d.ts.map +1 -0
  24. package/build/logPatcher.js +38 -0
  25. package/build/logReportingAPI.d.ts +12 -0
  26. package/build/logReportingAPI.d.ts.map +1 -0
  27. package/build/logReportingAPI.js +56 -0
  28. package/build/reporter.d.ts +6 -0
  29. package/build/reporter.d.ts.map +1 -1
  30. package/build/reporter.js +42 -2
  31. package/build/scripts/test-event-scripts.d.ts +10 -0
  32. package/build/scripts/test-event-scripts.d.ts.map +1 -0
  33. package/build/scripts/test-event-scripts.js +65 -0
  34. package/build/service.d.ts +5 -3
  35. package/build/service.d.ts.map +1 -1
  36. package/build/service.js +21 -1
  37. package/build/types.d.ts +34 -1
  38. package/build/types.d.ts.map +1 -1
  39. package/build/util.d.ts +32 -0
  40. package/build/util.d.ts.map +1 -1
  41. package/build/util.js +292 -1
  42. package/package.json +8 -6
@@ -0,0 +1,38 @@
1
+ import type { Capabilities, Frameworks } from '@wdio/types';
2
+ import type { ITestCaseHookParameter } from './cucumber-types.js';
3
+ declare class _AccessibilityHandler {
4
+ private _browser;
5
+ private _capabilities;
6
+ private _framework?;
7
+ private _accessibilityAutomation?;
8
+ private _accessibilityOpts?;
9
+ private _platformA11yMeta;
10
+ private _caps;
11
+ private _suiteFile?;
12
+ private _accessibility?;
13
+ private _accessibilityOptions?;
14
+ private _testMetadata;
15
+ constructor(_browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser, _capabilities: Capabilities.RemoteCapability, isAppAutomate?: boolean, _framework?: string | undefined, _accessibilityAutomation?: string | boolean | undefined, _accessibilityOpts?: {
16
+ [key: string]: any;
17
+ } | undefined);
18
+ setSuiteFile(filename: string): void;
19
+ _getCapabilityValue(caps: Capabilities.RemoteCapability, capType: string, legacyCapType: string): WebdriverIO.SafaridriverOptions | undefined;
20
+ before(): Promise<void>;
21
+ beforeTest(suiteTitle: string | undefined, test: Frameworks.Test): Promise<void>;
22
+ afterTest(suiteTitle: string | undefined, test: Frameworks.Test): Promise<void>;
23
+ /**
24
+ * Cucumber Only
25
+ */
26
+ beforeScenario(world: ITestCaseHookParameter): Promise<void>;
27
+ afterScenario(world: ITestCaseHookParameter): Promise<void>;
28
+ private sendTestStartEvent;
29
+ private sendTestForceStopEvent;
30
+ private sendTestStopEvent;
31
+ private getIdentifier;
32
+ private shouldRunTestHooks;
33
+ private checkIfPageOpened;
34
+ }
35
+ declare const AccessibilityHandler: typeof _AccessibilityHandler;
36
+ type AccessibilityHandler = _AccessibilityHandler;
37
+ export default AccessibilityHandler;
38
+ //# 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;AAE3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAkBjE,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,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,EAC9D,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;IA6BzF,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,260 @@
1
+ import logger from '@wdio/logger';
2
+ import { getA11yResultsSummary, getA11yResults, getUniqueIdentifier, getUniqueIdentifierForCucumber, isAccessibilityAutomationSession, isBrowserstackSession, o11yClassErrorHandler, shouldScanTestForAccessibility, validateCapsWithA11y, isTrue, } from './util.js';
3
+ import { testForceStop, testStartEvent, testStop } from './scripts/test-event-scripts.js';
4
+ const log = logger('@wdio/browserstack-service');
5
+ class _AccessibilityHandler {
6
+ _browser;
7
+ _capabilities;
8
+ _framework;
9
+ _accessibilityAutomation;
10
+ _accessibilityOpts;
11
+ _platformA11yMeta;
12
+ _caps;
13
+ _suiteFile;
14
+ _accessibility;
15
+ _accessibilityOptions;
16
+ _testMetadata = {};
17
+ constructor(_browser, _capabilities, isAppAutomate, _framework, _accessibilityAutomation, _accessibilityOpts) {
18
+ this._browser = _browser;
19
+ this._capabilities = _capabilities;
20
+ this._framework = _framework;
21
+ this._accessibilityAutomation = _accessibilityAutomation;
22
+ this._accessibilityOpts = _accessibilityOpts;
23
+ const caps = this._browser.capabilities;
24
+ this._platformA11yMeta = {
25
+ browser_name: caps.browserName,
26
+ browser_version: caps?.browserVersion || caps?.version || 'latest',
27
+ os_name: this._getCapabilityValue(_capabilities, 'os', 'os'),
28
+ os_version: this._getCapabilityValue(_capabilities, 'osVersion', 'os_version')
29
+ };
30
+ this._caps = _capabilities;
31
+ this._accessibility = isTrue(_accessibilityAutomation);
32
+ this._accessibilityOptions = _accessibilityOpts;
33
+ }
34
+ setSuiteFile(filename) {
35
+ this._suiteFile = filename;
36
+ }
37
+ _getCapabilityValue(caps, capType, legacyCapType) {
38
+ if (caps) {
39
+ if (capType === 'accessibility') {
40
+ if (caps['bstack:options'] && (isTrue(caps['bstack:options']?.accessibility))) {
41
+ return caps['bstack:options']?.accessibility;
42
+ }
43
+ else if (isTrue(caps['browserstack.accessibility'])) {
44
+ return caps['browserstack.accessibility'];
45
+ }
46
+ }
47
+ else if (capType === 'deviceName') {
48
+ if (caps['bstack:options'] && caps['bstack:options']?.deviceName) {
49
+ return caps['bstack:options']?.deviceName;
50
+ }
51
+ else if (caps['bstack:options'] && caps['bstack:options']?.device) {
52
+ return caps['bstack:options']?.device;
53
+ }
54
+ else if (caps['appium:deviceName']) {
55
+ return caps['appium:deviceName'];
56
+ }
57
+ }
58
+ else if (capType === 'goog:chromeOptions' && caps['goog:chromeOptions']) {
59
+ return caps['goog:chromeOptions'];
60
+ }
61
+ else {
62
+ const bstackOptions = caps['bstack:options'];
63
+ if (bstackOptions && bstackOptions?.[capType]) {
64
+ return bstackOptions?.[capType];
65
+ }
66
+ else if (caps[legacyCapType]) {
67
+ return caps[legacyCapType];
68
+ }
69
+ }
70
+ }
71
+ }
72
+ async before() {
73
+ this._accessibility = isTrue(this._getCapabilityValue(this._caps, 'accessibility', 'browserstack.accessibility'));
74
+ if (isBrowserstackSession(this._browser) && isAccessibilityAutomationSession(this._accessibility)) {
75
+ const deviceName = this._getCapabilityValue(this._caps, 'deviceName', 'device');
76
+ const chromeOptions = this._getCapabilityValue(this._caps, 'goog:chromeOptions', '');
77
+ this._accessibility = validateCapsWithA11y(deviceName, this._platformA11yMeta, chromeOptions);
78
+ }
79
+ this._browser.getAccessibilityResultsSummary = async () => {
80
+ return await getA11yResultsSummary(this._browser, isBrowserstackSession(this._browser), this._accessibility);
81
+ };
82
+ this._browser.getAccessibilityResults = async () => {
83
+ return await getA11yResults(this._browser, isBrowserstackSession(this._browser), this._accessibility);
84
+ };
85
+ }
86
+ async beforeTest(suiteTitle, test) {
87
+ if (this._framework !== 'mocha' ||
88
+ !this.shouldRunTestHooks(this._browser, this._accessibility)) {
89
+ return;
90
+ }
91
+ const shouldScanTest = shouldScanTestForAccessibility(suiteTitle, test.title, this._accessibilityOptions);
92
+ const testIdentifier = this.getIdentifier(test);
93
+ const isPageOpened = await this.checkIfPageOpened(this._browser, testIdentifier, shouldScanTest);
94
+ if (!isPageOpened) {
95
+ return;
96
+ }
97
+ try {
98
+ if (shouldScanTest) {
99
+ log.info('Setup for Accessibility testing has started. Automate test case execution will begin momentarily.');
100
+ await this.sendTestStartEvent(this._browser);
101
+ }
102
+ else {
103
+ await this.sendTestForceStopEvent(this._browser);
104
+ }
105
+ this._testMetadata[testIdentifier].accessibilityScanStarted = shouldScanTest;
106
+ if (shouldScanTest) {
107
+ log.info('Automate test case execution has started.');
108
+ }
109
+ }
110
+ catch (error) {
111
+ log.error(`Exception in starting accessibility automation scan for this test case ${error}`);
112
+ }
113
+ }
114
+ async afterTest(suiteTitle, test) {
115
+ if (this._framework !== 'mocha' ||
116
+ !this.shouldRunTestHooks(this._browser, this._accessibility)) {
117
+ return;
118
+ }
119
+ try {
120
+ const testIdentifier = this.getIdentifier(test);
121
+ const accessibilityScanStarted = this._testMetadata[testIdentifier]?.accessibilityScanStarted;
122
+ const shouldScanTestForAccessibility = this._testMetadata[testIdentifier]?.scanTestForAccessibility;
123
+ if (!accessibilityScanStarted) {
124
+ return;
125
+ }
126
+ if (shouldScanTestForAccessibility) {
127
+ log.info('Automate test case execution has ended. Processing for accessibility testing is underway. ');
128
+ }
129
+ const dataForExtension = {
130
+ saveResults: shouldScanTestForAccessibility,
131
+ testDetails: {
132
+ 'name': test.title,
133
+ 'testRunId': process.env.BS_A11Y_TEST_RUN_ID,
134
+ 'filePath': this._suiteFile,
135
+ 'scopeList': [suiteTitle, test.title]
136
+ },
137
+ platform: this._platformA11yMeta
138
+ };
139
+ await this.sendTestStopEvent(this._browser, dataForExtension);
140
+ if (shouldScanTestForAccessibility) {
141
+ log.info('Accessibility testing for this test case has ended.');
142
+ }
143
+ }
144
+ catch (error) {
145
+ log.error(`Accessibility results could not be processed for the test case ${test.title}. Error :`, error);
146
+ }
147
+ }
148
+ /**
149
+ * Cucumber Only
150
+ */
151
+ async beforeScenario(world) {
152
+ if (!this.shouldRunTestHooks(this._browser, this._accessibility)) {
153
+ return;
154
+ }
155
+ const pickleData = world.pickle;
156
+ const gherkinDocument = world.gherkinDocument;
157
+ const featureData = gherkinDocument.feature;
158
+ const uniqueId = getUniqueIdentifierForCucumber(world);
159
+ const shouldScanScenario = shouldScanTestForAccessibility(featureData?.name, pickleData.name, this._accessibilityOptions);
160
+ const isPageOpened = await this.checkIfPageOpened(this._browser, uniqueId, shouldScanScenario);
161
+ if (!isPageOpened) {
162
+ return;
163
+ }
164
+ try {
165
+ if (shouldScanScenario) {
166
+ log.info('Setup for Accessibility testing has started. Automate test case execution will begin momentarily.');
167
+ await this.sendTestStartEvent(this._browser);
168
+ }
169
+ else {
170
+ await this.sendTestForceStopEvent(this._browser);
171
+ }
172
+ this._testMetadata[uniqueId].accessibilityScanStarted = shouldScanScenario;
173
+ if (shouldScanScenario) {
174
+ log.info('Automate test case execution has started.');
175
+ }
176
+ }
177
+ catch (error) {
178
+ log.error(`Exception in starting accessibility automation scan for this test case ${error}`);
179
+ }
180
+ }
181
+ async afterScenario(world) {
182
+ if (!this.shouldRunTestHooks(this._browser, this._accessibility)) {
183
+ return;
184
+ }
185
+ const pickleData = world.pickle;
186
+ try {
187
+ const gherkinDocument = world.gherkinDocument;
188
+ const featureData = gherkinDocument.feature;
189
+ const uniqueId = getUniqueIdentifierForCucumber(world);
190
+ const accessibilityScanStarted = this._testMetadata[uniqueId]?.accessibilityScanStarted;
191
+ const shouldScanTestForAccessibility = this._testMetadata[uniqueId]?.scanTestForAccessibility;
192
+ if (!accessibilityScanStarted) {
193
+ return;
194
+ }
195
+ if (shouldScanTestForAccessibility) {
196
+ log.info('Automate test case execution has ended. Processing for accessibility testing is underway. ');
197
+ }
198
+ const dataForExtension = {
199
+ saveResults: shouldScanTestForAccessibility,
200
+ testDetails: {
201
+ 'name': pickleData.name,
202
+ 'testRunId': process.env.BS_A11Y_TEST_RUN_ID,
203
+ 'filePath': gherkinDocument.uri,
204
+ 'scopeList': [featureData?.name, pickleData.name]
205
+ },
206
+ platform: this._platformA11yMeta
207
+ };
208
+ await this.sendTestStopEvent(this._browser, dataForExtension);
209
+ if (shouldScanTestForAccessibility) {
210
+ log.info('Accessibility testing for this test case has ended.');
211
+ }
212
+ }
213
+ catch (error) {
214
+ log.error(`Accessibility results could not be processed for the test case ${pickleData.name}. Error :`, error);
215
+ }
216
+ }
217
+ /*
218
+ * private methods
219
+ */
220
+ sendTestStartEvent(browser) {
221
+ return browser.executeAsync(testStartEvent);
222
+ }
223
+ sendTestForceStopEvent(browser) {
224
+ return browser.execute(testForceStop);
225
+ }
226
+ sendTestStopEvent(browser, dataForExtension) {
227
+ return browser.executeAsync(testStop, dataForExtension);
228
+ }
229
+ getIdentifier(test) {
230
+ if ('pickle' in test) {
231
+ return getUniqueIdentifierForCucumber(test);
232
+ }
233
+ return getUniqueIdentifier(test, this._framework);
234
+ }
235
+ shouldRunTestHooks(browser, isAccessibility) {
236
+ if (!browser) {
237
+ return false;
238
+ }
239
+ return isBrowserstackSession(browser) && isAccessibilityAutomationSession(isAccessibility);
240
+ }
241
+ async checkIfPageOpened(browser, testIdentifier, shouldScanTest) {
242
+ let pageOpen = false;
243
+ this._testMetadata[testIdentifier] = {
244
+ scanTestForAccessibility: shouldScanTest,
245
+ accessibilityScanStarted: true
246
+ };
247
+ try {
248
+ const currentURL = await browser.getUrl();
249
+ const url = new URL(currentURL);
250
+ pageOpen = url?.protocol === 'http:' || url?.protocol === 'https:';
251
+ }
252
+ catch (e) {
253
+ pageOpen = false;
254
+ }
255
+ return pageOpen;
256
+ }
257
+ }
258
+ // https://github.com/microsoft/TypeScript/issues/6543
259
+ const AccessibilityHandler = o11yClassErrorHandler(_AccessibilityHandler);
260
+ export default AccessibilityHandler;
@@ -2,6 +2,7 @@ import type { BrowserstackConfig } from './types.js';
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";
@@ -12,4 +13,6 @@ 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;
14
15
  export declare const BSTACK_SERVICE_VERSION: any;
16
+ export declare const ACCESSIBILITY_API_URL = "https://accessibility.browserstack.com/api";
17
+ export declare const NOT_ALLOWED_KEYS_IN_CAPS: string[];
15
18
  //# 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,YAAY,CAAA;AAKpD,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;AAC5D,eAAO,MAAM,sBAAsB,KAAuB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKpD,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;AAEvE,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;AAC5D,eAAO,MAAM,sBAAsB,KAAuB,CAAA;AAE1D,eAAO,MAAM,qBAAqB,+CAA+C,CAAA;AACjF,eAAO,MAAM,wBAAwB,UAA6D,CAAA"}
@@ -19,8 +19,10 @@ export const VALID_APP_EXTENSION = [
19
19
  export const DEFAULT_OPTIONS = {
20
20
  setSessionName: true,
21
21
  setSessionStatus: true,
22
- testObservability: true
22
+ testObservability: true,
23
+ accessibility: false
23
24
  };
25
+ export const consoleHolder = Object.assign({}, console);
24
26
  export const DATA_ENDPOINT = 'https://collector-observability.browserstack.com';
25
27
  export const DATA_EVENT_ENDPOINT = 'api/v1/event';
26
28
  export const DATA_BATCH_ENDPOINT = 'api/v1/batch';
@@ -31,3 +33,5 @@ export const BATCH_EVENT_TYPES = ['LogCreated', 'TestRunStarted', 'TestRunFinish
31
33
  export const DEFAULT_WAIT_TIMEOUT_FOR_PENDING_UPLOADS = 5000; // 5s
32
34
  export const DEFAULT_WAIT_INTERVAL_FOR_PENDING_UPLOADS = 100; // 100ms
33
35
  export const BSTACK_SERVICE_VERSION = bstackServiceVersion;
36
+ export const ACCESSIBILITY_API_URL = 'https://accessibility.browserstack.com/api';
37
+ export const 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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"}
@@ -1,2 +1 @@
1
- // mimic types from @cucumber/@cucumber such that users don't install that dependency when not needed
2
1
  export {};
package/build/index.d.ts CHANGED
@@ -1,8 +1,13 @@
1
1
  import BrowserstackLauncher from './launcher.js';
2
2
  import BrowserstackService from './service.js';
3
3
  import type { BrowserstackConfig } from './types.js';
4
+ import logReportingAPI from './logReportingAPI.js';
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.js';
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,eAAe,CAAA;AAChD,OAAO,mBAAmB,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,eAAe,mBAAmB,CAAA;AAClC,eAAO,MAAM,QAAQ,6BAAuB,CAAA;AAC5C,cAAc,YAAY,CAAA;AAE1B,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,eAAe,CAAA;AAChD,OAAO,mBAAmB,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,eAAe,mBAAmB,CAAA;AAClC,eAAO,MAAM,QAAQ,6BAAuB,CAAA;AAC5C,eAAO,MAAM,cAAc;;CAAgB,CAAA;AAC3C,eAAO,MAAM,mBAAmB,wBAAkB,CAAA;AAElD,cAAc,YAAY,CAAA;AAE1B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,WAAW,CAAC;QAClB,UAAU,aAAc,SAAQ,kBAAkB;SAAG;KACxD;CACJ"}
package/build/index.js CHANGED
@@ -1,6 +1,10 @@
1
1
  /* istanbul ignore file */
2
2
  import BrowserstackLauncher from './launcher.js';
3
3
  import BrowserstackService from './service.js';
4
+ import { configure } from './log4jsAppender.js';
5
+ import logReportingAPI from './logReportingAPI.js';
4
6
  export default BrowserstackService;
5
7
  export const launcher = BrowserstackLauncher;
8
+ export const log4jsAppender = { configure };
9
+ export const BStackTestOpsLogger = logReportingAPI;
6
10
  export * from './types.js';
@@ -1,6 +1,7 @@
1
1
  import type { Frameworks } from '@wdio/types';
2
2
  import type { BeforeCommandArgs, AfterCommandArgs } from '@wdio/reporter';
3
- import type { Pickle, ITestCaseHookParameter } from './cucumber-types.js';
3
+ import type { Feature, Scenario, CucumberHook, CucumberHookParams, Pickle, ITestCaseHookParameter } from './cucumber-types.js';
4
+ import type { TestMeta, UploadType, CurrentRunInfo, StdLog } from './types.js';
4
5
  declare class _InsightsHandler {
5
6
  private _browser;
6
7
  private _framework?;
@@ -11,16 +12,29 @@ declare class _InsightsHandler {
11
12
  private _gitConfigPath?;
12
13
  private _suiteFile?;
13
14
  private _requestQueueHandler;
15
+ private _currentTest;
16
+ private _currentHook;
17
+ private _cucumberData;
14
18
  constructor(_browser: WebdriverIO.Browser | WebdriverIO.MultiRemoteBrowser, isAppAutomate?: boolean, _framework?: string | undefined);
19
+ registerListeners(): void;
15
20
  setSuiteFile(filename: string): void;
16
21
  before(): Promise<void>;
17
- beforeHook(test: Frameworks.Test, context: any): Promise<void>;
18
- afterHook(test: Frameworks.Test, result: Frameworks.TestResult): Promise<void>;
22
+ getCucumberHookType(test: CucumberHook | undefined): string | null;
23
+ getCucumberHookName(hookType: string | undefined): string;
24
+ getCucumberHookUniqueId(hookType: string, hook: CucumberHook | undefined): string | null;
25
+ getCucumberFeatureUniqueId(): string;
26
+ setCurrentHook(hookDetails: CurrentRunInfo): void;
27
+ sendScenarioObjectSkipped(scenario: Scenario, feature: Feature, uri: string): Promise<void>;
28
+ processCucumberHook(test: CucumberHook | undefined, params: CucumberHookParams, result?: Frameworks.TestResult): Promise<void>;
29
+ beforeHook(test: Frameworks.Test | CucumberHook | undefined, context: any): Promise<void>;
30
+ afterHook(test: Frameworks.Test | CucumberHook | undefined, result: Frameworks.TestResult): Promise<void>;
31
+ sendHookRunEvent(hookData: TestMeta, eventType: string, result?: Frameworks.TestResult): Promise<void>;
19
32
  beforeTest(test: Frameworks.Test): Promise<void>;
20
33
  afterTest(test: Frameworks.Test, result: Frameworks.TestResult): Promise<void>;
21
34
  /**
22
35
  * Cucumber Only
23
36
  */
37
+ beforeFeature(uri: string, feature: Feature): Promise<void>;
24
38
  beforeScenario(world: ITestCaseHookParameter): Promise<void>;
25
39
  afterScenario(world: ITestCaseHookParameter): Promise<void>;
26
40
  beforeStep(step: Frameworks.PickleStep, scenario: Pickle): Promise<void>;
@@ -30,6 +44,8 @@ declare class _InsightsHandler {
30
44
  /**
31
45
  * misc methods
32
46
  */
47
+ appendTestItemLog: (stdLog: StdLog) => Promise<void>;
48
+ sendData(data: UploadType): Promise<void>;
33
49
  browserCommand(commandType: string, args: BeforeCommandArgs & AfterCommandArgs, test?: Frameworks.Test | ITestCaseHookParameter): Promise<void>;
34
50
  private attachHookData;
35
51
  private setHooksFromSuite;
@@ -1 +1 @@
1
- {"version":3,"file":"insights-handler.d.ts","sourceRoot":"","sources":["../src/insights-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAsBzE,cAAM,gBAAgB;IASL,OAAO,CAAC,QAAQ;IAAiF,OAAO,CAAC,UAAU,CAAC;IARjI,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAA2D;IAC5E,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,oBAAoB,CAAoC;gBAE3C,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,OAAO,EAAU,UAAU,CAAC,oBAAQ;IAezI,YAAY,CAAC,QAAQ,EAAE,MAAM;IAIvB,MAAM;IAiBN,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;IAoD/D,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAYjC,SAAS,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU;IAYrE;;QAEI;IAEE,cAAc,CAAE,KAAK,EAAE,sBAAsB;IA4B7C,aAAa,CAAE,KAAK,EAAE,sBAAsB;IAI5C,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM;IAkBzD,SAAS,CAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,YAAY;IA0BzF,aAAa,CACf,WAAW,SAA2C,EACtD,YAAY,SAA4C,GACzD,OAAO,CAAC,OAAO,CAAC;IASb,QAAQ;IAId;;OAEG;IACG,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;IA0BzB,OAAO,CAAC,YAAY;YAiBN,gBAAgB;IA8E9B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,qBAAqB;YAoBf,2BAA2B;IAmFzC,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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"}