@wdio/runner 8.0.5 → 8.0.6

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.
@@ -1,4 +1,4 @@
1
- import type { Capabilities } from '@wdio/types';
1
+ import type { Capabilities, Options } from '@wdio/types';
2
2
  import type BaseReporter from './reporter';
3
3
  import type { TestFramework } from './types';
4
4
  type WDIOErrorEvent = Partial<Pick<ErrorEvent, 'filename' | 'message'>> & {
@@ -18,7 +18,7 @@ export default class BrowserFramework implements Omit<TestFramework, 'init'> {
18
18
  private _specs;
19
19
  private _capabilities;
20
20
  private _reporter;
21
- constructor(_cid: string, _config: {
21
+ constructor(_cid: string, _config: Options.Testrunner & {
22
22
  sessionId?: string;
23
23
  }, _specs: string[], _capabilities: Capabilities.RemoteCapability, _reporter: BaseReporter);
24
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAW,MAAM,aAAa,CAAA;AAExD,OAAO,KAAK,YAAY,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAK5C,KAAK,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAOpG,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,cAAc,EAAE,cAAc,EAAE,CAAA;QAChC,cAAc,EAAE,GAAG,EAAE,CAAA;QACrB,gBAAgB,EAAE,MAAM,CAAA;KAC3B;CACJ;AAID,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;;IAIpE,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;gBAJT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAC/B,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,YAAY,CAAC,gBAAgB,EAC5C,SAAS,EAAE,YAAY;IAMnC;;OAEG;IACH,QAAQ;IAIR,IAAI;IAIE,GAAG;IAoHT,MAAM,CAAC,IAAI,CAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY;CAItH"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAW,OAAO,EAAY,MAAM,aAAa,CAAA;AAE3E,OAAO,KAAK,YAAY,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAA6C,MAAM,SAAS,CAAA;AAKvF,KAAK,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAOpG,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,cAAc,EAAE,cAAc,EAAE,CAAA;QAChC,cAAc,EAAE,GAAG,EAAE,CAAA;QACrB,gBAAgB,EAAE,MAAM,CAAA;KAC3B;CACJ;AAID,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;;IAIpE,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;gBAJT,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,UAAU,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EACpD,MAAM,EAAE,MAAM,EAAE,EAChB,aAAa,EAAE,YAAY,CAAC,gBAAgB,EAC5C,SAAS,EAAE,YAAY;IAMnC;;OAEG;IACH,QAAQ;IAIR,IAAI;IAIE,GAAG;IA0IT,MAAM,CAAC,IAAI,CAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY;CAItH"}
package/build/browser.js CHANGED
@@ -2,6 +2,7 @@ import url from 'node:url';
2
2
  import path from 'node:path';
3
3
  import logger from '@wdio/logger';
4
4
  import { browser } from '@wdio/globals';
5
+ import { executeHooksWithArgs } from '@wdio/utils';
5
6
  const log = logger('@wdio/runner');
6
7
  const sep = '\n - ';
7
8
  const sleep = (ms = 100) => new Promise((resolve) => setTimeout(resolve, ms));
@@ -18,8 +19,8 @@ export default class BrowserFramework {
18
19
  this._specs = _specs;
19
20
  this._capabilities = _capabilities;
20
21
  this._reporter = _reporter;
21
- // listen on debug state switches
22
- process.on('message', this.#switchDebugState.bind(this));
22
+ // listen on testrunner events
23
+ process.on('message', this.#handleProcessMessage.bind(this));
23
24
  }
24
25
  /**
25
26
  * always return true as it is unrelevant for component testing
@@ -36,7 +37,15 @@ export default class BrowserFramework {
36
37
  return failures;
37
38
  }
38
39
  catch (err) {
40
+ if (err.message.includes('net::ERR_CONNECTION_REFUSE')) {
41
+ err.message = `Failed to load test page to run tests, make sure your browser can access "${browser.options.baseUrl}"`;
42
+ }
39
43
  log.error(`Failed to run browser tests with cid ${this._cid}: ${err.stack}`);
44
+ process.send({
45
+ origin: 'worker',
46
+ name: 'error',
47
+ content: { name: err.name, message: err.message, stack: err.stack }
48
+ });
40
49
  return 1;
41
50
  }
42
51
  }
@@ -70,7 +79,7 @@ export default class BrowserFramework {
70
79
  if (this.#inDebugMode) {
71
80
  continue;
72
81
  }
73
- state = await browser?.execute(() => {
82
+ state = await browser?.execute(function fetchExecutionState() {
74
83
  const failures = window.__wdioEvents__ && window.__wdioEvents__.length > 0
75
84
  ? window.__wdioFailures__
76
85
  : null;
@@ -131,8 +140,21 @@ export default class BrowserFramework {
131
140
  });
132
141
  }
133
142
  }
134
- #switchDebugState(cmd) {
135
- this.#inDebugMode = cmd.args;
143
+ async #handleProcessMessage(cmd) {
144
+ if (cmd.command === 'switchDebugState') {
145
+ this.#inDebugMode = cmd.args;
146
+ return;
147
+ }
148
+ if (cmd.command === 'workerHookExecution') {
149
+ const args = cmd.args;
150
+ await executeHooksWithArgs(args.name, this._config[args.name], args.args)
151
+ .catch((err) => log.warn(`Failed running "${args.name}" hook for cid ${args.cid}: ${err.message}`));
152
+ return process.send({
153
+ origin: 'worker',
154
+ name: 'workerHookResult',
155
+ args
156
+ });
157
+ }
136
158
  }
137
159
  static init(cid, config, specs, caps, reporter) {
138
160
  const framework = new BrowserFramework(cid, config, specs, caps, reporter);
package/build/types.d.ts CHANGED
@@ -50,5 +50,20 @@ export interface SessionEndedMessage {
50
50
  name: 'sessionEnded';
51
51
  cid: string;
52
52
  }
53
+ export interface WorkerHookResultMessage {
54
+ origin: 'worker';
55
+ name: 'workerHookResult';
56
+ args: HookTriggerEvent;
57
+ }
58
+ /**
59
+ * Duplicate of @wdio/browser-runner type, refactoring needed
60
+ * see https://github.com/webdriverio/webdriverio/issues/9299
61
+ */
62
+ export interface HookTriggerEvent {
63
+ id: string;
64
+ cid: string;
65
+ name: string;
66
+ args: unknown[];
67
+ }
53
68
  export {};
54
69
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,YAAY,MAAM,eAAe,CAAA;AAExC,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC/E,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAC7E,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;AAC7F,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;AAE3F,UAAU,IAAK,SAAQ,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;IAC9C,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,IAAI,CAAA;IACV,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,YAAY,CAAC,gBAAgB,CAAA;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,CACF,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,CAAC,UAAU,EAC1B,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,YAAY,CAAC,gBAAgB,EAC3C,QAAQ,EAAE,YAAY,KACrB,aAAa,CAAA;IAClB,GAAG,IAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACvB,QAAQ,IAAK,OAAO,CAAA;CACvB;AAED,KAAK,gBAAgB,GAAG;IAAE,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAA;CAAE,CAAA;AACvE,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,gBAAgB;CAAG;AACzG,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,mBAAmB,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAExI,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,QAAQ,CAAA;IAChB,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE;QACL,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,aAAa,EAAE,OAAO,CAAA;QACtB,aAAa,EAAE,OAAO,CAAA;QACtB,YAAY,EAAE,YAAY,CAAC,YAAY,CAAA;KAC1C,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,QAAQ,CAAA;IAChB,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,MAAM,CAAA;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/runner",
3
- "version": "8.0.5",
3
+ "version": "8.0.6",
4
4
  "description": "A WebdriverIO service that runs tests in arbitrary environments",
5
5
  "author": "Christian Bromann <mail@bromann.dev>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-runner",
@@ -26,19 +26,19 @@
26
26
  "types": "./build/index.d.ts",
27
27
  "typeScriptVersion": "3.8.3",
28
28
  "dependencies": {
29
- "@wdio/config": "8.0.2",
30
- "@wdio/globals": "8.0.5",
29
+ "@wdio/config": "8.0.6",
30
+ "@wdio/globals": "8.0.6",
31
31
  "@wdio/logger": "8.0.0",
32
- "@wdio/types": "8.0.0",
33
- "@wdio/utils": "8.0.2",
32
+ "@wdio/types": "8.0.6",
33
+ "@wdio/utils": "8.0.6",
34
34
  "deepmerge-ts": "^4.2.2",
35
35
  "expect-webdriverio": "^4.0.1",
36
36
  "gaze": "^1.1.2",
37
- "webdriver": "8.0.2",
38
- "webdriverio": "8.0.5"
37
+ "webdriver": "8.0.6",
38
+ "webdriverio": "8.0.6"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public"
42
42
  },
43
- "gitHead": "3c1364b37331acc9124d7f5378937252d069936b"
43
+ "gitHead": "4f63a94a3af029401d652ff1d0fa36e9057f553c"
44
44
  }