@appium/universal-xml-plugin 1.0.3 → 1.0.5
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/LICENSE +2 -2
- package/build/lib/attr-map.d.ts +58 -0
- package/build/lib/attr-map.d.ts.map +1 -0
- package/build/lib/attr-map.js +1 -1
- package/build/lib/attr-map.js.map +1 -0
- package/build/lib/index.d.ts +5 -0
- package/build/lib/index.d.ts.map +1 -0
- package/build/lib/index.js +26 -0
- package/build/lib/index.js.map +1 -0
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +2 -2
- package/build/lib/logger.js.map +1 -0
- package/build/lib/node-map.d.ts +200 -0
- package/build/lib/node-map.d.ts.map +1 -0
- package/build/lib/node-map.js +15 -57
- package/build/lib/node-map.js.map +1 -0
- package/build/lib/plugin.d.ts +8 -0
- package/build/lib/plugin.d.ts.map +1 -0
- package/build/lib/plugin.js +16 -8
- package/build/lib/plugin.js.map +1 -0
- package/build/lib/source.d.ts +24 -0
- package/build/lib/source.d.ts.map +1 -0
- package/build/lib/source.js +24 -10
- package/build/lib/source.js.map +1 -0
- package/build/lib/transformers.d.ts +8 -0
- package/build/lib/transformers.d.ts.map +1 -0
- package/build/lib/transformers.js +1 -1
- package/build/lib/transformers.js.map +1 -0
- package/build/lib/xpath.d.ts +4 -0
- package/build/lib/xpath.d.ts.map +1 -0
- package/build/lib/xpath.js +3 -2
- package/build/lib/xpath.js.map +1 -0
- package/index.js +3 -17
- package/lib/attr-map.js +1 -1
- package/lib/index.js +19 -0
- package/lib/logger.js +1 -1
- package/lib/node-map.js +14 -58
- package/lib/plugin.js +36 -25
- package/lib/source.js +30 -13
- package/lib/transformers.js +3 -3
- package/lib/xpath.js +7 -6
- package/package.json +49 -23
- package/tsconfig.json +2 -6
- package/build/index.js +0 -25
- package/build/test/fixtures/android-transformed-path.xml +0 -39
- package/build/test/fixtures/android-transformed.xml +0 -39
- package/build/test/fixtures/android.xml +0 -39
- package/build/test/fixtures/index.js +0 -25
- package/build/test/fixtures/ios-edge.xml +0 -16
- package/build/test/fixtures/ios-transformed-edge.xml +0 -16
- package/build/test/fixtures/ios-transformed-path.xml +0 -54
- package/build/test/fixtures/ios-transformed.xml +0 -54
- package/build/test/fixtures/ios.xml +0 -51
- package/build/test/unit/plugin-specs.js +0 -59
- package/build/test/unit/source-specs.js +0 -82
- package/build/test/unit/xpath-specs.js +0 -46
- package/build/tsconfig.tsbuildinfo +0 -1
- package/test/fixtures/android-transformed-path.xml +0 -39
- package/test/fixtures/android-transformed.xml +0 -39
- package/test/fixtures/android.xml +0 -39
- package/test/fixtures/index.js +0 -14
- package/test/fixtures/ios-edge.xml +0 -16
- package/test/fixtures/ios-transformed-edge.xml +0 -16
- package/test/fixtures/ios-transformed-path.xml +0 -54
- package/test/fixtures/ios-transformed.xml +0 -54
- package/test/fixtures/ios.xml +0 -51
- package/test/unit/plugin-specs.js +0 -57
- package/test/unit/source-specs.js +0 -79
- package/test/unit/xpath-specs.js +0 -43
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const chai_1 = __importDefault(require("chai"));
|
|
7
|
-
const fixtures_1 = require("../fixtures");
|
|
8
|
-
const source_1 = require("../../lib/source");
|
|
9
|
-
chai_1.default.should();
|
|
10
|
-
describe('source functions', function () {
|
|
11
|
-
describe('transformSourceXml', function () {
|
|
12
|
-
it('should transform an xml doc based on platform', function () {
|
|
13
|
-
const { xml, unknowns: { nodes, attrs } } = (0, source_1.transformSourceXml)(fixtures_1.XML_IOS, 'ios');
|
|
14
|
-
xml.should.eql(fixtures_1.XML_IOS_TRANSFORMED);
|
|
15
|
-
nodes.should.eql([]);
|
|
16
|
-
attrs.should.eql([]);
|
|
17
|
-
});
|
|
18
|
-
it('should transform an xml doc and include index path', function () {
|
|
19
|
-
const { xml, unknowns: { nodes, attrs } } = (0, source_1.transformSourceXml)(fixtures_1.XML_IOS, 'ios', { addIndexPath: true });
|
|
20
|
-
xml.should.eql(fixtures_1.XML_IOS_TRANSFORMED_INDEX_PATH);
|
|
21
|
-
nodes.should.eql([]);
|
|
22
|
-
attrs.should.eql([]);
|
|
23
|
-
});
|
|
24
|
-
it('should transform an xml doc and return any unknown nodes or attrs', function () {
|
|
25
|
-
const { xml, unknowns: { nodes, attrs } } = (0, source_1.transformSourceXml)(fixtures_1.XML_IOS_EDGE, 'ios');
|
|
26
|
-
xml.should.eql(fixtures_1.XML_IOS_EDGE_TRANSFORMED);
|
|
27
|
-
nodes.should.eql(['SomeRandoElement']);
|
|
28
|
-
attrs.should.eql(['oddAttribute']);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
describe('transformChildNodes', function () {
|
|
32
|
-
it('should loop through child nodes of an object and transform them based on platform', function () {
|
|
33
|
-
const node = { XCUIElementTypeIcon: [{}], XCUIElementTypeKey: [{}], XCUIElementTypeTab: [{}] };
|
|
34
|
-
const metadata = {};
|
|
35
|
-
(0, source_1.transformChildNodes)(node, Object.keys(node), 'ios', metadata).should.eql({ nodes: [], attrs: [] });
|
|
36
|
-
node.should.eql({ Button: [{}, {}], Icon: [{}] });
|
|
37
|
-
});
|
|
38
|
-
it('should leave unknown nodes intact and add them to unknowns list', function () {
|
|
39
|
-
const node = { XCUIElementTypeIcon: [{}], UnknownThingo: [{}], XCUIElementTypeTab: [{}] };
|
|
40
|
-
const metadata = {};
|
|
41
|
-
(0, source_1.transformChildNodes)(node, Object.keys(node), 'ios', metadata).should.eql({ nodes: ['UnknownThingo'], attrs: [] });
|
|
42
|
-
node.should.eql({ Button: [{}], UnknownThingo: [{}], Icon: [{}] });
|
|
43
|
-
});
|
|
44
|
-
it('should leave nodes for other platforms intact and add them to unknowns list', function () {
|
|
45
|
-
const node = { XCUIElementTypeIcon: [{}], 'android.widget.EditText': [{}], XCUIElementTypeTab: [{}] };
|
|
46
|
-
const metadata = {};
|
|
47
|
-
(0, source_1.transformChildNodes)(node, Object.keys(node), 'ios', metadata).should.eql({ nodes: ['android.widget.EditText'], attrs: [] });
|
|
48
|
-
node.should.eql({ Button: [{}], 'android.widget.EditText': [{}], Icon: [{}] });
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe('transformAttrs', function () {
|
|
52
|
-
it('should remove attributes in the REMOVE_ATTRS list', function () {
|
|
53
|
-
const obj = { '@_type': 'foo', '@_package': 'yes', '@_class': 'lol' };
|
|
54
|
-
const attrs = Object.keys(obj);
|
|
55
|
-
const unknowns = (0, source_1.transformAttrs)(obj, attrs, 'ios');
|
|
56
|
-
obj.should.eql({});
|
|
57
|
-
unknowns.should.eql([]);
|
|
58
|
-
});
|
|
59
|
-
it('should translate attributes for the platform', function () {
|
|
60
|
-
const obj = { '@_type': 'foo', '@_resource-id': 'someId' };
|
|
61
|
-
const attrs = Object.keys(obj);
|
|
62
|
-
const unknowns = (0, source_1.transformAttrs)(obj, attrs, 'android');
|
|
63
|
-
obj.should.eql({ '@_id': 'someId' });
|
|
64
|
-
unknowns.should.eql([]);
|
|
65
|
-
});
|
|
66
|
-
it('should not translate unknown attributes and return them in the unknowns list', function () {
|
|
67
|
-
const obj = { '@_type': 'foo', '@_resource-id': 'someId', '@_rando': 'lorian' };
|
|
68
|
-
const attrs = Object.keys(obj);
|
|
69
|
-
const unknowns = (0, source_1.transformAttrs)(obj, attrs, 'android');
|
|
70
|
-
obj.should.eql({ '@_id': 'someId', '@_rando': 'lorian' });
|
|
71
|
-
unknowns.should.eql(['rando']);
|
|
72
|
-
});
|
|
73
|
-
it('should not translate attributes for a different platform', function () {
|
|
74
|
-
const obj = { '@_type': 'foo', '@_resource-id': 'someId' };
|
|
75
|
-
const attrs = Object.keys(obj);
|
|
76
|
-
const unknowns = (0, source_1.transformAttrs)(obj, attrs, 'ios');
|
|
77
|
-
obj.should.eql({ '@_resource-id': 'someId' });
|
|
78
|
-
unknowns.should.eql(['resource-id']);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXNwZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L3NvdXJjZS1zcGVjcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUF3QjtBQUN4QiwwQ0FDcUU7QUFDckUsNkNBQTJGO0FBRTNGLGNBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUVkLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtJQUMzQixRQUFRLENBQUMsb0JBQW9CLEVBQUU7UUFDN0IsRUFBRSxDQUFDLCtDQUErQyxFQUFFO1lBQ2xELE1BQU0sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxFQUFDLEdBQUcsSUFBQSwyQkFBa0IsRUFBQyxrQkFBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNFLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLDhCQUFtQixDQUFDLENBQUM7WUFDcEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsb0RBQW9ELEVBQUU7WUFDdkQsTUFBTSxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLEVBQUMsR0FBRyxJQUFBLDJCQUFrQixFQUFDLGtCQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7WUFDakcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMseUNBQThCLENBQUMsQ0FBQztZQUMvQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztR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
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const chai_1 = __importDefault(require("chai"));
|
|
7
|
-
const xpath_1 = require("../../lib/xpath");
|
|
8
|
-
const source_1 = require("../../lib/source");
|
|
9
|
-
const fixtures_1 = require("../fixtures");
|
|
10
|
-
const should = chai_1.default.should();
|
|
11
|
-
describe('xpath functions', function () {
|
|
12
|
-
describe('runQuery', function () {
|
|
13
|
-
it('should run an xpath query on an XML string and return nodes', function () {
|
|
14
|
-
(0, xpath_1.runQuery)('//*', fixtures_1.XML_IOS).should.have.length(31);
|
|
15
|
-
(0, xpath_1.runQuery)('//XCUIElementTypeTextField', fixtures_1.XML_IOS).should.have.length(1);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('transformQuery', function () {
|
|
19
|
-
it('should transform a query into a single new query', function () {
|
|
20
|
-
const { xml } = (0, source_1.transformSourceXml)(fixtures_1.XML_IOS, 'ios', { addIndexPath: true });
|
|
21
|
-
(0, xpath_1.transformQuery)('//TextInput', xml, false)
|
|
22
|
-
.should.eql('/*[1]/*[1]/*[1]/*[1]/*[2]/*[1]/*[1]/*[1]/*[1]/*[1]/*[1]/*[2]/*[1]/*[1]/*[1]');
|
|
23
|
-
});
|
|
24
|
-
it('should transform a query into a multiple new queries if asked', function () {
|
|
25
|
-
const { xml } = (0, source_1.transformSourceXml)(fixtures_1.XML_IOS, 'ios', { addIndexPath: true });
|
|
26
|
-
(0, xpath_1.transformQuery)('//Window', xml, true)
|
|
27
|
-
.split('|')
|
|
28
|
-
.should.have.length(2);
|
|
29
|
-
});
|
|
30
|
-
it('should return null for queries that dont find anything', function () {
|
|
31
|
-
const { xml } = (0, source_1.transformSourceXml)(fixtures_1.XML_IOS, 'ios', { addIndexPath: true });
|
|
32
|
-
should.not.exist((0, xpath_1.transformQuery)('//blah', xml, false));
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe('getNodeAttrVal', function () {
|
|
36
|
-
it('should get the attribute for a node', function () {
|
|
37
|
-
const node = (0, xpath_1.runQuery)('//XCUIElementTypeTextField', fixtures_1.XML_IOS)[0];
|
|
38
|
-
(0, xpath_1.getNodeAttrVal)(node, 'name').should.eql('username');
|
|
39
|
-
});
|
|
40
|
-
it('should throw an error if the attr does not exist', function () {
|
|
41
|
-
const node = (0, xpath_1.runQuery)('//XCUIElementTypeTextField', fixtures_1.XML_IOS)[0];
|
|
42
|
-
should.throw(() => (0, xpath_1.getNodeAttrVal)(node, 'foo'));
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHBhdGgtc3BlY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQveHBhdGgtc3BlY3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsMkNBQTJFO0FBQzNFLDZDQUFzRDtBQUN0RCwwQ0FBc0M7QUFFdEMsTUFBTSxNQUFNLEdBQUcsY0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBRTdCLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRTtJQUMxQixRQUFRLENBQUMsVUFBVSxFQUFFO1FBQ25CLEVBQUUsQ0FBQyw2REFBNkQsRUFBRTtZQUNoRSxJQUFBLGdCQUFRLEVBQUMsS0FBSyxFQUFFLGtCQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoRCxJQUFBLGdCQUFRLEVBQUMsNEJBQTRCLEVBQUUsa0JBQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsZ0JBQWdCLEVBQUU7UUFDekIsRUFBRSxDQUFDLGtEQUFrRCxFQUFFO1lBQ3JELE1BQU0sRUFBQyxHQUFHLEVBQUMsR0FBRyxJQUFBLDJCQUFrQixFQUFDLGtCQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7WUFDdkUsSUFBQSxzQkFBYyxFQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDO2lCQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLDZFQUE2RSxDQUFDLENBQUM7UUFDL0YsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsK0RBQStELEVBQUU7WUFDbEUsTUFBTSxFQUFDLEdBQUcsRUFBQyxHQUFHLElBQUEsMkJBQWtCLEVBQUMsa0JBQU8sRUFBRSxLQUFLLEVBQUUsRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUN2RSxJQUFBLHNCQUFjLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7aUJBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsd0RBQXdELEVBQUU7WUFDM0QsTUFBTSxFQUFDLEdBQUcsRUFBQyxHQUFHLElBQUEsMkJBQWtCLEVBQUMsa0JBQU8sRUFBRSxLQUFLLEVBQUUsRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUN2RSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFBLHNCQUFjLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUUsZ0JBQWdCLEVBQUU7UUFDMUIsRUFBRSxDQUFDLHFDQUFxQyxFQUFFO1lBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUEsZ0JBQVEsRUFBQyw0QkFBNEIsRUFBRSxrQkFBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEUsSUFBQSxzQkFBYyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLGtEQUFrRCxFQUFFO1lBQ3JELE1BQU0sSUFBSSxHQUFHLElBQUEsZ0JBQVEsRUFBQyw0QkFBNEIsRUFBRSxrQkFBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLHNCQUFjLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.full.d.ts","../../base/node_modules/@types/node/assert.d.ts","../../base/node_modules/@types/node/assert/strict.d.ts","../../base/node_modules/@types/node/globals.d.ts","../../base/node_modules/@types/node/async_hooks.d.ts","../../base/node_modules/@types/node/buffer.d.ts","../../base/node_modules/@types/node/child_process.d.ts","../../base/node_modules/@types/node/cluster.d.ts","../../base/node_modules/@types/node/console.d.ts","../../base/node_modules/@types/node/constants.d.ts","../../base/node_modules/@types/node/crypto.d.ts","../../base/node_modules/@types/node/dgram.d.ts","../../base/node_modules/@types/node/diagnostics_channel.d.ts","../../base/node_modules/@types/node/dns.d.ts","../../base/node_modules/@types/node/dns/promises.d.ts","../../base/node_modules/@types/node/domain.d.ts","../../base/node_modules/@types/node/events.d.ts","../../base/node_modules/@types/node/fs.d.ts","../../base/node_modules/@types/node/fs/promises.d.ts","../../base/node_modules/@types/node/http.d.ts","../../base/node_modules/@types/node/http2.d.ts","../../base/node_modules/@types/node/https.d.ts","../../base/node_modules/@types/node/inspector.d.ts","../../base/node_modules/@types/node/module.d.ts","../../base/node_modules/@types/node/net.d.ts","../../base/node_modules/@types/node/os.d.ts","../../base/node_modules/@types/node/path.d.ts","../../base/node_modules/@types/node/perf_hooks.d.ts","../../base/node_modules/@types/node/process.d.ts","../../base/node_modules/@types/node/punycode.d.ts","../../base/node_modules/@types/node/querystring.d.ts","../../base/node_modules/@types/node/readline.d.ts","../../base/node_modules/@types/node/repl.d.ts","../../base/node_modules/@types/node/stream.d.ts","../../base/node_modules/@types/node/stream/promises.d.ts","../../base/node_modules/@types/node/stream/consumers.d.ts","../../base/node_modules/@types/node/stream/web.d.ts","../../base/node_modules/@types/node/string_decoder.d.ts","../../base/node_modules/@types/node/timers.d.ts","../../base/node_modules/@types/node/timers/promises.d.ts","../../base/node_modules/@types/node/tls.d.ts","../../base/node_modules/@types/node/trace_events.d.ts","../../base/node_modules/@types/node/tty.d.ts","../../base/node_modules/@types/node/url.d.ts","../../base/node_modules/@types/node/util.d.ts","../../base/node_modules/@types/node/v8.d.ts","../../base/node_modules/@types/node/vm.d.ts","../../base/node_modules/@types/node/wasi.d.ts","../../base/node_modules/@types/node/worker_threads.d.ts","../../base/node_modules/@types/node/zlib.d.ts","../../base/node_modules/@types/node/globals.global.d.ts","../../base/node_modules/@types/node/index.d.ts","../../base/node_modules/@types/range-parser/index.d.ts","../../base/node_modules/@types/qs/index.d.ts","../../base/node_modules/@types/express-serve-static-core/index.d.ts","../../base/node_modules/@types/mime/index.d.ts","../../base/node_modules/@types/serve-static/index.d.ts","../../base/node_modules/@types/connect/index.d.ts","../../base/node_modules/@types/body-parser/index.d.ts","../../base/node_modules/@types/express/index.d.ts","../../base/node_modules/@appium/base-driver/index.d.ts","../../base/index.d.ts","../node_modules/@appium/base-driver/index.d.ts","../node_modules/fast-xml-parser/src/parser.d.ts","../lib/node-map.js","../lib/attr-map.js","../lib/transformers.js","../lib/source.js","../node_modules/xpath/xpath.d.ts","../lib/xpath.js","../lib/logger.js","../lib/plugin.js","../index.js","../test/fixtures/index.js","../test/unit/plugin-specs.js","../test/unit/source-specs.js","../test/unit/xpath-specs.js","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"927cb2b60048e1395b183bf74b2b80a75bdb1dbe384e1d9fac654313ea2fb136","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"32b8443be144970b813b9dd72dcdba2059fbdfdae4d3a50c4d8a158ed6057bbe","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"2a801b0322994c3dd7f0ef30265d19b3dd3bae6d793596879166ed6219c3da68","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","bcc8caf03ee65fe8610d258752f255fbdddbb2e4de7b6c5628956a5a0d859ec8","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"c28e5baab1b53377c90d12970e207a2644bc3627840066449e37e2a59125d07e","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"cfe724f7c694aab65a9bdd1acb05997848c504548c9d4c71645c187a091cfa2a","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7","1835259a20b9fa6b1882931375b69ae5978195f2b139b4e0db51ec8319261649","b52cd693219a63dd21282ac99a7bf55f77cbe8a91f097968856419cc2e05f017","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"0b3eba6dca8c6e534d16ef7b7d76cb546cd3cbab616c8f71daa0a151b5412b9e","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","ca2b0e915cf19c63c1398f6e1c43eba4300186469f12db857bb19d150d1d64de","951da31b03c64b86883e39585ae377374b2e69b5d6d63d16bb6efe262cbd46da","ca2b0e915cf19c63c1398f6e1c43eba4300186469f12db857bb19d150d1d64de","9341c4f401b573890138386fb5b8a9369c5b27506e8ccd391c3b8c29ee0e9420","9ff94b7ec1438c52551610d074da9934b991f57badc9ef8daeee0ac1cae421d0","d62caf0f2da0befd6f426ba7c05bf23cdc7d1d8723d1ab715574727565659af2","a3dcf7636e3e50a3f50242ec2c803323ac33a28422a617cb1bf5a2b7b9bfedd7","7a29c454bb43aa70afe822f8f77e0f24b0005410e2a2eaf957f3c5b54a5a3b1c","4d4ac28f9ed5846ca7fe3625f380439cc4f69ef5f859c1b4006774736ad92963","b60c643a3c1b39c76f061385419c7b7732acbddadc7415a0651a568bcbcc2f76","42a8a44479eeaec720dd179931a5c280d412af18b804636635c20a81573f6590","d61d7e8da2803ec1a01fcb76ca225cc8480ac7f0d5aff6a7f5c09b4a7faefade","001d668702f05b852ca6031cbf51c2d0c8f1e6aad2996356f8cfd85a9b7a88be","920b642fb033be3a077b672990b5cf604a61531bb805568bbbc8b02edfbdadec","aff6e05619afa7ba99dd783ef743460efe854628fd6a5ec92ec40ef8ae994de3","62900b1c45663ea02dc129c57f8de3f60f35b098dc5973fdf0c4e62011ba92c7","1ee46f37d61e6bfe0939e36efe54208887d4033d13317003d89bafc528f156cd",{"version":"e8bf92aabac2b11e1bf60a0161039cd6f5f0cd9713863ca2289dd7b10eddece8","affectsGlobalScope":true}],"options":{"declaration":false,"esModuleInterop":true,"inlineSourceMap":true,"module":1,"outDir":"./","target":5},"fileIdsList":[[87],[62,87,102,103],[62,87,94,100],[62,87,94],[59,62,87,94,95,96],[87,96,97,99,101],[44,87],[47,87],[48,53,87],[49,59,60,67,76,86,87],[49,50,59,67,87],[51,87],[52,53,60,68,87],[53,76,83,87],[54,56,59,67,87],[55,87],[56,57,87],[58,59,87],[59,87],[59,60,61,76,86,87],[59,60,61,76,87],[62,67,76,86,87],[59,60,62,63,67,76,83,86,87],[62,64,76,83,86,87],[44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],[59,65,87],[66,86,87],[56,59,67,76,87],[68,87],[69,87],[47,70,87],[71,85,87,91],[72,87],[73,87],[59,74,87],[74,75,87,89],[59,76,77,78,87],[76,78,87],[76,77,87],[79,87],[80,87],[59,81,82,87],[81,82,87],[53,67,76,83,87],[84,87],[67,85,87],[48,62,73,86,87],[53,87],[76,87,88],[87,89],[87,90],[48,53,59,61,70,76,86,87,89,91],[76,87,92],[62,87,94,98],[60,87,110,114],[87,103,104,110,112,113],[87,106,107,108,109],[87,110],[87,111],[60,69,87],[87,103,112,115,116],[87,110,116],[87,110,112,116]],"referencedMap":[[120,1],[8,1],[9,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[43,1],[29,1],[30,1],[31,1],[32,1],[6,1],[33,1],[34,1],[35,1],[36,1],[7,1],[41,1],[37,1],[38,1],[39,1],[40,1],[1,1],[42,1],[11,1],[10,1],[104,2],[103,1],[101,3],[100,4],[97,5],[102,6],[98,1],[44,7],[45,7],[47,8],[48,9],[49,10],[50,11],[51,12],[52,13],[53,14],[54,15],[55,16],[56,17],[57,17],[58,18],[59,19],[60,20],[61,21],[46,1],[93,1],[62,22],[63,23],[64,24],[94,25],[65,26],[66,27],[67,28],[68,29],[69,30],[70,31],[71,32],[72,33],[73,34],[74,35],[75,36],[76,37],[78,38],[77,39],[79,40],[80,41],[81,42],[82,43],[83,44],[84,45],[85,46],[86,47],[87,48],[88,49],[89,50],[90,51],[91,52],[92,53],[96,1],[95,1],[99,54],[115,55],[108,1],[113,1],[107,1],[114,56],[110,57],[109,58],[112,59],[105,1],[106,1],[111,1],[116,60],[117,61],[118,62],[119,63]],"exportedModulesMap":[[120,1],[8,1],[9,1],[13,1],[12,1],[2,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[3,1],[4,1],[25,1],[22,1],[23,1],[24,1],[26,1],[27,1],[28,1],[5,1],[43,1],[29,1],[30,1],[31,1],[32,1],[6,1],[33,1],[34,1],[35,1],[36,1],[7,1],[41,1],[37,1],[38,1],[39,1],[40,1],[1,1],[42,1],[11,1],[10,1],[104,2],[103,1],[101,3],[100,4],[97,5],[102,6],[98,1],[44,7],[45,7],[47,8],[48,9],[49,10],[50,11],[51,12],[52,13],[53,14],[54,15],[55,16],[56,17],[57,17],[58,18],[59,19],[60,20],[61,21],[46,1],[93,1],[62,22],[63,23],[64,24],[94,25],[65,26],[66,27],[67,28],[68,29],[69,30],[70,31],[71,32],[72,33],[73,34],[74,35],[75,36],[76,37],[78,38],[77,39],[79,40],[80,41],[81,42],[82,43],[83,44],[84,45],[85,46],[86,47],[87,48],[88,49],[89,50],[90,51],[91,52],[92,53],[96,1],[95,1],[99,54],[115,55],[108,1],[113,1],[107,1],[114,56],[110,57],[109,58],[112,59],[105,1],[106,1],[111,1],[116,60],[117,61],[118,62],[119,63]],"semanticDiagnosticsPerFile":[120,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,43,29,30,31,32,6,33,34,35,36,7,41,37,38,39,40,1,42,11,10,104,103,101,100,97,102,98,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,46,93,62,63,64,94,65,66,67,68,69,70,71,72,73,74,75,76,78,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,96,95,99,115,108,113,107,114,110,109,112,105,106,111,116,117,118,119]},"version":"4.5.5"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<UI width="1080" height="1920" indexPath="/0">
|
|
3
|
-
<View text="" indexPath="/0/0" x="0" y="0" width="1080" height="1920" visible="true">
|
|
4
|
-
<View text="" indexPath="/0/0/0" x="0" y="0" width="1080" height="1920" visible="true">
|
|
5
|
-
<View text="" indexPath="/0/0/0/0" x="0" y="72" width="1080" height="1848" visible="true">
|
|
6
|
-
<View text="" indexPath="/0/0/0/0/0" x="0" y="72" width="1080" height="1848" id="action_bar_root" visible="true">
|
|
7
|
-
<View text="" indexPath="/0/0/0/0/0/0" x="0" y="72" width="1080" height="1848" id="android:id/content" visible="true">
|
|
8
|
-
<View text="" indexPath="/0/0/0/0/0/0/0" x="0" y="72" width="1080" height="1848" visible="true">
|
|
9
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/0" x="0" y="72" width="1080" height="1848" visible="true"></View>
|
|
10
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1" x="0" y="72" width="1080" height="1848" visible="true">
|
|
11
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1/0" x="0" y="72" width="1080" height="168" visible="true">
|
|
12
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1/0/0" x="0" y="72" width="1080" height="168" visible="true">
|
|
13
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1/0/0/0" x="0" y="72" width="1080" height="168" visible="true">
|
|
14
|
-
<Button text="" indexPath="/0/0/0/0/0/0/0/1/0/0/0/0" x="0" y="72" width="168" height="168" visible="true"></Button>
|
|
15
|
-
</View>
|
|
16
|
-
</View>
|
|
17
|
-
</View>
|
|
18
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1/1" x="0" y="240" width="1080" height="1680" visible="true">
|
|
19
|
-
<Text text="Login" indexPath="/0/0/0/0/0/0/0/1/1/0" x="413" y="360" width="255" height="136" visible="true"></Text>
|
|
20
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1/1/1" x="150" y="496" width="780" height="120" visible="true">
|
|
21
|
-
<TextInput text="alice" indexPath="/0/0/0/0/0/0/0/1/1/1/0" x="150" y="504" width="780" height="112" axId="username" visible="true"></TextInput>
|
|
22
|
-
</View>
|
|
23
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1/1/2" x="150" y="616" width="780" height="120" visible="true">
|
|
24
|
-
<TextInput text="•••••••••" indexPath="/0/0/0/0/0/0/0/1/1/2/0" x="150" y="624" width="780" height="112" axId="password" visible="true"></TextInput>
|
|
25
|
-
</View>
|
|
26
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1/1/3" x="456" y="736" width="168" height="113" visible="true">
|
|
27
|
-
<View text="" indexPath="/0/0/0/0/0/0/0/1/1/3/0" x="456" y="736" width="168" height="113" axId="loginBtn" visible="true">
|
|
28
|
-
<Text text="Login" indexPath="/0/0/0/0/0/0/0/1/1/3/0/0" x="456" y="736" width="168" height="113" visible="true"></Text>
|
|
29
|
-
</View>
|
|
30
|
-
</View>
|
|
31
|
-
</View>
|
|
32
|
-
</View>
|
|
33
|
-
</View>
|
|
34
|
-
</View>
|
|
35
|
-
</View>
|
|
36
|
-
</View>
|
|
37
|
-
</View>
|
|
38
|
-
</View>
|
|
39
|
-
</UI>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<UI width="1080" height="1920">
|
|
3
|
-
<View text="" x="0" y="0" width="1080" height="1920" visible="true">
|
|
4
|
-
<View text="" x="0" y="0" width="1080" height="1920" visible="true">
|
|
5
|
-
<View text="" x="0" y="72" width="1080" height="1848" visible="true">
|
|
6
|
-
<View text="" x="0" y="72" width="1080" height="1848" id="action_bar_root" visible="true">
|
|
7
|
-
<View text="" x="0" y="72" width="1080" height="1848" id="android:id/content" visible="true">
|
|
8
|
-
<View text="" x="0" y="72" width="1080" height="1848" visible="true">
|
|
9
|
-
<View text="" x="0" y="72" width="1080" height="1848" visible="true"></View>
|
|
10
|
-
<View text="" x="0" y="72" width="1080" height="1848" visible="true">
|
|
11
|
-
<View text="" x="0" y="72" width="1080" height="168" visible="true">
|
|
12
|
-
<View text="" x="0" y="72" width="1080" height="168" visible="true">
|
|
13
|
-
<View text="" x="0" y="72" width="1080" height="168" visible="true">
|
|
14
|
-
<Button text="" x="0" y="72" width="168" height="168" visible="true"></Button>
|
|
15
|
-
</View>
|
|
16
|
-
</View>
|
|
17
|
-
</View>
|
|
18
|
-
<View text="" x="0" y="240" width="1080" height="1680" visible="true">
|
|
19
|
-
<Text text="Login" x="413" y="360" width="255" height="136" visible="true"></Text>
|
|
20
|
-
<View text="" x="150" y="496" width="780" height="120" visible="true">
|
|
21
|
-
<TextInput text="alice" x="150" y="504" width="780" height="112" axId="username" visible="true"></TextInput>
|
|
22
|
-
</View>
|
|
23
|
-
<View text="" x="150" y="616" width="780" height="120" visible="true">
|
|
24
|
-
<TextInput text="•••••••••" x="150" y="624" width="780" height="112" axId="password" visible="true"></TextInput>
|
|
25
|
-
</View>
|
|
26
|
-
<View text="" x="456" y="736" width="168" height="113" visible="true">
|
|
27
|
-
<View text="" x="456" y="736" width="168" height="113" axId="loginBtn" visible="true">
|
|
28
|
-
<Text text="Login" x="456" y="736" width="168" height="113" visible="true"></Text>
|
|
29
|
-
</View>
|
|
30
|
-
</View>
|
|
31
|
-
</View>
|
|
32
|
-
</View>
|
|
33
|
-
</View>
|
|
34
|
-
</View>
|
|
35
|
-
</View>
|
|
36
|
-
</View>
|
|
37
|
-
</View>
|
|
38
|
-
</View>
|
|
39
|
-
</UI>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
|
|
2
|
-
<hierarchy index="0" class="hierarchy" rotation="0" width="1080" height="1920">
|
|
3
|
-
<android.widget.FrameLayout index="0" package="io.cloudgrey.the_app" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1920]" displayed="true">
|
|
4
|
-
<android.widget.LinearLayout index="0" package="io.cloudgrey.the_app" class="android.widget.LinearLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,1920]" displayed="true">
|
|
5
|
-
<android.widget.FrameLayout index="0" package="io.cloudgrey.the_app" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,1920]" displayed="true">
|
|
6
|
-
<android.widget.LinearLayout index="0" package="io.cloudgrey.the_app" class="android.widget.LinearLayout" text="" resource-id="io.cloudgrey.the_app:id/action_bar_root" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,1920]" displayed="true">
|
|
7
|
-
<android.widget.FrameLayout index="0" package="io.cloudgrey.the_app" class="android.widget.FrameLayout" text="" resource-id="android:id/content" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,1920]" displayed="true">
|
|
8
|
-
<android.widget.RelativeLayout index="0" package="io.cloudgrey.the_app" class="android.widget.RelativeLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,1920]" displayed="true">
|
|
9
|
-
<android.view.ViewGroup index="0" package="io.cloudgrey.the_app" class="android.view.ViewGroup" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,1920]" displayed="true" />
|
|
10
|
-
<android.widget.RelativeLayout index="1" package="io.cloudgrey.the_app" class="android.widget.RelativeLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,1920]" displayed="true">
|
|
11
|
-
<android.widget.LinearLayout index="0" package="io.cloudgrey.the_app" class="android.widget.LinearLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,240]" displayed="true">
|
|
12
|
-
<android.widget.FrameLayout index="0" package="io.cloudgrey.the_app" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,240]" displayed="true">
|
|
13
|
-
<android.view.ViewGroup index="0" package="io.cloudgrey.the_app" class="android.view.ViewGroup" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][1080,240]" displayed="true">
|
|
14
|
-
<android.widget.ImageButton index="0" package="io.cloudgrey.the_app" class="android.widget.ImageButton" text="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,72][168,240]" displayed="true" />
|
|
15
|
-
</android.view.ViewGroup>
|
|
16
|
-
</android.widget.FrameLayout>
|
|
17
|
-
</android.widget.LinearLayout>
|
|
18
|
-
<android.widget.FrameLayout index="1" package="io.cloudgrey.the_app" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,240][1080,1920]" displayed="true">
|
|
19
|
-
<android.widget.TextView index="0" package="io.cloudgrey.the_app" class="android.widget.TextView" text="Login" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[413,360][668,496]" displayed="true" />
|
|
20
|
-
<android.view.ViewGroup index="1" package="io.cloudgrey.the_app" class="android.view.ViewGroup" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[150,496][930,616]" displayed="true">
|
|
21
|
-
<android.widget.EditText index="0" package="io.cloudgrey.the_app" class="android.widget.EditText" text="alice" content-desc="username" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="true" password="false" scrollable="false" selected="false" bounds="[150,504][930,616]" displayed="true" />
|
|
22
|
-
</android.view.ViewGroup>
|
|
23
|
-
<android.view.ViewGroup index="2" package="io.cloudgrey.the_app" class="android.view.ViewGroup" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[150,616][930,736]" displayed="true">
|
|
24
|
-
<android.widget.EditText index="0" package="io.cloudgrey.the_app" class="android.widget.EditText" text="•••••••••" content-desc="password" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" long-clickable="true" password="true" scrollable="false" selected="false" bounds="[150,624][930,736]" displayed="true" />
|
|
25
|
-
</android.view.ViewGroup>
|
|
26
|
-
<android.view.ViewGroup index="3" package="io.cloudgrey.the_app" class="android.view.ViewGroup" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[456,736][624,849]" displayed="true">
|
|
27
|
-
<android.view.ViewGroup index="0" package="io.cloudgrey.the_app" class="android.view.ViewGroup" text="" content-desc="loginBtn" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[456,736][624,849]" displayed="true">
|
|
28
|
-
<android.widget.TextView index="0" package="io.cloudgrey.the_app" class="android.widget.TextView" text="Login" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[456,736][624,849]" displayed="true" />
|
|
29
|
-
</android.view.ViewGroup>
|
|
30
|
-
</android.view.ViewGroup>
|
|
31
|
-
</android.widget.FrameLayout>
|
|
32
|
-
</android.widget.RelativeLayout>
|
|
33
|
-
</android.widget.RelativeLayout>
|
|
34
|
-
</android.widget.FrameLayout>
|
|
35
|
-
</android.widget.LinearLayout>
|
|
36
|
-
</android.widget.FrameLayout>
|
|
37
|
-
</android.widget.LinearLayout>
|
|
38
|
-
</android.widget.FrameLayout>
|
|
39
|
-
</hierarchy>
|
package/test/fixtures/index.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
|
|
4
|
-
const XML_IOS = fs.readFileSync(path.resolve(__dirname, 'ios.xml'), 'utf8').trim();
|
|
5
|
-
const XML_IOS_TRANSFORMED = fs.readFileSync(path.resolve(__dirname, 'ios-transformed.xml'), 'utf8').trim();
|
|
6
|
-
const XML_IOS_TRANSFORMED_INDEX_PATH = fs.readFileSync(path.resolve(__dirname, 'ios-transformed-path.xml'), 'utf8').trim();
|
|
7
|
-
const XML_IOS_EDGE = fs.readFileSync(path.resolve(__dirname, 'ios-edge.xml'), 'utf8').trim();
|
|
8
|
-
const XML_IOS_EDGE_TRANSFORMED = fs.readFileSync(path.resolve(__dirname, 'ios-transformed-edge.xml'), 'utf8').trim();
|
|
9
|
-
const XML_ANDROID = fs.readFileSync(path.resolve(__dirname, 'android.xml'), 'utf8').trim();
|
|
10
|
-
const XML_ANDROID_TRANSFORMED = fs.readFileSync(path.resolve(__dirname, 'android-transformed.xml'), 'utf8').trim();
|
|
11
|
-
const XML_ANDROID_TRANSFORMED_INDEX_PATH = fs.readFileSync(path.resolve(__dirname, 'android-transformed-path.xml'), 'utf8').trim();
|
|
12
|
-
|
|
13
|
-
export { XML_IOS, XML_ANDROID, XML_IOS_TRANSFORMED, XML_ANDROID_TRANSFORMED, XML_IOS_TRANSFORMED_INDEX_PATH,
|
|
14
|
-
XML_ANDROID_TRANSFORMED_INDEX_PATH, XML_IOS_EDGE, XML_IOS_EDGE_TRANSFORMED };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<AppiumAUT>
|
|
3
|
-
<XCUIElementTypeApplication type="XCUIElementTypeApplication" name="TheApp" label="TheApp" enabled="true" visible="true" x="0" y="0" width="414" height="896" index="0">
|
|
4
|
-
<SomeRandoElement type="blah" oddAttribute="odd" />
|
|
5
|
-
<SomeRandoElement type="blah" oddAttribute="odd" />
|
|
6
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="username" label="username" enabled="true" visible="true" x="50" y="185" width="314" height="51" index="0">
|
|
7
|
-
<XCUIElementTypeTextField type="XCUIElementTypeTextField" value="alice" name="username" label="username" enabled="true" visible="true" x="50" y="185" width="314" height="51" index="0"/>
|
|
8
|
-
<XCUIElementTypeTab type="XCUIElementTypeTab" name="fakeTab" label="" enabled="" visible="true" x="50" y="185" width="314" height="51" index="1"/>
|
|
9
|
-
<XCUIElementTypeTab type="XCUIElementTypeTab" name="fakeTab" label="" enabled="" visible="true" x="50" y="185" width="314" height="51" index="2"/>
|
|
10
|
-
<XCUIElementTypeKey type="XCUIElementTypeKey" name="fakeKey" label="" enabled="" visible="true" x="50" y="185" width="314" height="51" index="3">
|
|
11
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="fakeOther" label="" enabled="" visible="true" x="1" y="2" width="3" height="4" index="0"/>
|
|
12
|
-
</XCUIElementTypeKey>
|
|
13
|
-
<XCUIElementTypeKey type="XCUIElementTypeKey" name="fakeKey" label="" enabled="" visible="true" x="50" y="185" width="314" height="51" index="4"/>
|
|
14
|
-
</XCUIElementTypeOther>
|
|
15
|
-
</XCUIElementTypeApplication>
|
|
16
|
-
</AppiumAUT>
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<UI>
|
|
3
|
-
<App visible="true" x="0" y="0" width="414" height="896" axId="TheApp" text="TheApp">
|
|
4
|
-
<SomeRandoElement oddAttribute="odd"></SomeRandoElement>
|
|
5
|
-
<SomeRandoElement oddAttribute="odd"></SomeRandoElement>
|
|
6
|
-
<Element visible="true" x="50" y="185" width="314" height="51" axId="username" text="username">
|
|
7
|
-
<TextInput value="alice" visible="true" x="50" y="185" width="314" height="51" axId="username" text="username"></TextInput>
|
|
8
|
-
<Button visible="true" x="50" y="185" width="314" height="51" axId="fakeTab" text=""></Button>
|
|
9
|
-
<Button visible="true" x="50" y="185" width="314" height="51" axId="fakeTab" text=""></Button>
|
|
10
|
-
<Button visible="true" x="50" y="185" width="314" height="51" axId="fakeKey" text="">
|
|
11
|
-
<Element visible="true" x="1" y="2" width="3" height="4" axId="fakeOther" text=""></Element>
|
|
12
|
-
</Button>
|
|
13
|
-
<Button visible="true" x="50" y="185" width="314" height="51" axId="fakeKey" text=""></Button>
|
|
14
|
-
</Element>
|
|
15
|
-
</App>
|
|
16
|
-
</UI>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<UI indexPath="/0">
|
|
3
|
-
<App visible="true" x="0" y="0" width="414" height="896" indexPath="/0/0" axId="TheApp" text="TheApp">
|
|
4
|
-
<Window visible="true" x="0" y="0" width="414" height="896" indexPath="/0/0/0">
|
|
5
|
-
<Element visible="true" x="0" y="0" width="414" height="896" indexPath="/0/0/0/0">
|
|
6
|
-
<Nav visible="true" x="0" y="48" width="414" height="44" indexPath="/0/0/0/0/0" axId="RCCView">
|
|
7
|
-
<Button visible="true" x="0" y="48" width="96" height="44" indexPath="/0/0/0/0/0/0" axId="The App" text="The App"></Button>
|
|
8
|
-
</Nav>
|
|
9
|
-
<Element visible="true" x="0" y="0" width="414" height="896" indexPath="/0/0/0/0/1">
|
|
10
|
-
<Element visible="true" x="0" y="0" width="414" height="896" indexPath="/0/0/0/0/1/0">
|
|
11
|
-
<Element visible="true" x="0" y="92" width="414" height="804" indexPath="/0/0/0/0/1/0/0">
|
|
12
|
-
<Element visible="true" x="0" y="92" width="414" height="804" indexPath="/0/0/0/0/1/0/0/0" axId="Login username password loginBtn" text="Login username password loginBtn">
|
|
13
|
-
<Element visible="true" x="0" y="92" width="414" height="804" indexPath="/0/0/0/0/1/0/0/0/0" axId="Login username password loginBtn" text="Login username password loginBtn">
|
|
14
|
-
<Element visible="true" x="0" y="92" width="414" height="804" indexPath="/0/0/0/0/1/0/0/0/0/0" axId="Login username password loginBtn" text="Login username password loginBtn">
|
|
15
|
-
<Element visible="true" x="0" y="92" width="414" height="273" indexPath="/0/0/0/0/1/0/0/0/0/0/0" axId="Login username password loginBtn" text="Login username password loginBtn">
|
|
16
|
-
<Text value="Login" visible="true" x="157" y="132" width="101" height="51" indexPath="/0/0/0/0/1/0/0/0/0/0/0/0" axId="Login" text="Login"></Text>
|
|
17
|
-
<Element visible="true" x="50" y="183" width="314" height="40" indexPath="/0/0/0/0/1/0/0/0/0/0/0/1" axId="username" text="username">
|
|
18
|
-
<Element visible="true" x="50" y="183" width="314" height="40" indexPath="/0/0/0/0/1/0/0/0/0/0/0/1/0" axId="username" text="username">
|
|
19
|
-
<Element visible="true" x="50" y="185" width="314" height="51" indexPath="/0/0/0/0/1/0/0/0/0/0/0/1/0/0" axId="username" text="username">
|
|
20
|
-
<TextInput value="alice" visible="true" x="50" y="185" width="314" height="51" indexPath="/0/0/0/0/1/0/0/0/0/0/0/1/0/0/0" axId="username" text="username"></TextInput>
|
|
21
|
-
<Button visible="true" x="50" y="185" width="314" height="51" indexPath="/0/0/0/0/1/0/0/0/0/0/0/1/0/0/1" axId="fakeTab" text=""></Button>
|
|
22
|
-
<Button visible="true" x="50" y="185" width="314" height="51" indexPath="/0/0/0/0/1/0/0/0/0/0/0/1/0/0/2" axId="fakeKey" text=""></Button>
|
|
23
|
-
</Element>
|
|
24
|
-
</Element>
|
|
25
|
-
</Element>
|
|
26
|
-
<Element visible="true" x="50" y="223" width="314" height="40" indexPath="/0/0/0/0/1/0/0/0/0/0/0/2" axId="password" text="password">
|
|
27
|
-
<Element visible="true" x="50" y="223" width="314" height="40" indexPath="/0/0/0/0/1/0/0/0/0/0/0/2/0" axId="password" text="password">
|
|
28
|
-
<Element visible="true" x="50" y="225" width="314" height="51" indexPath="/0/0/0/0/1/0/0/0/0/0/0/2/0/0" axId="password" text="password">
|
|
29
|
-
<TextInput value="•••••••••" visible="true" x="50" y="225" width="314" height="51" indexPath="/0/0/0/0/1/0/0/0/0/0/0/2/0/0/0" axId="password" text="password"></TextInput>
|
|
30
|
-
</Element>
|
|
31
|
-
</Element>
|
|
32
|
-
</Element>
|
|
33
|
-
<Element visible="true" x="177" y="263" width="60" height="102" indexPath="/0/0/0/0/1/0/0/0/0/0/0/3" axId="loginBtn" text="loginBtn">
|
|
34
|
-
<Element visible="true" x="177" y="327" width="60" height="38" indexPath="/0/0/0/0/1/0/0/0/0/0/0/3/0" axId="loginBtn" text="loginBtn"></Element>
|
|
35
|
-
</Element>
|
|
36
|
-
</Element>
|
|
37
|
-
</Element>
|
|
38
|
-
</Element>
|
|
39
|
-
</Element>
|
|
40
|
-
</Element>
|
|
41
|
-
</Element>
|
|
42
|
-
</Element>
|
|
43
|
-
</Element>
|
|
44
|
-
</Window>
|
|
45
|
-
<Window visible="false" x="0" y="0" width="414" height="896" indexPath="/0/0/1">
|
|
46
|
-
<Element visible="false" x="0" y="0" width="414" height="896" indexPath="/0/0/1/0">
|
|
47
|
-
<Element visible="false" x="0" y="0" width="414" height="896" indexPath="/0/0/1/0/0"></Element>
|
|
48
|
-
<Element visible="false" x="0" y="896" width="414" height="71" indexPath="/0/0/1/0/1">
|
|
49
|
-
<Element visible="false" x="0" y="896" width="414" height="71" indexPath="/0/0/1/0/1/0"></Element>
|
|
50
|
-
</Element>
|
|
51
|
-
</Element>
|
|
52
|
-
</Window>
|
|
53
|
-
</App>
|
|
54
|
-
</UI>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<UI>
|
|
3
|
-
<App visible="true" x="0" y="0" width="414" height="896" axId="TheApp" text="TheApp">
|
|
4
|
-
<Window visible="true" x="0" y="0" width="414" height="896">
|
|
5
|
-
<Element visible="true" x="0" y="0" width="414" height="896">
|
|
6
|
-
<Nav visible="true" x="0" y="48" width="414" height="44" axId="RCCView">
|
|
7
|
-
<Button visible="true" x="0" y="48" width="96" height="44" axId="The App" text="The App"></Button>
|
|
8
|
-
</Nav>
|
|
9
|
-
<Element visible="true" x="0" y="0" width="414" height="896">
|
|
10
|
-
<Element visible="true" x="0" y="0" width="414" height="896">
|
|
11
|
-
<Element visible="true" x="0" y="92" width="414" height="804">
|
|
12
|
-
<Element visible="true" x="0" y="92" width="414" height="804" axId="Login username password loginBtn" text="Login username password loginBtn">
|
|
13
|
-
<Element visible="true" x="0" y="92" width="414" height="804" axId="Login username password loginBtn" text="Login username password loginBtn">
|
|
14
|
-
<Element visible="true" x="0" y="92" width="414" height="804" axId="Login username password loginBtn" text="Login username password loginBtn">
|
|
15
|
-
<Element visible="true" x="0" y="92" width="414" height="273" axId="Login username password loginBtn" text="Login username password loginBtn">
|
|
16
|
-
<Text value="Login" visible="true" x="157" y="132" width="101" height="51" axId="Login" text="Login"></Text>
|
|
17
|
-
<Element visible="true" x="50" y="183" width="314" height="40" axId="username" text="username">
|
|
18
|
-
<Element visible="true" x="50" y="183" width="314" height="40" axId="username" text="username">
|
|
19
|
-
<Element visible="true" x="50" y="185" width="314" height="51" axId="username" text="username">
|
|
20
|
-
<TextInput value="alice" visible="true" x="50" y="185" width="314" height="51" axId="username" text="username"></TextInput>
|
|
21
|
-
<Button visible="true" x="50" y="185" width="314" height="51" axId="fakeTab" text=""></Button>
|
|
22
|
-
<Button visible="true" x="50" y="185" width="314" height="51" axId="fakeKey" text=""></Button>
|
|
23
|
-
</Element>
|
|
24
|
-
</Element>
|
|
25
|
-
</Element>
|
|
26
|
-
<Element visible="true" x="50" y="223" width="314" height="40" axId="password" text="password">
|
|
27
|
-
<Element visible="true" x="50" y="223" width="314" height="40" axId="password" text="password">
|
|
28
|
-
<Element visible="true" x="50" y="225" width="314" height="51" axId="password" text="password">
|
|
29
|
-
<TextInput value="•••••••••" visible="true" x="50" y="225" width="314" height="51" axId="password" text="password"></TextInput>
|
|
30
|
-
</Element>
|
|
31
|
-
</Element>
|
|
32
|
-
</Element>
|
|
33
|
-
<Element visible="true" x="177" y="263" width="60" height="102" axId="loginBtn" text="loginBtn">
|
|
34
|
-
<Element visible="true" x="177" y="327" width="60" height="38" axId="loginBtn" text="loginBtn"></Element>
|
|
35
|
-
</Element>
|
|
36
|
-
</Element>
|
|
37
|
-
</Element>
|
|
38
|
-
</Element>
|
|
39
|
-
</Element>
|
|
40
|
-
</Element>
|
|
41
|
-
</Element>
|
|
42
|
-
</Element>
|
|
43
|
-
</Element>
|
|
44
|
-
</Window>
|
|
45
|
-
<Window visible="false" x="0" y="0" width="414" height="896">
|
|
46
|
-
<Element visible="false" x="0" y="0" width="414" height="896">
|
|
47
|
-
<Element visible="false" x="0" y="0" width="414" height="896"></Element>
|
|
48
|
-
<Element visible="false" x="0" y="896" width="414" height="71">
|
|
49
|
-
<Element visible="false" x="0" y="896" width="414" height="71"></Element>
|
|
50
|
-
</Element>
|
|
51
|
-
</Element>
|
|
52
|
-
</Window>
|
|
53
|
-
</App>
|
|
54
|
-
</UI>
|
package/test/fixtures/ios.xml
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?><AppiumAUT><XCUIElementTypeApplication type="XCUIElementTypeApplication" name="TheApp" label="TheApp" enabled="true" visible="true" x="0" y="0" width="414" height="896" index="0">
|
|
2
|
-
<XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="true" x="0" y="0" width="414" height="896" index="0">
|
|
3
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="0" y="0" width="414" height="896" index="0">
|
|
4
|
-
<XCUIElementTypeNavigationBar type="XCUIElementTypeNavigationBar" name="RCCView" enabled="true" visible="true" x="0" y="48" width="414" height="44" index="0">
|
|
5
|
-
<XCUIElementTypeButton type="XCUIElementTypeButton" name="The App" label="The App" enabled="true" visible="true" x="0" y="48" width="96" height="44" index="0"/>
|
|
6
|
-
</XCUIElementTypeNavigationBar>
|
|
7
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="0" y="0" width="414" height="896" index="1">
|
|
8
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="0" y="0" width="414" height="896" index="0">
|
|
9
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="true" x="0" y="92" width="414" height="804" index="0">
|
|
10
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="Login username password loginBtn" label="Login username password loginBtn" enabled="true" visible="true" x="0" y="92" width="414" height="804" index="0">
|
|
11
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="Login username password loginBtn" label="Login username password loginBtn" enabled="true" visible="true" x="0" y="92" width="414" height="804" index="0">
|
|
12
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="Login username password loginBtn" label="Login username password loginBtn" enabled="true" visible="true" x="0" y="92" width="414" height="804" index="0">
|
|
13
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="Login username password loginBtn" label="Login username password loginBtn" enabled="true" visible="true" x="0" y="92" width="414" height="273" index="0">
|
|
14
|
-
<XCUIElementTypeStaticText type="XCUIElementTypeStaticText" value="Login" name="Login" label="Login" enabled="true" visible="true" x="157" y="132" width="101" height="51" index="0"/>
|
|
15
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="username" label="username" enabled="true" visible="true" x="50" y="183" width="314" height="40" index="1">
|
|
16
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="username" label="username" enabled="true" visible="true" x="50" y="183" width="314" height="40" index="0">
|
|
17
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="username" label="username" enabled="true" visible="true" x="50" y="185" width="314" height="51" index="0">
|
|
18
|
-
<XCUIElementTypeTextField type="XCUIElementTypeTextField" value="alice" name="username" label="username" enabled="true" visible="true" x="50" y="185" width="314" height="51" index="0"/>
|
|
19
|
-
<XCUIElementTypeTab type="XCUIElementTypeTab" name="fakeTab" label="" enabled="" visible="true" x="50" y="185" width="314" height="51" index="1"/>
|
|
20
|
-
<XCUIElementTypeKey type="XCUIElementTypeKey" name="fakeKey" label="" enabled="" visible="true" x="50" y="185" width="314" height="51" index="2"/>
|
|
21
|
-
</XCUIElementTypeOther>
|
|
22
|
-
</XCUIElementTypeOther>
|
|
23
|
-
</XCUIElementTypeOther>
|
|
24
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="password" label="password" enabled="true" visible="true" x="50" y="223" width="314" height="40" index="2">
|
|
25
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="password" label="password" enabled="true" visible="true" x="50" y="223" width="314" height="40" index="0">
|
|
26
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="password" label="password" enabled="true" visible="true" x="50" y="225" width="314" height="51" index="0">
|
|
27
|
-
<XCUIElementTypeSecureTextField type="XCUIElementTypeSecureTextField" value="•••••••••" name="password" label="password" enabled="true" visible="true" x="50" y="225" width="314" height="51" index="0"/>
|
|
28
|
-
</XCUIElementTypeOther>
|
|
29
|
-
</XCUIElementTypeOther>
|
|
30
|
-
</XCUIElementTypeOther>
|
|
31
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="loginBtn" label="loginBtn" enabled="true" visible="true" x="177" y="263" width="60" height="102" index="3">
|
|
32
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" name="loginBtn" label="loginBtn" enabled="true" visible="true" x="177" y="327" width="60" height="38" index="0"/>
|
|
33
|
-
</XCUIElementTypeOther>
|
|
34
|
-
</XCUIElementTypeOther>
|
|
35
|
-
</XCUIElementTypeOther>
|
|
36
|
-
</XCUIElementTypeOther>
|
|
37
|
-
</XCUIElementTypeOther>
|
|
38
|
-
</XCUIElementTypeOther>
|
|
39
|
-
</XCUIElementTypeOther>
|
|
40
|
-
</XCUIElementTypeOther>
|
|
41
|
-
</XCUIElementTypeOther>
|
|
42
|
-
</XCUIElementTypeWindow>
|
|
43
|
-
<XCUIElementTypeWindow type="XCUIElementTypeWindow" enabled="true" visible="false" x="0" y="0" width="414" height="896" index="1">
|
|
44
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" x="0" y="0" width="414" height="896" index="0">
|
|
45
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" x="0" y="0" width="414" height="896" index="0"/>
|
|
46
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" x="0" y="896" width="414" height="71" index="1">
|
|
47
|
-
<XCUIElementTypeOther type="XCUIElementTypeOther" enabled="true" visible="false" x="0" y="896" width="414" height="71" index="0"/>
|
|
48
|
-
</XCUIElementTypeOther>
|
|
49
|
-
</XCUIElementTypeOther>
|
|
50
|
-
</XCUIElementTypeWindow>
|
|
51
|
-
</XCUIElementTypeApplication></AppiumAUT>
|