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,
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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": "
|
|
103
|
+
"gitHead": "156dd55e5426503974776114f1037807a326b9db"
|
|
104
104
|
}
|