webdriverio 8.16.14 → 8.16.16

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.
@@ -13,7 +13,7 @@
13
13
  * to walk down the DOM tree, e.g.:
14
14
  *
15
15
  * ```js
16
- * const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src)
16
+ * const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
17
17
  * ```
18
18
  *
19
19
  * It is also possible to use async iterators to loop over the result of the query, e.g.:
@@ -13,7 +13,7 @@
13
13
  * to walk down the DOM tree, e.g.:
14
14
  *
15
15
  * ```js
16
- * const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src)
16
+ * const imageSrc = await $$('div')[1].nextElement().$$('img')[2].getAttribute('src')
17
17
  * ```
18
18
  *
19
19
  * It is also possible to use async iterators to loop over the result of the query, e.g.:
@@ -4,6 +4,14 @@ interface GetElementProps {
4
4
  isReactElement?: boolean;
5
5
  isShadowElement?: boolean;
6
6
  }
7
+ interface WebDriverErrorResponse {
8
+ error: string;
9
+ message: string;
10
+ stacktrace: string;
11
+ }
12
+ declare class WebDriverError extends Error {
13
+ constructor(obj: Error | WebDriverErrorResponse);
14
+ }
7
15
  /**
8
16
  * transforms a findElement response into a WDIO element
9
17
  * @param {string} selector selector that was used to query the element
@@ -17,6 +25,6 @@ export declare const getElement: (this: WebdriverIO.Browser | WebdriverIO.Elemen
17
25
  * @param {Object} res findElements response
18
26
  * @return {Array} array of WDIO elements
19
27
  */
20
- export declare const getElements: (this: WebdriverIO.Browser | WebdriverIO.Element, selector: Selector | ElementReference[] | WebdriverIO.Element[], elemResponse: (ElementReference | Error)[], props?: GetElementProps) => ElementArray;
28
+ export declare const getElements: (this: WebdriverIO.Browser | WebdriverIO.Element, selector: Selector | ElementReference[] | WebdriverIO.Element[], elemResponse: (ElementReference | Error | WebDriverError)[], props?: GetElementProps) => ElementArray;
21
29
  export {};
22
30
  //# sourceMappingURL=getElementObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getElementObject.d.ts","sourceRoot":"","sources":["../../src/utils/getElementObject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMvD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEzD,UAAU,eAAe;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,SACb,YAAY,OAAO,GAAG,mBAAmB,aACpC,QAAQ,QACb,gBAAgB,GAAG,KAAK,UACvB,eAAe,KACvB,mBAwDF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SACd,YAAY,OAAO,GAAG,mBAAmB,YACrC,QAAQ,GAAG,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,gBACjD,CAAC,gBAAgB,GAAG,KAAK,CAAC,EAAE,UACnC,eAAe,KACvB,YAkEF,CAAA"}
1
+ {"version":3,"file":"getElementObject.d.ts","sourceRoot":"","sources":["../../src/utils/getElementObject.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAMvD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEzD,UAAU,eAAe;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,UAAU,sBAAsB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,cAAM,cAAe,SAAQ,KAAK;gBAClB,GAAG,EAAE,KAAK,GAAG,sBAAsB;CAWlD;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,SACb,YAAY,OAAO,GAAG,mBAAmB,aACpC,QAAQ,QACb,gBAAgB,GAAG,KAAK,UACvB,eAAe,KACvB,mBAwDF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,SACd,YAAY,OAAO,GAAG,mBAAmB,YACrC,QAAQ,GAAG,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,gBACjD,CAAC,gBAAgB,GAAG,KAAK,GAAG,cAAc,CAAC,EAAE,UACpD,eAAe,KACvB,YAmEF,CAAA"}
@@ -4,6 +4,17 @@ import { getBrowserObject, getPrototype as getWDIOPrototype, getElementFromRespo
4
4
  import { elementErrorHandler } from '../middlewares.js';
5
5
  import { ELEMENT_KEY } from '../constants.js';
6
6
  import * as browserCommands from '../commands/browser.js';
7
+ class WebDriverError extends Error {
8
+ constructor(obj) {
9
+ const { name, stack } = obj;
10
+ const { error, stacktrace } = obj;
11
+ super(error || name || '');
12
+ Object.assign(this, {
13
+ message: obj.message,
14
+ stack: stacktrace || stack,
15
+ });
16
+ }
17
+ }
7
18
  /**
8
19
  * transforms a findElement response into a WDIO element
9
20
  * @param {string} selector selector that was used to query the element
@@ -82,7 +93,7 @@ export const getElements = function getElements(selector, elemResponse, props =
82
93
  }, {})),
83
94
  ...getWDIOPrototype('element')
84
95
  };
85
- const elements = elemResponse.map((res, i) => {
96
+ const elements = [elemResponse].flat(1).map((res, i) => {
86
97
  /**
87
98
  * if we already deal with an element, just return it
88
99
  */
@@ -104,7 +115,8 @@ export const getElements = function getElements(selector, elemResponse, props =
104
115
  client[elementKey] = elementId;
105
116
  }
106
117
  else {
107
- client.error = res;
118
+ res = res;
119
+ client.error = res instanceof Error ? res : new WebDriverError(res);
108
120
  }
109
121
  client.selector = Array.isArray(selector)
110
122
  ? selector[i].selector
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "webdriverio",
3
3
  "description": "Next-gen browser and mobile automation test framework for Node.js",
4
- "version": "8.16.14",
4
+ "version": "8.16.16",
5
5
  "homepage": "https://webdriver.io",
6
6
  "author": "Christian Bromann <mail@bromann.dev>",
7
7
  "license": "MIT",
@@ -68,12 +68,12 @@
68
68
  },
69
69
  "dependencies": {
70
70
  "@types/node": "^20.1.0",
71
- "@wdio/config": "8.16.14",
71
+ "@wdio/config": "8.16.15",
72
72
  "@wdio/logger": "8.11.0",
73
73
  "@wdio/protocols": "8.16.5",
74
74
  "@wdio/repl": "8.10.1",
75
75
  "@wdio/types": "8.16.12",
76
- "@wdio/utils": "8.16.14",
76
+ "@wdio/utils": "8.16.15",
77
77
  "archiver": "^6.0.0",
78
78
  "aria-query": "^5.0.0",
79
79
  "css-shorthand-properties": "^1.1.1",
@@ -90,7 +90,7 @@
90
90
  "resq": "^1.9.1",
91
91
  "rgb2hex": "0.2.5",
92
92
  "serialize-error": "^11.0.1",
93
- "webdriver": "8.16.14"
93
+ "webdriver": "8.16.15"
94
94
  },
95
95
  "peerDependencies": {
96
96
  "devtools": "^8.14.0"
@@ -100,5 +100,5 @@
100
100
  "optional": true
101
101
  }
102
102
  },
103
- "gitHead": "b74f21bcf2a05efbf3c23a67e20bcb63db2620b6"
103
+ "gitHead": "156dd55e5426503974776114f1037807a326b9db"
104
104
  }