@wdio/browser-runner 8.2.4 → 8.2.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 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/browser/driver.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,OAAO,WAAW;;IAG5B,MAAM,CAAC,UAAU,CACb,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACjD,cAAc,EAAE,GAAG;CAkJ1B"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/browser/driver.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,OAAO,OAAO,WAAW;;IAG5B,MAAM,CAAC,UAAU,CACb,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACjD,cAAc,EAAE,GAAG;CAmJ1B"}
@@ -1,6 +1,6 @@
1
1
  import stringify from 'fast-safe-stringify';
2
2
  import { commands } from 'virtual:wdio';
3
- import { webdriverMonad } from '@wdio/utils';
3
+ import { webdriverMonad, sessionEnvironmentDetector } from '@wdio/utils';
4
4
  import { getEnvironmentVars } from 'webdriver';
5
5
  import { MESSAGE_TYPES } from '../constants.js';
6
6
  const COMMAND_TIMEOUT = 30 * 1000; // 30s
@@ -23,7 +23,8 @@ export default class ProxyDriver {
23
23
  const socket = window.__wdioSocket__;
24
24
  socket.addEventListener('message', this.#handleServerMessage.bind(this));
25
25
  let commandId = 0;
26
- const environmentPrototype = getEnvironmentVars(params);
26
+ const environment = sessionEnvironmentDetector({ capabilities: params.capabilities, requestedCapabilities: {} });
27
+ const environmentPrototype = getEnvironmentVars(environment);
27
28
  // have debug command
28
29
  const commandsProcessedInNodeWorld = [...commands, 'debug'];
29
30
  const protocolCommands = commandsProcessedInNodeWorld.reduce((prev, commandName) => {
@@ -94,8 +95,8 @@ export default class ProxyDriver {
94
95
  return console.error(`Unknown command id "${value.id}"`);
95
96
  }
96
97
  if (value.error) {
97
- console.log(`[WDIO] ${(new Date()).toISOString()} - id: ${value.id} - ERROR: ${JSON.stringify(value.result)}`);
98
- return commandMessage.reject(value.error);
98
+ console.log(`[WDIO] ${(new Date()).toISOString()} - id: ${value.id} - ERROR: ${JSON.stringify(value.error.message)}`);
99
+ return commandMessage.reject(new Error(value.error.message || 'unknown error'));
99
100
  }
100
101
  if (commandMessage.commandTimeout) {
101
102
  clearTimeout(commandMessage.commandTimeout);
@@ -1 +1 @@
1
- {"version":3,"file":"testrunner.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/testrunner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AA6ClC,wBAAgB,UAAU,CAAE,OAAO,EAAE,WAAW,CAAC,oBAAoB,GAAG,MAAM,CA6G7E"}
1
+ {"version":3,"file":"testrunner.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/testrunner.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAuClC,wBAAgB,UAAU,CAAE,OAAO,EAAE,WAAW,CAAC,oBAAoB,GAAG,MAAM,CA6G7E"}
@@ -1,23 +1,14 @@
1
1
  import url from 'node:url';
2
2
  import path from 'node:path';
3
3
  import logger from '@wdio/logger';
4
+ import { deepmerge } from 'deepmerge-ts';
4
5
  import { resolve } from 'import-meta-resolve';
5
6
  import { WebDriverProtocol, MJsonWProtocol, JsonWProtocol, AppiumProtocol, ChromiumProtocol, SauceLabsProtocol, SeleniumProtocol, GeckoProtocol, WebDriverBidiProtocol } from '@wdio/protocols';
6
7
  import { SESSIONS } from '../../constants.js';
7
8
  import { getTemplate, getErrorTemplate } from '../utils.js';
8
9
  const log = logger('@wdio/browser-runner:plugin');
9
10
  const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
10
- const commands = {
11
- ...WebDriverProtocol,
12
- ...MJsonWProtocol,
13
- ...JsonWProtocol,
14
- ...AppiumProtocol,
15
- ...ChromiumProtocol,
16
- ...SauceLabsProtocol,
17
- ...SeleniumProtocol,
18
- ...GeckoProtocol,
19
- ...WebDriverBidiProtocol
20
- };
11
+ const commands = deepmerge(WebDriverProtocol, MJsonWProtocol, JsonWProtocol, AppiumProtocol, ChromiumProtocol, SauceLabsProtocol, SeleniumProtocol, GeckoProtocol, WebDriverBidiProtocol);
21
12
  const protocolCommandList = Object.values(commands).map((endpoint) => Object.values(endpoint).map(({ command }) => command)).flat();
22
13
  const WDIO_PACKAGES = ['webdriverio', 'expect-webdriverio'];
23
14
  const virtualModuleId = 'virtual:wdio';
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/vite/server.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM1C,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAGpC,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,MAAM,CAAA;AAQvD,OAAO,KAAK,EAAgB,gBAAgB,EAA6E,MAAM,YAAY,CAAA;AAY3I,qBAAa,UAAW,SAAQ,YAAY;;IAQxC,IAAI,YAAY,gCAEf;IAED,IAAI,MAAM,0BAET;gBAEY,OAAO,EAAE,WAAW,CAAC,oBAAoB;IAkBhD,KAAK;IAwCL,KAAK;IAmIX,OAAO,CAAC,cAAc;IAetB,WAAW,CAAE,MAAM,EAAE,gBAAgB;CAUxC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/vite/server.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM1C,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAGpC,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,MAAM,CAAA;AAQvD,OAAO,KAAK,EAAgB,gBAAgB,EAA6E,MAAM,YAAY,CAAA;AAY3I,qBAAa,UAAW,SAAQ,YAAY;;IAQxC,IAAI,YAAY,gCAEf;IAED,IAAI,MAAM,0BAET;gBAEY,OAAO,EAAE,WAAW,CAAC,oBAAoB;IAkBhD,KAAK;IAwCL,KAAK;IA2IX,OAAO,CAAC,cAAc;IAetB,WAAW,CAAE,MAAM,EAAE,gBAAgB;CAUxC"}
@@ -139,7 +139,7 @@ export class ViteServer extends EventEmitter {
139
139
  return ws.send(JSON.stringify(this.#hookResponse(result)));
140
140
  }
141
141
  async #handleCommand(ws, payload) {
142
- log.info(`Received browser message: ${payload}`);
142
+ log.debug(`Received browser message: ${JSON.stringify(payload)}`);
143
143
  const cid = payload.cid;
144
144
  if (typeof cid !== 'string') {
145
145
  const error = serializeError(new Error(`No "cid" property passed into command message with id "${payload.id}"`));
@@ -157,6 +157,12 @@ export class ViteServer extends EventEmitter {
157
157
  if (payload.commandName === 'debug') {
158
158
  this.emit('debugState', true);
159
159
  }
160
+ /**
161
+ * double check if function is registered
162
+ */
163
+ if (typeof browser[payload.commandName] !== 'function') {
164
+ throw new Error(`browser.${payload.commandName} is not a function`);
165
+ }
160
166
  const result = await browser[payload.commandName](...payload.args);
161
167
  const resultMsg = JSON.stringify(this.#commandResponse({ id: payload.id, result }));
162
168
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/browser-runner",
3
- "version": "8.2.4",
3
+ "version": "8.2.6",
4
4
  "description": "A WebdriverIO runner to run unit tests tests in the browser.",
5
5
  "author": "Christian Bromann <mail@bromann.dev>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-browser-runner",
@@ -30,8 +30,8 @@
30
30
  "@babel/plugin-proposal-class-properties": "^7.18.6",
31
31
  "@originjs/vite-plugin-commonjs": "^1.0.3",
32
32
  "@types/node": "^18.11.18",
33
- "@wdio/globals": "8.2.4",
34
- "@wdio/local-runner": "8.2.4",
33
+ "@wdio/globals": "8.2.6",
34
+ "@wdio/local-runner": "8.2.6",
35
35
  "@wdio/logger": "8.1.0",
36
36
  "@wdio/mocha-framework": "8.2.3",
37
37
  "@wdio/protocols": "8.2.0",
@@ -46,7 +46,7 @@
46
46
  "vite": "^4.0.4",
47
47
  "vite-plugin-top-level-await": "^1.2.2",
48
48
  "webdriver": "8.2.3",
49
- "webdriverio": "8.2.4",
49
+ "webdriverio": "8.2.6",
50
50
  "ws": "^8.12.0"
51
51
  },
52
52
  "scripts": {
@@ -57,7 +57,7 @@
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/ws": "^8.5.4",
60
- "@wdio/runner": "8.2.4"
60
+ "@wdio/runner": "8.2.6"
61
61
  },
62
- "gitHead": "eba541a77dbc42173717e1c106a7c4d3ccb198f5"
62
+ "gitHead": "82c01b9fcf03c477505fd3afed777ce7b227567b"
63
63
  }