@appium/universal-xml-plugin 1.0.0-beta.15 → 1.0.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/attr-map.js +32 -47
- package/build/lib/attr-map.js.map +1 -1
- package/build/lib/index.js +23 -46
- package/build/lib/index.js.map +1 -1
- package/build/lib/logger.js +5 -15
- package/build/lib/logger.js.map +1 -1
- package/build/lib/node-map.js +225 -146
- package/build/lib/node-map.js.map +1 -1
- package/build/lib/plugin.js +79 -91
- package/build/lib/plugin.js.map +1 -1
- package/build/lib/source.js +162 -202
- package/build/lib/source.js.map +1 -1
- package/build/lib/transformers.js +26 -35
- package/build/lib/transformers.js.map +1 -1
- package/build/lib/xpath.js +41 -46
- package/build/lib/xpath.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/xpath.js +1 -1
- package/package.json +4 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-map.js","names":["Alert","ios","android","App","Button","Cell","CheckBox","Column","DateInput","Element","Grid","Icon","Image","Indicator","Input","List","Map","Menu","Modal","Nav","PickerInput","RadioInput","Row","Scrollable","SearchInput","SliderInput","Spinner","SwitchInput","Table","Text","TextInput","ToggleInput","Toolbar","UI","Video","View","WebView","Window"],"sources":["../../lib/node-map.js"],"sourcesContent":["/*\n * This file exports a mapping between universal node names and platform-specific node names. The\n * keys in the exported object are the universal node names, and the values are objects with keys\n * corresponding to platformNames. The values of those platformName keys can be either a string\n * (meaning that that platform-specific node name will be mapped to the universal node name), or an\n * array of strings. This means that there can be a many-to-one relationship between\n * platform-specific node names and universal node names.\n */\nexport default {\n Alert: {\n ios: 'XCUIElementTypeAlert',\n android: 'android.widget.Toast',\n },\n App: {\n ios: 'XCUIElementTypeApplication',\n },\n Button: {\n ios: [\n 'XCUIElementTypeButton',\n 'XCUIElementTypeDecrementArrow',\n 'XCUIElementTypeIncrementArrow',\n 'XCUIElementTypeDisclosureTriangle',\n 'XCUIElementTypeHandle',\n 'XCUIElementTypeKey',\n 'XCUIElementTypeLink',\n 'XCUIElementTypeMenuButton',\n 'XCUIElementTypePageIndicator',\n 'XCUIElementTypePopUpButton',\n 'XCUIElementTypeToolbarButton',\n 'XCUIElementTypeRadioButton',\n 'XCUIElementTypeTab',\n ],\n android: [\n 'android.widget.Button',\n 'android.widget.ImageButton',\n 'android.widget.RadioButton',\n 'android.widget.QuickContactBadge',\n ],\n },\n Cell: {\n ios: 'XCUIElementTypeCell',\n },\n CheckBox: {\n ios: 'XCUIElementTypeCheckBox',\n android: 'android.widget.CheckBox',\n },\n Column: {\n ios: 'XCUIElementTypeTableColumn',\n },\n DateInput: {\n ios: 'XCUIElementTypeDatePicker',\n android: 'android.widget.DatePicker',\n },\n Element: {\n ios: [\n 'XCUIElementTypeOther',\n 'XCUIElementTypeAny',\n 'XCUIElementTypeMatte',\n 'XCUIElementTypeMenuBarItem',\n 'XCUIElementTypeMenuItem',\n 'XCUIElementTypeRuler',\n 'XCUIElementTypeRulerMarker',\n 'XCUIElementTypeSplitter',\n 'XCUIElementTypeStatusItem',\n 'XCUIElementTypeTimeline',\n ],\n android: ['android.widget.Space', 'android.widget.TwoLineListItem'],\n },\n Grid: {\n ios: 'XCUIElementTypeGrid',\n android: ['android.widget.GridLayout', 'android.widget.GridView'],\n },\n Icon: {\n ios: ['XCUIElementTypeIcon', 'XCUIElementTypeDockItem'],\n },\n Image: {\n ios: 'XCUIElementTypeImage',\n android: 'android.widget.ImageView',\n },\n Indicator: {\n ios: [\n 'XCUIElementTypeLevelIndicator',\n 'XCUIElementTypeProgressIndicator',\n 'XCUIElementTypeRatingIndicator',\n 'XCUIElementTypeRelevanceIndicator',\n 'XCUIElementTypeValueIndicator',\n ],\n android: ['android.widget.RatingBar', 'android.widget.ProgressBar'],\n },\n Input: {\n ios: ['XCUIElementTypeColorWell'],\n android: [],\n },\n List: {\n android: [\n 'android.widget.ListView',\n 'android.widget.ExpandableListView',\n 'android.widget.Gallery',\n ],\n ios: ['XCUIElementTypeCollectionView'],\n },\n Map: {\n ios: 'XCUIElementTypeMap',\n },\n Menu: {\n ios: ['XCUIElementTypeMenu', 'XCUIElementTypeMenuBar'],\n android: ['android.widget.ActionMenuView', 'android.widget.PopupMenu'],\n },\n Modal: {\n android: [\n 'android.widget.ListPopupWindow',\n 'android.widget.PopupWindow',\n 'android.widget.SlidingDrawer',\n 'android.widget.Magnifier',\n ],\n ios: ['XCUIElementTypeDrawer', 'XCUIElementTypeDialog', 'XCUIElementTypePopover'],\n },\n Nav: {\n ios: 'XCUIElementTypeNavigationBar',\n },\n PickerInput: {\n ios: 'XCUIElementTypePickerWheel',\n android: [\n 'android.widget.NumberPicker',\n 'android.widget.TimePicker',\n 'android.widget.CalendarView',\n ],\n },\n RadioInput: {\n ios: 'XCUIElementTypeRadioGroup',\n android: 'android.widget.RadioGroup',\n },\n Row: {\n ios: [\n 'XCUIElementTypeTableRow',\n 'XCUIElementTypeOutlineRow',\n 'XCUIElementTypeSegmentedControl',\n 'XCUIElementTypeTouchBar',\n ],\n android: 'android.widget.TableRow',\n },\n Scrollable: {\n ios: 'XCUIElementTypeScrollView',\n android: ['android.widget.ScrollView', 'android.widget.HorizontalScrollView'],\n },\n SearchInput: {\n android: 'android.widget.SearchView',\n ios: 'XCUIElementTypeSearchField',\n },\n SliderInput: {\n android: 'android.widget.SeekBar',\n ios: ['XCUIElementTypeSlider', 'XCUIElementTypeStepper', 'XCUIElementTypeScrollBar'],\n },\n Spinner: {\n ios: 'XCUIElementTypeActivityIndicator',\n android: 'android.widget.Spinner',\n },\n SwitchInput: {\n ios: 'XCUIElementTypeSwitch',\n android: 'android.widget.Switch',\n },\n Table: {\n ios: 'XCUIElementTypeTable',\n android: 'android.widget.TableLayout',\n },\n Text: {\n ios: ['XCUIElementTypeStaticText', 'XCUIElementTypeTextView', 'XCUIElementTypeHelpTag'],\n android: ['android.widget.TextView', 'android.widget.Chronometer', 'android.widget.TextClock'],\n },\n TextInput: {\n ios: ['XCUIElementTypeTextField', 'XCUIElementTypeSecureTextField', 'XCUIElementTypeComboBox'],\n android: [\n 'android.widget.EditText',\n 'android.widget.AutoCompleteTextView',\n 'android.widget.MultiAutoCompleteTextView',\n ],\n },\n ToggleInput: {\n ios: 'XCUIElementTypeToggle',\n android: ['android.widget.CheckedTextView', 'android.widget.ToggleButton'],\n },\n Toolbar: {\n ios: 'XCUIElementTypeToolbar',\n android: 'android.widget.Toolbar',\n },\n UI: {\n ios: 'AppiumAUT',\n android: 'hierarchy',\n },\n Video: {\n android: 'android.widget.VideoView',\n },\n View: {\n android: [\n 'android.widget.FrameLayout',\n 'android.widget.LinearLayout',\n 'android.widget.RelativeLayout',\n 'android.view.View',\n 'android.view.ViewGroup',\n 'android.widget.MediaController',\n 'android.widget.StackView',\n ],\n ios: [\n 'XCUIElementTypeBrowser',\n 'XCUIElementTypeGroup',\n 'XCUIElementTypeKeyboard',\n 'XCUIElementTypeLayoutArea',\n 'XCUIElementTypeLayoutItem',\n 'XCUIElementTypeOutline',\n 'XCUIElementTypePicker',\n 'XCUIElementTypeSheet',\n 'XCUIElementTypeSplitGroup',\n 'XCUIElementTypeStatusBar',\n 'XCUIElementTypeTabBar',\n 'XCUIElementTypeTabGroup',\n ],\n },\n WebView: {\n ios: 'XCUIElementTypeWebView',\n },\n Window: {\n ios: 'XCUIElementTypeWindow',\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node-map.js","sourceRoot":"","sources":["../../lib/node-map.js"],"names":[],"mappings":"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"}
|
package/build/lib/plugin.js
CHANGED
|
@@ -1,98 +1,86 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
require("
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
commands = ['getPageSource', 'findElement', 'findElements', 'findElementFromElement', 'findElementsFromElement'];
|
|
24
|
-
|
|
25
|
-
async getPageSource(next, driver, sessId, addIndexPath = false) {
|
|
26
|
-
const source = next ? await next() : await driver.getPageSource();
|
|
27
|
-
const metadata = {};
|
|
28
|
-
const {
|
|
29
|
-
platformName
|
|
30
|
-
} = driver.caps;
|
|
31
|
-
|
|
32
|
-
if (platformName.toLowerCase() === 'android') {
|
|
33
|
-
metadata.appPackage = driver.opts.appPackage;
|
|
2
|
+
/* eslint-disable no-case-declarations */
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.UniversalXMLPlugin = void 0;
|
|
8
|
+
const plugin_1 = __importDefault(require("appium/plugin"));
|
|
9
|
+
const driver_1 = require("appium/driver");
|
|
10
|
+
const source_1 = require("./source");
|
|
11
|
+
const xpath_1 = require("./xpath");
|
|
12
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
13
|
+
class UniversalXMLPlugin extends plugin_1.default {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
this.commands = [
|
|
17
|
+
'getPageSource',
|
|
18
|
+
'findElement',
|
|
19
|
+
'findElements',
|
|
20
|
+
'findElementFromElement',
|
|
21
|
+
'findElementsFromElement',
|
|
22
|
+
];
|
|
34
23
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
24
|
+
async getPageSource(next, driver, sessId, addIndexPath = false) {
|
|
25
|
+
const source = next ? await next() : await driver.getPageSource();
|
|
26
|
+
const metadata = {};
|
|
27
|
+
const { platformName } = driver.caps;
|
|
28
|
+
if (platformName.toLowerCase() === 'android') {
|
|
29
|
+
metadata.appPackage = driver.opts.appPackage;
|
|
30
|
+
}
|
|
31
|
+
const { xml, unknowns } = (0, source_1.transformSourceXml)(source, platformName.toLowerCase(), {
|
|
32
|
+
metadata,
|
|
33
|
+
addIndexPath,
|
|
34
|
+
});
|
|
35
|
+
if (unknowns.nodes.length) {
|
|
36
|
+
logger_1.default.warn(`The XML mapper found ${unknowns.nodes.length} node(s) / ` +
|
|
37
|
+
`tag name(s) that it didn't know about. These should be ` +
|
|
38
|
+
`reported to improve the quality of the plugin: ` +
|
|
39
|
+
unknowns.nodes.join(', '));
|
|
40
|
+
}
|
|
41
|
+
if (unknowns.attrs.length) {
|
|
42
|
+
logger_1.default.warn(`The XML mapper found ${unknowns.attrs.length} attributes ` +
|
|
43
|
+
`that it didn't know about. These should be reported to ` +
|
|
44
|
+
`improve the quality of the plugin: ` +
|
|
45
|
+
unknowns.attrs.join(', '));
|
|
46
|
+
}
|
|
47
|
+
return xml;
|
|
46
48
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
_logger.default.warn(`The XML mapper found ${unknowns.attrs.length} attributes ` + `that it didn't know about. These should be reported to ` + `improve the quality of the plugin: ` + unknowns.attrs.join(', '));
|
|
49
|
+
async findElement(...args) {
|
|
50
|
+
return await this._find(false, ...args);
|
|
50
51
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
async findElement(...args) {
|
|
56
|
-
return await this._find(false, ...args);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async findElements(...args) {
|
|
60
|
-
return await this._find(true, ...args);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
async _find(multiple, next, driver, strategy, selector) {
|
|
64
|
-
const {
|
|
65
|
-
platformName
|
|
66
|
-
} = driver.caps;
|
|
67
|
-
|
|
68
|
-
if (strategy.toLowerCase() !== 'xpath') {
|
|
69
|
-
return await next();
|
|
52
|
+
async findElements(...args) {
|
|
53
|
+
return await this._find(true, ...args);
|
|
70
54
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
55
|
+
async _find(multiple, next, driver, strategy, selector) {
|
|
56
|
+
const { platformName } = driver.caps;
|
|
57
|
+
if (strategy.toLowerCase() !== 'xpath') {
|
|
58
|
+
return await next();
|
|
59
|
+
}
|
|
60
|
+
const xml = await this.getPageSource(null, driver, null, true);
|
|
61
|
+
let newSelector = (0, xpath_1.transformQuery)(selector, xml, multiple);
|
|
62
|
+
// if the selector was not able to be transformed, that means no elements were found that
|
|
63
|
+
// matched, so do the appropriate thing based on element vs elements
|
|
64
|
+
if (newSelector === null) {
|
|
65
|
+
logger_1.default.warn(`Selector was not able to be translated to underlying XML. Either the requested ` +
|
|
66
|
+
`element does not exist or there was an error in translation`);
|
|
67
|
+
if (multiple) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
throw new driver_1.errors.NoSuchElementError();
|
|
71
|
+
}
|
|
72
|
+
if (platformName.toLowerCase() === 'ios') {
|
|
73
|
+
// with the XCUITest driver, the <AppiumAUT> wrapper element is present in the source but is
|
|
74
|
+
// not present in the source considered by WDA, so our index path based xpath queries will
|
|
75
|
+
// not work with WDA as-is. We need to remove the first path segment.
|
|
76
|
+
newSelector = newSelector.replace(/^\/\*\[1\]/, '');
|
|
77
|
+
}
|
|
78
|
+
logger_1.default.info(`Selector was translated to: ${newSelector}`);
|
|
79
|
+
// otherwise just run the transformed query!
|
|
80
|
+
const finder = multiple ? 'findElements' : 'findElement';
|
|
81
|
+
return await driver[finder](strategy, newSelector);
|
|
83
82
|
}
|
|
84
|
-
|
|
85
|
-
if (platformName.toLowerCase() === 'ios') {
|
|
86
|
-
newSelector = newSelector.replace(/^\/\*\[1\]/, '');
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
_logger.default.info(`Selector was translated to: ${newSelector}`);
|
|
90
|
-
|
|
91
|
-
const finder = multiple ? 'findElements' : 'findElement';
|
|
92
|
-
return await driver[finder](strategy, newSelector);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
83
|
}
|
|
96
|
-
|
|
97
|
-
exports.UniversalXMLPlugin =
|
|
98
|
-
//# sourceMappingURL=
|
|
84
|
+
exports.default = UniversalXMLPlugin;
|
|
85
|
+
exports.UniversalXMLPlugin = UniversalXMLPlugin;
|
|
86
|
+
//# sourceMappingURL=plugin.js.map
|
package/build/lib/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../lib/plugin.js"],"names":[],"mappings":"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"}
|