@appium/universal-xml-plugin 1.0.9 → 1.0.11
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.
- package/build/lib/index.d.ts +1 -1
- package/build/lib/index.d.ts.map +1 -1
- package/build/lib/plugin.d.ts +2 -2
- package/build/lib/plugin.d.ts.map +1 -1
- package/build/lib/source.d.ts +63 -18
- package/build/lib/source.d.ts.map +1 -1
- package/build/lib/source.js +65 -34
- package/build/lib/source.js.map +1 -1
- package/build/lib/xpath.d.ts +9 -2
- package/build/lib/xpath.d.ts.map +1 -1
- package/build/lib/xpath.js +14 -0
- package/build/lib/xpath.js.map +1 -1
- package/index.js +3 -1
- package/lib/source.js +67 -12
- package/lib/xpath.js +11 -0
- package/package.json +5 -5
package/build/lib/index.d.ts
CHANGED
package/build/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":"AAMA,6BAYC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":"AAMA,6BAYC;;;+BAlB8B,UAAU"}
|
package/build/lib/plugin.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export default class UniversalXMLPlugin extends BasePlugin {
|
|
2
|
-
getPageSource(next: any, driver: any, sessId: any, addIndexPath?: boolean): Promise<
|
|
2
|
+
getPageSource(next: any, driver: any, sessId: any, addIndexPath?: boolean): Promise<string>;
|
|
3
3
|
findElement(...args: any[]): Promise<any>;
|
|
4
4
|
findElements(...args: any[]): Promise<any>;
|
|
5
5
|
_find(multiple: any, next: any, driver: any, strategy: any, selector: any): Promise<any>;
|
|
6
6
|
}
|
|
7
|
-
import { BasePlugin } from
|
|
7
|
+
import { BasePlugin } from 'appium/plugin';
|
|
8
8
|
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.js"],"names":[],"mappings":"AAQA;IACE,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../lib/plugin.js"],"names":[],"mappings":"AAQA;IACE,4FA4BC;IAED,0CAEC;IAED,2CAEC;IAED,yFAgCC;CACF;2BA9EwB,eAAe"}
|
package/build/lib/source.d.ts
CHANGED
|
@@ -1,24 +1,69 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* @param {string} xmlStr
|
|
4
|
+
* @param {string} platform
|
|
5
|
+
* @param {{metadata?: Object, addIndexPath?: boolean}} opts
|
|
6
|
+
* @returns {{xml: string, unknowns: NodesAndAttributes}}
|
|
7
|
+
*/
|
|
8
|
+
export function transformSourceXml(xmlStr: string, platform: string, { metadata, addIndexPath }?: {
|
|
9
|
+
metadata?: any;
|
|
10
|
+
addIndexPath?: boolean;
|
|
4
11
|
}): {
|
|
5
|
-
xml:
|
|
6
|
-
unknowns:
|
|
12
|
+
xml: string;
|
|
13
|
+
unknowns: NodesAndAttributes;
|
|
7
14
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param {any} nodeName
|
|
18
|
+
* @param {string} platform
|
|
19
|
+
* @returns {string?}
|
|
20
|
+
*/
|
|
21
|
+
export function getUniversalNodeName(nodeName: any, platform: string): string | null;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @param {string} attrName
|
|
25
|
+
* @param {string} platform
|
|
26
|
+
* @returns {string?}
|
|
27
|
+
*/
|
|
28
|
+
export function getUniversalAttrName(attrName: string, platform: string): string | null;
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @param {any} nodeObj
|
|
32
|
+
* @param {string} platform
|
|
33
|
+
* @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
|
|
34
|
+
* @returns {NodesAndAttributes}
|
|
35
|
+
*/
|
|
36
|
+
export function transformNode(nodeObj: any, platform: string, { metadata, addIndexPath, parentPath }: {
|
|
37
|
+
metadata?: any;
|
|
38
|
+
addIndexPath?: boolean;
|
|
39
|
+
parentPath?: string;
|
|
40
|
+
}): NodesAndAttributes;
|
|
41
|
+
/**
|
|
42
|
+
*
|
|
43
|
+
* @param {any} nodeObj
|
|
44
|
+
* @param {string[]} childNodeNames
|
|
45
|
+
* @param {string} platform
|
|
46
|
+
* @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
|
|
47
|
+
* @returns {NodesAndAttributes}
|
|
48
|
+
*/
|
|
49
|
+
export function transformChildNodes(nodeObj: any, childNodeNames: string[], platform: string, { metadata, addIndexPath, parentPath }: {
|
|
50
|
+
metadata?: any;
|
|
51
|
+
addIndexPath?: boolean;
|
|
52
|
+
parentPath?: string;
|
|
53
|
+
}): NodesAndAttributes;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @param {any} nodeObj
|
|
57
|
+
* @param {string[]} attrs
|
|
58
|
+
* @param {string} platform
|
|
59
|
+
* @returns {string[]}
|
|
60
|
+
*/
|
|
61
|
+
export function transformAttrs(nodeObj: any, attrs: string[], platform: string): string[];
|
|
21
62
|
export const ATTR_PREFIX: "@_";
|
|
22
63
|
export const IDX_PATH_PREFIX: string;
|
|
23
64
|
export const IDX_PREFIX: string;
|
|
65
|
+
export type NodesAndAttributes = {
|
|
66
|
+
nodes: string[];
|
|
67
|
+
attrs: string[];
|
|
68
|
+
};
|
|
24
69
|
//# sourceMappingURL=source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../lib/source.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../lib/source.js"],"names":[],"mappings":"AA4BA;;;;;;GAMG;AACH,2CALW,MAAM,YACN,MAAM,+BACN;IAAC,QAAQ,CAAC,MAAS;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAC;SACnC,MAAM;cAAY,kBAAkB;EAetD;AAsBD;;;;;GAKG;AACH,+CAJW,GAAG,YACH,MAAM,GACJ,MAAM,QAIlB;AAED;;;;;GAKG;AACH,+CAJW,MAAM,YACN,MAAM,GACJ,MAAM,QAIlB;AAED;;;;;;GAMG;AACH,uCALW,GAAG,YACH,MAAM,0CACN;IAAC,QAAQ,CAAC,MAAS;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC,GAC9D,kBAAkB,CA4C9B;AAED;;;;;;;GAOG;AACH,6CANW,GAAG,kBACH,MAAM,EAAE,YACR,MAAM,0CACN;IAAC,QAAQ,CAAC,MAAS;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC,GAC9D,kBAAkB,CAyC9B;AAED;;;;;;GAMG;AACH,wCALW,GAAG,SACH,MAAM,EAAE,YACR,MAAM,GACJ,MAAM,EAAE,CAsBpB;AAnND,+BAAgC;AAChC,qCAAyD;AACzD,gCAAgD;iCAoNnC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC"}
|
package/build/lib/source.js
CHANGED
|
@@ -1,67 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
6
|
exports.transformAttrs = exports.transformChildNodes = exports.transformNode = exports.getUniversalAttrName = exports.getUniversalNodeName = exports.transformSourceXml = exports.IDX_PREFIX = exports.IDX_PATH_PREFIX = exports.ATTR_PREFIX = void 0;
|
|
30
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
31
|
-
const fast_xml_parser_1 =
|
|
8
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
32
9
|
const node_map_1 = __importDefault(require("./node-map"));
|
|
33
10
|
const attr_map_1 = require("./attr-map");
|
|
34
11
|
const transformers_1 = __importDefault(require("./transformers"));
|
|
12
|
+
exports.ATTR_PREFIX = '@_';
|
|
13
|
+
exports.IDX_PATH_PREFIX = `${exports.ATTR_PREFIX}indexPath`;
|
|
14
|
+
exports.IDX_PREFIX = `${exports.ATTR_PREFIX}index`;
|
|
35
15
|
const PARSE_OPTS = {
|
|
36
16
|
ignoreAttributes: false,
|
|
37
|
-
|
|
17
|
+
ignoreDeclaration: true,
|
|
18
|
+
attributeNamePrefix: exports.ATTR_PREFIX,
|
|
19
|
+
isArray: (name, jPath, isLeafNode, isAttribute) => !isAttribute,
|
|
38
20
|
};
|
|
39
21
|
const GEN_OPTS = {
|
|
40
22
|
ignoreAttributes: false,
|
|
41
|
-
|
|
23
|
+
attributeNamePrefix: exports.ATTR_PREFIX,
|
|
24
|
+
allowBooleanAttributes: true,
|
|
25
|
+
suppressBooleanAttributes: false,
|
|
42
26
|
format: true,
|
|
43
27
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
28
|
+
const isAttr = (/** @type {string} */ k) => k.startsWith(exports.ATTR_PREFIX);
|
|
29
|
+
const isNode = (/** @type {string} */ k) => !isAttr(k);
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param {string} xmlStr
|
|
33
|
+
* @param {string} platform
|
|
34
|
+
* @param {{metadata?: Object, addIndexPath?: boolean}} opts
|
|
35
|
+
* @returns {{xml: string, unknowns: NodesAndAttributes}}
|
|
36
|
+
*/
|
|
49
37
|
function transformSourceXml(xmlStr, platform, { metadata = {}, addIndexPath = false } = {}) {
|
|
50
38
|
// first thing we want to do is modify the ios source root node, because it doesn't include the
|
|
51
39
|
// necessary index attribute, so we add it if it's not there
|
|
52
40
|
xmlStr = xmlStr.replace('<AppiumAUT>', '<AppiumAUT index="0">');
|
|
53
|
-
const xmlObj = fast_xml_parser_1.
|
|
41
|
+
const xmlObj = new fast_xml_parser_1.XMLParser(PARSE_OPTS).parse(xmlStr);
|
|
54
42
|
const unknowns = transformNode(xmlObj, platform, {
|
|
55
43
|
metadata,
|
|
56
44
|
addIndexPath,
|
|
57
45
|
parentPath: '',
|
|
58
46
|
});
|
|
59
|
-
|
|
60
|
-
let transformedXml = jParser.parse(xmlObj).trim();
|
|
47
|
+
let transformedXml = new fast_xml_parser_1.XMLBuilder(GEN_OPTS).build(xmlObj).trim();
|
|
61
48
|
transformedXml = `<?xml version="1.0" encoding="UTF-8"?>\n${transformedXml}`;
|
|
62
49
|
return { xml: transformedXml, unknowns };
|
|
63
50
|
}
|
|
64
51
|
exports.transformSourceXml = transformSourceXml;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @param {Object} nameMap
|
|
55
|
+
* @param {string} name
|
|
56
|
+
* @param {string} platform
|
|
57
|
+
* @returns {string | null}
|
|
58
|
+
*/
|
|
65
59
|
function getUniversalName(nameMap, name, platform) {
|
|
66
60
|
for (const translatedName of Object.keys(nameMap)) {
|
|
67
61
|
const sourceNodes = nameMap[translatedName]?.[platform];
|
|
@@ -74,14 +68,33 @@ function getUniversalName(nameMap, name, platform) {
|
|
|
74
68
|
}
|
|
75
69
|
return null;
|
|
76
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
* @param {any} nodeName
|
|
74
|
+
* @param {string} platform
|
|
75
|
+
* @returns {string?}
|
|
76
|
+
*/
|
|
77
77
|
function getUniversalNodeName(nodeName, platform) {
|
|
78
78
|
return getUniversalName(node_map_1.default, nodeName, platform);
|
|
79
79
|
}
|
|
80
80
|
exports.getUniversalNodeName = getUniversalNodeName;
|
|
81
|
+
/**
|
|
82
|
+
*
|
|
83
|
+
* @param {string} attrName
|
|
84
|
+
* @param {string} platform
|
|
85
|
+
* @returns {string?}
|
|
86
|
+
*/
|
|
81
87
|
function getUniversalAttrName(attrName, platform) {
|
|
82
88
|
return getUniversalName(attr_map_1.ATTR_MAP, attrName, platform);
|
|
83
89
|
}
|
|
84
90
|
exports.getUniversalAttrName = getUniversalAttrName;
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* @param {any} nodeObj
|
|
94
|
+
* @param {string} platform
|
|
95
|
+
* @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
|
|
96
|
+
* @returns {NodesAndAttributes}
|
|
97
|
+
*/
|
|
85
98
|
function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }) {
|
|
86
99
|
const unknownNodes = [];
|
|
87
100
|
const unknownAttrs = [];
|
|
@@ -124,6 +137,14 @@ function transformNode(nodeObj, platform, { metadata, addIndexPath, parentPath }
|
|
|
124
137
|
};
|
|
125
138
|
}
|
|
126
139
|
exports.transformNode = transformNode;
|
|
140
|
+
/**
|
|
141
|
+
*
|
|
142
|
+
* @param {any} nodeObj
|
|
143
|
+
* @param {string[]} childNodeNames
|
|
144
|
+
* @param {string} platform
|
|
145
|
+
* @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
|
|
146
|
+
* @returns {NodesAndAttributes}
|
|
147
|
+
*/
|
|
127
148
|
function transformChildNodes(nodeObj, childNodeNames, platform, { metadata, addIndexPath, parentPath }) {
|
|
128
149
|
const unknownNodes = [];
|
|
129
150
|
const unknownAttrs = [];
|
|
@@ -159,6 +180,13 @@ function transformChildNodes(nodeObj, childNodeNames, platform, { metadata, addI
|
|
|
159
180
|
return { nodes: unknownNodes, attrs: unknownAttrs };
|
|
160
181
|
}
|
|
161
182
|
exports.transformChildNodes = transformChildNodes;
|
|
183
|
+
/**
|
|
184
|
+
*
|
|
185
|
+
* @param {any} nodeObj
|
|
186
|
+
* @param {string[]} attrs
|
|
187
|
+
* @param {string} platform
|
|
188
|
+
* @returns {string[]}
|
|
189
|
+
*/
|
|
162
190
|
function transformAttrs(nodeObj, attrs, platform) {
|
|
163
191
|
const unknownAttrs = [];
|
|
164
192
|
for (const attr of attrs) {
|
|
@@ -181,4 +209,7 @@ function transformAttrs(nodeObj, attrs, platform) {
|
|
|
181
209
|
return unknownAttrs;
|
|
182
210
|
}
|
|
183
211
|
exports.transformAttrs = transformAttrs;
|
|
212
|
+
/**
|
|
213
|
+
* @typedef {{nodes: string[], attrs: string[]}} NodesAndAttributes
|
|
214
|
+
*/
|
|
184
215
|
//# sourceMappingURL=source.js.map
|
package/build/lib/source.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../lib/source.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../lib/source.js"],"names":[],"mappings":"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"}
|
package/build/lib/xpath.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
export function runQuery(query: any, xmlStr: any): import("xpath").
|
|
2
|
-
|
|
1
|
+
export function runQuery(query: any, xmlStr: any): import("xpath").SelectReturnType;
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param {string} query
|
|
5
|
+
* @param {string} xmlStr
|
|
6
|
+
* @param {boolean} multiple
|
|
7
|
+
* @returns {string|null}
|
|
8
|
+
*/
|
|
9
|
+
export function transformQuery(query: string, xmlStr: string, multiple: boolean): string | null;
|
|
3
10
|
export function getNodeAttrVal(node: any, attr: any): any;
|
|
4
11
|
//# sourceMappingURL=xpath.d.ts.map
|
package/build/lib/xpath.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xpath.d.ts","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xpath.d.ts","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":"AAIA,oFAIC;AAED;;;;;;GAMG;AACH,sCALW,MAAM,UACN,MAAM,YACN,OAAO,GACL,MAAM,GAAC,IAAI,CAkCvB;AAED,0DAMC"}
|
package/build/lib/xpath.js
CHANGED
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.getNodeAttrVal = exports.transformQuery = exports.runQuery = void 0;
|
|
4
7
|
const xpath_1 = require("xpath");
|
|
5
8
|
const xmldom_1 = require("@xmldom/xmldom");
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
6
10
|
function runQuery(query, xmlStr) {
|
|
7
11
|
const dom = new xmldom_1.DOMParser().parseFromString(xmlStr);
|
|
8
12
|
const nodes = (0, xpath_1.select)(query, dom);
|
|
9
13
|
return nodes;
|
|
10
14
|
}
|
|
11
15
|
exports.runQuery = runQuery;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param {string} query
|
|
19
|
+
* @param {string} xmlStr
|
|
20
|
+
* @param {boolean} multiple
|
|
21
|
+
* @returns {string|null}
|
|
22
|
+
*/
|
|
12
23
|
function transformQuery(query, xmlStr, multiple) {
|
|
13
24
|
const nodes = runQuery(query, xmlStr);
|
|
25
|
+
if (!lodash_1.default.isArray(nodes)) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
14
28
|
const newQueries = nodes.map((node) => {
|
|
15
29
|
const indexPath = getNodeAttrVal(node, 'indexPath');
|
|
16
30
|
// at this point indexPath will look like /0/0/1/1/0/1/0/2
|
package/build/lib/xpath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xpath.js","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xpath.js","sourceRoot":"","sources":["../../lib/xpath.js"],"names":[],"mappings":";;;;;;AAAA,iCAA2C;AAC3C,2CAAyC;AACzC,oDAAuB;AAEvB,SAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACpC,MAAM,GAAG,GAAG,IAAI,kBAAS,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAA,cAAU,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAJD,4BAIC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,0DAA0D;QAC1D,IAAI,QAAQ,GAAG,SAAS;aACrB,SAAS,CAAC,CAAC,CAAC,CAAC,mCAAmC;aAChD,KAAK,CAAC,GAAG,CAAC,CAAC,qBAAqB;aAChC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChB,sCAAsC;YACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,KAAK,UAAU,GAAG,CAAC;QAC5B,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;QAE1B,iFAAiF;QACjF,OAAO,IAAI,QAAQ,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,UAAU,CAAC,MAAM,EAAE;QACrB,IAAI,QAAQ,EAAE;YACZ,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;aAAM;YACL,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SAC7B;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAhCD,wCAgCC;AAED,SAAgB,cAAc,CAAC,IAAI,EAAE,IAAI;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACnF,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,+BAA+B,CAAC,CAAC;KAC7F;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC;AAND,wCAMC"}
|
package/index.js
CHANGED
package/lib/source.js
CHANGED
|
@@ -1,43 +1,60 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import
|
|
2
|
+
import {XMLParser, XMLBuilder} from 'fast-xml-parser';
|
|
3
3
|
import NODE_MAP from './node-map';
|
|
4
4
|
import {ATTR_MAP, REMOVE_ATTRS} from './attr-map';
|
|
5
5
|
import TRANSFORMS from './transformers';
|
|
6
6
|
|
|
7
|
+
export const ATTR_PREFIX = '@_';
|
|
8
|
+
export const IDX_PATH_PREFIX = `${ATTR_PREFIX}indexPath`;
|
|
9
|
+
export const IDX_PREFIX = `${ATTR_PREFIX}index`;
|
|
10
|
+
|
|
7
11
|
const PARSE_OPTS = {
|
|
8
12
|
ignoreAttributes: false,
|
|
9
|
-
|
|
13
|
+
ignoreDeclaration: true,
|
|
14
|
+
attributeNamePrefix: ATTR_PREFIX,
|
|
15
|
+
isArray: (name, jPath, isLeafNode, isAttribute) => !isAttribute,
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
const GEN_OPTS = {
|
|
13
19
|
ignoreAttributes: false,
|
|
14
|
-
|
|
20
|
+
attributeNamePrefix: ATTR_PREFIX,
|
|
21
|
+
allowBooleanAttributes: true,
|
|
22
|
+
suppressBooleanAttributes: false,
|
|
15
23
|
format: true,
|
|
16
24
|
};
|
|
17
25
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export const IDX_PREFIX = `${ATTR_PREFIX}index`;
|
|
21
|
-
|
|
22
|
-
const isAttr = (k) => k.substring(0, 2) === ATTR_PREFIX;
|
|
23
|
-
const isNode = (k) => !isAttr(k);
|
|
26
|
+
const isAttr = (/** @type {string} */ k) => k.startsWith(ATTR_PREFIX);
|
|
27
|
+
const isNode = (/** @type {string} */ k) => !isAttr(k);
|
|
24
28
|
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @param {string} xmlStr
|
|
32
|
+
* @param {string} platform
|
|
33
|
+
* @param {{metadata?: Object, addIndexPath?: boolean}} opts
|
|
34
|
+
* @returns {{xml: string, unknowns: NodesAndAttributes}}
|
|
35
|
+
*/
|
|
25
36
|
export function transformSourceXml(xmlStr, platform, {metadata = {}, addIndexPath = false} = {}) {
|
|
26
37
|
// first thing we want to do is modify the ios source root node, because it doesn't include the
|
|
27
38
|
// necessary index attribute, so we add it if it's not there
|
|
28
39
|
xmlStr = xmlStr.replace('<AppiumAUT>', '<AppiumAUT index="0">');
|
|
29
|
-
const xmlObj =
|
|
40
|
+
const xmlObj = new XMLParser(PARSE_OPTS).parse(xmlStr);
|
|
30
41
|
const unknowns = transformNode(xmlObj, platform, {
|
|
31
42
|
metadata,
|
|
32
43
|
addIndexPath,
|
|
33
44
|
parentPath: '',
|
|
34
45
|
});
|
|
35
|
-
|
|
36
|
-
let transformedXml = jParser.parse(xmlObj).trim();
|
|
46
|
+
let transformedXml = new XMLBuilder(GEN_OPTS).build(xmlObj).trim();
|
|
37
47
|
transformedXml = `<?xml version="1.0" encoding="UTF-8"?>\n${transformedXml}`;
|
|
38
48
|
return {xml: transformedXml, unknowns};
|
|
39
49
|
}
|
|
40
50
|
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @param {Object} nameMap
|
|
54
|
+
* @param {string} name
|
|
55
|
+
* @param {string} platform
|
|
56
|
+
* @returns {string | null}
|
|
57
|
+
*/
|
|
41
58
|
function getUniversalName(nameMap, name, platform) {
|
|
42
59
|
for (const translatedName of Object.keys(nameMap)) {
|
|
43
60
|
const sourceNodes = nameMap[translatedName]?.[platform];
|
|
@@ -51,14 +68,33 @@ function getUniversalName(nameMap, name, platform) {
|
|
|
51
68
|
return null;
|
|
52
69
|
}
|
|
53
70
|
|
|
71
|
+
/**
|
|
72
|
+
*
|
|
73
|
+
* @param {any} nodeName
|
|
74
|
+
* @param {string} platform
|
|
75
|
+
* @returns {string?}
|
|
76
|
+
*/
|
|
54
77
|
export function getUniversalNodeName(nodeName, platform) {
|
|
55
78
|
return getUniversalName(NODE_MAP, nodeName, platform);
|
|
56
79
|
}
|
|
57
80
|
|
|
81
|
+
/**
|
|
82
|
+
*
|
|
83
|
+
* @param {string} attrName
|
|
84
|
+
* @param {string} platform
|
|
85
|
+
* @returns {string?}
|
|
86
|
+
*/
|
|
58
87
|
export function getUniversalAttrName(attrName, platform) {
|
|
59
88
|
return getUniversalName(ATTR_MAP, attrName, platform);
|
|
60
89
|
}
|
|
61
90
|
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* @param {any} nodeObj
|
|
94
|
+
* @param {string} platform
|
|
95
|
+
* @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
|
|
96
|
+
* @returns {NodesAndAttributes}
|
|
97
|
+
*/
|
|
62
98
|
export function transformNode(nodeObj, platform, {metadata, addIndexPath, parentPath}) {
|
|
63
99
|
const unknownNodes = [];
|
|
64
100
|
const unknownAttrs = [];
|
|
@@ -103,6 +139,14 @@ export function transformNode(nodeObj, platform, {metadata, addIndexPath, parent
|
|
|
103
139
|
};
|
|
104
140
|
}
|
|
105
141
|
|
|
142
|
+
/**
|
|
143
|
+
*
|
|
144
|
+
* @param {any} nodeObj
|
|
145
|
+
* @param {string[]} childNodeNames
|
|
146
|
+
* @param {string} platform
|
|
147
|
+
* @param {{metadata?: Object, addIndexPath?: boolean, parentPath?: string}} opts
|
|
148
|
+
* @returns {NodesAndAttributes}
|
|
149
|
+
*/
|
|
106
150
|
export function transformChildNodes(
|
|
107
151
|
nodeObj,
|
|
108
152
|
childNodeNames,
|
|
@@ -144,6 +188,13 @@ export function transformChildNodes(
|
|
|
144
188
|
return {nodes: unknownNodes, attrs: unknownAttrs};
|
|
145
189
|
}
|
|
146
190
|
|
|
191
|
+
/**
|
|
192
|
+
*
|
|
193
|
+
* @param {any} nodeObj
|
|
194
|
+
* @param {string[]} attrs
|
|
195
|
+
* @param {string} platform
|
|
196
|
+
* @returns {string[]}
|
|
197
|
+
*/
|
|
147
198
|
export function transformAttrs(nodeObj, attrs, platform) {
|
|
148
199
|
const unknownAttrs = [];
|
|
149
200
|
for (const attr of attrs) {
|
|
@@ -165,3 +216,7 @@ export function transformAttrs(nodeObj, attrs, platform) {
|
|
|
165
216
|
}
|
|
166
217
|
return unknownAttrs;
|
|
167
218
|
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* @typedef {{nodes: string[], attrs: string[]}} NodesAndAttributes
|
|
222
|
+
*/
|
package/lib/xpath.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {select as xpathQuery} from 'xpath';
|
|
2
2
|
import {DOMParser} from '@xmldom/xmldom';
|
|
3
|
+
import _ from 'lodash';
|
|
3
4
|
|
|
4
5
|
export function runQuery(query, xmlStr) {
|
|
5
6
|
const dom = new DOMParser().parseFromString(xmlStr);
|
|
@@ -7,8 +8,18 @@ export function runQuery(query, xmlStr) {
|
|
|
7
8
|
return nodes;
|
|
8
9
|
}
|
|
9
10
|
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param {string} query
|
|
14
|
+
* @param {string} xmlStr
|
|
15
|
+
* @param {boolean} multiple
|
|
16
|
+
* @returns {string|null}
|
|
17
|
+
*/
|
|
10
18
|
export function transformQuery(query, xmlStr, multiple) {
|
|
11
19
|
const nodes = runQuery(query, xmlStr);
|
|
20
|
+
if (!_.isArray(nodes)) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
12
23
|
|
|
13
24
|
const newQueries = nodes.map((node) => {
|
|
14
25
|
const indexPath = getNodeAttrVal(node, 'indexPath');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appium/universal-xml-plugin",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "Appium plugin for making XML source and XPath queries the same across iOS and Android",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"automation",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@types/xmldom": "0.1.31",
|
|
40
|
-
"@xmldom/xmldom": "0.8.
|
|
41
|
-
"fast-xml-parser": "
|
|
40
|
+
"@xmldom/xmldom": "0.8.10",
|
|
41
|
+
"fast-xml-parser": "4.2.7",
|
|
42
42
|
"lodash": "4.17.21",
|
|
43
43
|
"source-map-support": "0.5.21",
|
|
44
|
-
"xpath": "0.0.
|
|
44
|
+
"xpath": "0.0.33"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"appium": "^2.0.0-beta.35"
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"publishConfig": {
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "820428b76931e401c65455e72f6465da0d2c38c1",
|
|
61
61
|
"typedoc": {
|
|
62
62
|
"entryPoint": "./lib/index.js"
|
|
63
63
|
}
|