appium-uiautomator2-driver 6.7.7 → 6.7.9

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.
Files changed (131) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/doctor/optional-checks.d.ts +4 -4
  3. package/build/lib/doctor/optional-checks.d.ts.map +1 -1
  4. package/build/lib/doctor/optional-checks.js.map +1 -1
  5. package/build/lib/doctor/required-checks.d.ts +5 -21
  6. package/build/lib/doctor/required-checks.d.ts.map +1 -1
  7. package/build/lib/doctor/required-checks.js.map +1 -1
  8. package/build/lib/index.d.ts +4 -0
  9. package/build/lib/index.d.ts.map +1 -0
  10. package/build/{index.js → lib/index.js} +1 -1
  11. package/build/lib/index.js.map +1 -0
  12. package/build/test/functional/commands/file-movement-e2e-specs.d.ts +2 -0
  13. package/build/test/functional/commands/file-movement-e2e-specs.d.ts.map +1 -0
  14. package/build/test/functional/commands/file-movement-e2e-specs.js +100 -0
  15. package/build/test/functional/commands/file-movement-e2e-specs.js.map +1 -0
  16. package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.d.ts +2 -0
  17. package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.d.ts.map +1 -0
  18. package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.js +64 -0
  19. package/build/test/functional/commands/find/by-accessibility-id-e2e-specs.js.map +1 -0
  20. package/build/test/functional/commands/find/by-css-e2e-specs.d.ts +2 -0
  21. package/build/test/functional/commands/find/by-css-e2e-specs.d.ts.map +1 -0
  22. package/build/test/functional/commands/find/by-css-e2e-specs.js +107 -0
  23. package/build/test/functional/commands/find/by-css-e2e-specs.js.map +1 -0
  24. package/build/test/functional/commands/find/by-id-e2e-specs.d.ts +2 -0
  25. package/build/test/functional/commands/find/by-id-e2e-specs.d.ts.map +1 -0
  26. package/build/test/functional/commands/find/by-id-e2e-specs.js +61 -0
  27. package/build/test/functional/commands/find/by-id-e2e-specs.js.map +1 -0
  28. package/build/test/functional/commands/find/by-image-e2e-specs.d.ts +2 -0
  29. package/build/test/functional/commands/find/by-image-e2e-specs.d.ts.map +1 -0
  30. package/build/test/functional/commands/find/by-image-e2e-specs.js +116 -0
  31. package/build/test/functional/commands/find/by-image-e2e-specs.js.map +1 -0
  32. package/build/test/functional/commands/find/by-uiautomator-e2e-specs.d.ts +2 -0
  33. package/build/test/functional/commands/find/by-uiautomator-e2e-specs.d.ts.map +1 -0
  34. package/build/test/functional/commands/find/by-uiautomator-e2e-specs.js +171 -0
  35. package/build/test/functional/commands/find/by-uiautomator-e2e-specs.js.map +1 -0
  36. package/build/test/functional/commands/find/by-xpath-e2e-specs.d.ts +2 -0
  37. package/build/test/functional/commands/find/by-xpath-e2e-specs.d.ts.map +1 -0
  38. package/build/test/functional/commands/find/by-xpath-e2e-specs.js +115 -0
  39. package/build/test/functional/commands/find/by-xpath-e2e-specs.js.map +1 -0
  40. package/build/test/functional/commands/find/find-basic-e2e-specs.d.ts +2 -0
  41. package/build/test/functional/commands/find/find-basic-e2e-specs.d.ts.map +1 -0
  42. package/build/test/functional/commands/find/find-basic-e2e-specs.js +99 -0
  43. package/build/test/functional/commands/find/find-basic-e2e-specs.js.map +1 -0
  44. package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.d.ts +2 -0
  45. package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.d.ts.map +1 -0
  46. package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.js +66 -0
  47. package/build/test/functional/commands/find/find-system-ui-el-e2e-specs.js.map +1 -0
  48. package/build/test/functional/commands/find/from-el-e2e-specs.d.ts +2 -0
  49. package/build/test/functional/commands/find/from-el-e2e-specs.d.ts.map +1 -0
  50. package/build/test/functional/commands/find/from-el-e2e-specs.js +65 -0
  51. package/build/test/functional/commands/find/from-el-e2e-specs.js.map +1 -0
  52. package/build/test/functional/commands/find/invalid-strategy-e2e-specs.d.ts +2 -0
  53. package/build/test/functional/commands/find/invalid-strategy-e2e-specs.d.ts.map +1 -0
  54. package/build/test/functional/commands/find/invalid-strategy-e2e-specs.js +56 -0
  55. package/build/test/functional/commands/find/invalid-strategy-e2e-specs.js.map +1 -0
  56. package/build/test/functional/commands/general/attribute-e2e-specs.d.ts +2 -0
  57. package/build/test/functional/commands/general/attribute-e2e-specs.d.ts.map +1 -0
  58. package/build/test/functional/commands/general/attribute-e2e-specs.js +94 -0
  59. package/build/test/functional/commands/general/attribute-e2e-specs.js.map +1 -0
  60. package/build/test/functional/commands/general/context-e2e-specs.d.ts +2 -0
  61. package/build/test/functional/commands/general/context-e2e-specs.d.ts.map +1 -0
  62. package/build/test/functional/commands/general/context-e2e-specs.js +106 -0
  63. package/build/test/functional/commands/general/context-e2e-specs.js.map +1 -0
  64. package/build/test/functional/commands/general/element-e2e-specs.d.ts +2 -0
  65. package/build/test/functional/commands/general/element-e2e-specs.d.ts.map +1 -0
  66. package/build/test/functional/commands/general/element-e2e-specs.js +84 -0
  67. package/build/test/functional/commands/general/element-e2e-specs.js.map +1 -0
  68. package/build/test/functional/commands/general/general-e2e-specs.d.ts +2 -0
  69. package/build/test/functional/commands/general/general-e2e-specs.d.ts.map +1 -0
  70. package/build/test/functional/commands/general/general-e2e-specs.js +92 -0
  71. package/build/test/functional/commands/general/general-e2e-specs.js.map +1 -0
  72. package/build/test/functional/commands/general/mobile-command-e2e-specs.d.ts +2 -0
  73. package/build/test/functional/commands/general/mobile-command-e2e-specs.d.ts.map +1 -0
  74. package/build/test/functional/commands/general/mobile-command-e2e-specs.js +79 -0
  75. package/build/test/functional/commands/general/mobile-command-e2e-specs.js.map +1 -0
  76. package/build/test/functional/commands/general/network-e2e-specs.d.ts +2 -0
  77. package/build/test/functional/commands/general/network-e2e-specs.d.ts.map +1 -0
  78. package/build/test/functional/commands/general/network-e2e-specs.js +62 -0
  79. package/build/test/functional/commands/general/network-e2e-specs.js.map +1 -0
  80. package/build/test/functional/commands/general/source-e2e-specs.d.ts +2 -0
  81. package/build/test/functional/commands/general/source-e2e-specs.d.ts.map +1 -0
  82. package/build/test/functional/commands/general/source-e2e-specs.js +84 -0
  83. package/build/test/functional/commands/general/source-e2e-specs.js.map +1 -0
  84. package/build/test/functional/commands/general/url-e2e-specs.d.ts +2 -0
  85. package/build/test/functional/commands/general/url-e2e-specs.d.ts.map +1 -0
  86. package/build/test/functional/commands/general/url-e2e-specs.js +77 -0
  87. package/build/test/functional/commands/general/url-e2e-specs.js.map +1 -0
  88. package/build/test/functional/commands/keyboard/keyboard-e2e-specs.d.ts +2 -0
  89. package/build/test/functional/commands/keyboard/keyboard-e2e-specs.d.ts.map +1 -0
  90. package/build/test/functional/commands/keyboard/keyboard-e2e-specs.js +335 -0
  91. package/build/test/functional/commands/keyboard/keyboard-e2e-specs.js.map +1 -0
  92. package/build/test/functional/commands/orientation-e2e-specs.d.ts +2 -0
  93. package/build/test/functional/commands/orientation-e2e-specs.d.ts.map +1 -0
  94. package/build/test/functional/commands/orientation-e2e-specs.js +105 -0
  95. package/build/test/functional/commands/orientation-e2e-specs.js.map +1 -0
  96. package/build/test/functional/commands/strings-e2e-specs.d.ts +2 -0
  97. package/build/test/functional/commands/strings-e2e-specs.d.ts.map +1 -0
  98. package/build/test/functional/commands/strings-e2e-specs.js +77 -0
  99. package/build/test/functional/commands/strings-e2e-specs.js.map +1 -0
  100. package/build/test/functional/commands/viewport-e2e-specs.d.ts +2 -0
  101. package/build/test/functional/commands/viewport-e2e-specs.d.ts.map +1 -0
  102. package/build/test/functional/commands/viewport-e2e-specs.js +114 -0
  103. package/build/test/functional/commands/viewport-e2e-specs.js.map +1 -0
  104. package/build/test/functional/desired.d.ts +21 -0
  105. package/build/test/functional/desired.d.ts.map +1 -0
  106. package/build/test/functional/desired.js +64 -0
  107. package/build/test/functional/desired.js.map +1 -0
  108. package/build/test/functional/driver-e2e-specs.d.ts +2 -0
  109. package/build/test/functional/driver-e2e-specs.d.ts.map +1 -0
  110. package/build/test/functional/driver-e2e-specs.js +117 -0
  111. package/build/test/functional/driver-e2e-specs.js.map +1 -0
  112. package/build/test/functional/helpers/constants.d.ts +3 -0
  113. package/build/test/functional/helpers/constants.d.ts.map +1 -0
  114. package/build/test/functional/helpers/constants.js +6 -0
  115. package/build/test/functional/helpers/constants.js.map +1 -0
  116. package/build/test/functional/helpers/session.d.ts +6 -0
  117. package/build/test/functional/helpers/session.d.ts.map +1 -0
  118. package/build/test/functional/helpers/session.js +78 -0
  119. package/build/test/functional/helpers/session.js.map +1 -0
  120. package/build/tsconfig.tsbuildinfo +1 -1
  121. package/lib/doctor/optional-checks.ts +7 -0
  122. package/lib/doctor/required-checks.ts +8 -0
  123. package/{index.js → lib/index.ts} +2 -1
  124. package/npm-shrinkwrap.json +25 -25
  125. package/package.json +5 -9
  126. package/scripts/run-functional-tests.sh +1 -1
  127. package/build/index.d.ts +0 -4
  128. package/build/index.d.ts.map +0 -1
  129. package/build/index.js.map +0 -1
  130. package/lib/doctor/optional-checks.js +0 -5
  131. package/lib/doctor/required-checks.js +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-uiautomator-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-uiautomator-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,171 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const desired_1 = require("../../desired");
40
+ const session_1 = require("../../helpers/session");
41
+ const chai_1 = __importStar(require("chai"));
42
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
+ chai_1.default.use(chai_as_promised_1.default);
44
+ describe('Find - uiautomator', function () {
45
+ let driver;
46
+ before(async function () {
47
+ driver = await (0, session_1.initSession)(desired_1.APIDEMOS_CAPS);
48
+ await driver.updateSettings({ 'enableNotificationListener': false });
49
+ await driver.setTimeout({ implicit: 20000 });
50
+ });
51
+ after(async function () {
52
+ await (0, session_1.deleteSession)();
53
+ });
54
+ it('should find elements with a boolean argument', async function () {
55
+ const els = await driver.$$('android=new UiSelector().clickable(true)');
56
+ (0, chai_1.expect)(els).to.have.length.at.least(8);
57
+ });
58
+ it('should find elements within the context of another element', async function () {
59
+ const els = await driver.$$('android=new UiSelector().className("android.widget.TextView")');
60
+ (0, chai_1.expect)(els.length).to.be.above(8);
61
+ (0, chai_1.expect)(els.length).to.be.below(14);
62
+ });
63
+ it('should find elements without prepending "new UiSelector()" relative', async function () {
64
+ const els = await driver.$$('android=.clickable(true)');
65
+ (0, chai_1.expect)(els).to.have.length.at.least(8);
66
+ });
67
+ it('should find elements without prepending "new UiSelector()" absolute', async function () {
68
+ const els = await driver.$$('android=clickable(true)');
69
+ (0, chai_1.expect)(els).to.have.length.at.least(8);
70
+ });
71
+ it('should find elements without prepending "new "', async function () {
72
+ const els = await driver.$$('android=UiSelector().clickable(true)');
73
+ (0, chai_1.expect)(els).to.have.length.at.least(8);
74
+ });
75
+ it('should ignore trailing semicolons', async function () {
76
+ const els = await driver.$$('android=new UiSelector().clickable(true);');
77
+ (0, chai_1.expect)(els).to.have.length.at.least(8);
78
+ });
79
+ it('should find an element with an int argument', async function () {
80
+ const el = await driver.$('android=new UiSelector().index(0)');
81
+ await (0, chai_1.expect)(el.getAttribute('className')).to.eventually.equal('android.widget.FrameLayout');
82
+ });
83
+ it('should find an element with a string argument', async function () {
84
+ const el = await driver.$('android=new UiSelector().description("Animation")');
85
+ (0, chai_1.expect)(el.elementId).to.exist;
86
+ });
87
+ it('should find an element with an overloaded method argument', async function () {
88
+ const els = await driver.$$('android=new UiSelector().className("android.widget.TextView")');
89
+ (0, chai_1.expect)(els).to.have.length.at.least(8);
90
+ });
91
+ it('should find an element with a Class<T> method argument', async function () {
92
+ const els = await driver.$$('android=new UiSelector().className(android.widget.TextView)');
93
+ (0, chai_1.expect)(els).to.have.length.at.least(8);
94
+ });
95
+ it('should find an element with a long chain of methods', async function () {
96
+ const el = await driver.$('android=new UiSelector().clickable(true).className(android.widget.TextView).index(1)');
97
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('Accessibility');
98
+ });
99
+ it('should find an element with recursive UiSelectors', async function () {
100
+ const els = await driver.$$('android=new UiSelector().childSelector(new UiSelector().clickable(true)).focused(true)');
101
+ (0, chai_1.expect)(els).to.have.length(1);
102
+ });
103
+ it('should not find an element which does not exist', async function () {
104
+ await driver.setTimeout({ implicit: 1000 }); // expect this to fail, so no need to wait too long
105
+ const els = await driver.$$('android=new UiSelector().description("chuckwudi")');
106
+ (0, chai_1.expect)(els).to.have.length(0);
107
+ await driver.setTimeout({ implicit: 20000 }); // restore implicit wait
108
+ });
109
+ it('should allow multiple selector statements and return the Union of the two sets containing non clickable elements', async function () {
110
+ const clickableEls = await driver.$$('android=new UiSelector().clickable(true)');
111
+ (0, chai_1.expect)(clickableEls.length).to.be.above(0);
112
+ const notClickableEls = await driver.$$('android=new UiSelector().clickable(false)');
113
+ (0, chai_1.expect)(notClickableEls.length).to.be.above(0);
114
+ const both = await driver.$$('android=new UiSelector().clickable(true); new UiSelector().clickable(false);');
115
+ const clickableLength = await clickableEls.length;
116
+ const notClickableLength = await notClickableEls.length;
117
+ const bothLength = await both.length;
118
+ (0, chai_1.expect)(bothLength).to.equal(clickableLength + notClickableLength);
119
+ });
120
+ it('should allow multiple selector statements and return the Union of the two sets', async function () {
121
+ const clickableEls = await driver.$$('android=new UiSelector().clickable(true)');
122
+ (0, chai_1.expect)(clickableEls.length).to.be.above(0);
123
+ const clickableClickableEl = await driver.$$('android=new UiSelector().clickable(true); new UiSelector().clickable(true);');
124
+ (0, chai_1.expect)(clickableClickableEl.length).to.be.above(0);
125
+ (0, chai_1.expect)(clickableClickableEl).to.have.length(clickableEls.length);
126
+ });
127
+ it('should find an element in the second selector if the first finds no elements (when finding multiple elements)', async function () {
128
+ const selector = 'new UiSelector().className("not.a.class"); new UiSelector().className("android.widget.TextView")';
129
+ const els = await driver.$$(`android=${selector}`);
130
+ (0, chai_1.expect)(els.length).to.be.above(0);
131
+ });
132
+ it.skip('should find an element in the second selector if the first finds no elements (when finding a single element)', async function () {
133
+ // TODO: This test is broken.
134
+ // * The test above this one works and it proxies to 'POST /elements'.
135
+ // * This test doesn't work and the only difference is that it proxies to 'POST /element'
136
+ // (see find.js for reference)
137
+ const selector = 'new UiSelector().className("not.a.class"); new UiSelector().className("android.widget.TextView")';
138
+ const el = await driver.$(`android=${selector}`);
139
+ (0, chai_1.expect)(el.elementId).to.exist;
140
+ });
141
+ it('should allow selectors using fromParent contruct', async function () {
142
+ const selector = 'new UiSelector().className("android.widget.ListView").fromParent(new UiSelector().resourceId("android:id/text1"))';
143
+ const el = await driver.$(`android=${selector}`);
144
+ (0, chai_1.expect)(el.elementId).to.exist;
145
+ });
146
+ it('should scroll to, and return elements using UiScrollable', async function () {
147
+ await driver.startActivity('io.appium.android.apis', '.view.List1');
148
+ const selector = 'new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().text("Beer Cheese").instance(0))';
149
+ const el = await driver.$(`android=${selector}`);
150
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('Beer Cheese');
151
+ });
152
+ it('should allow chaining UiScrollable methods', async function () {
153
+ await driver.startActivity('io.appium.android.apis', '.view.List1');
154
+ const selector = 'new UiScrollable(new UiSelector().scrollable(true).instance(0)).setMaxSearchSwipes(11).scrollIntoView(new UiSelector().text("Beer Cheese").instance(0))';
155
+ const el = await driver.$(`android=${selector}`);
156
+ (0, chai_1.expect)(el.elementId).to.exist;
157
+ });
158
+ it('should allow UiScrollable scrollIntoView', async function () {
159
+ await driver.startActivity('io.appium.android.apis', '.view.List1');
160
+ const selector = 'new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().text("Beer Cheese").instance(0));';
161
+ const el = await driver.$(`android=${selector}`);
162
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('Beer Cheese');
163
+ });
164
+ it('should allow UiScrollable with unicode string', async function () {
165
+ await driver.startActivity('io.appium.android.apis', '.text.Unicode');
166
+ const selector = 'new UiSelector().text("عربي").instance(0);';
167
+ const el = await driver.$(`android=${selector}`);
168
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('عربي');
169
+ });
170
+ });
171
+ //# sourceMappingURL=by-uiautomator-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-uiautomator-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-uiautomator-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=by-xpath-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-xpath-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-xpath-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,115 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const desired_1 = require("../../desired");
40
+ const session_1 = require("../../helpers/session");
41
+ const chai_1 = __importStar(require("chai"));
42
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
+ chai_1.default.use(chai_as_promised_1.default);
44
+ const atv = 'android.widget.TextView';
45
+ const f = 'android.widget.FrameLayout';
46
+ describe('Find - xpath', function () {
47
+ let driver;
48
+ before(async function () {
49
+ driver = await (0, session_1.initSession)(desired_1.APIDEMOS_CAPS);
50
+ });
51
+ after(async function () {
52
+ await (0, session_1.deleteSession)();
53
+ });
54
+ it('should find element by type', async function () {
55
+ const el = await driver.$(`//${atv}`);
56
+ const text = await el.getText();
57
+ (0, chai_1.expect)(text.toLowerCase()).to.equal('api demos');
58
+ });
59
+ it('should find element by text', async function () {
60
+ const el = await driver.$(`//${atv}[@text='Accessibility']`);
61
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('Accessibility');
62
+ });
63
+ it('should find element by attribute', async function () {
64
+ const els = await driver.$$(`//*[@enabled='true' and @focused='true']`);
65
+ (0, chai_1.expect)(els).to.have.length(1);
66
+ });
67
+ it('should find exactly one element via elementsByXPath', async function () {
68
+ const els = await driver.$$(`//${atv}[@text='Accessibility']`);
69
+ (0, chai_1.expect)(els.length).to.equal(1);
70
+ await (0, chai_1.expect)(els[0].getText()).to.eventually.equal('Accessibility');
71
+ });
72
+ it('should find element by partial text', async function () {
73
+ const el = await driver.$(`//${atv}[contains(@text, 'Accessibility')]`);
74
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('Accessibility');
75
+ });
76
+ it('should find the last element', async function () {
77
+ const el = await driver.$(`(//${atv})[last()]`);
78
+ const text = await el.getText();
79
+ (0, chai_1.expect)(['OS', 'Text', 'Views', 'Preference']).to.include(text);
80
+ });
81
+ it('should find element by index and embedded desc', async function () {
82
+ const el = await driver.$(`//${f}//${atv}[5]`);
83
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('Content');
84
+ });
85
+ it('should find all elements', async function () {
86
+ const els = await driver.$$(`//*`);
87
+ (0, chai_1.expect)(els.length).to.be.above(2);
88
+ });
89
+ it('should find the first element when searching for all elements', async function () {
90
+ await (0, chai_1.expect)(driver.$(`//*`).elementId).to.eventually.exist;
91
+ });
92
+ it('should find less elements with compression turned on', async function () {
93
+ await driver.updateSettings({ 'ignoreUnimportantViews': false });
94
+ const elementsWithoutCompression = await driver.$$(`//*`);
95
+ await driver.updateSettings({ 'ignoreUnimportantViews': true });
96
+ const elementsWithCompression = await driver.$$(`//*`);
97
+ (0, chai_1.expect)(elementsWithoutCompression.length).to.be.greaterThan(elementsWithCompression.length);
98
+ });
99
+ it('should find toast message element by text', async function () {
100
+ await driver.startActivity('io.appium.android.apis', '.view.PopupMenu1');
101
+ const popUpEl = await driver.$('~Make a Popup!');
102
+ await popUpEl.waitForDisplayed({ timeout: 5000 });
103
+ await popUpEl.click();
104
+ const searchEl = await driver.$(`.//*[@text='Search']`);
105
+ await searchEl.waitForDisplayed({ timeout: 5000 });
106
+ await searchEl.click();
107
+ await (0, chai_1.expect)(driver.$(`//*[@text='Clicked popup menu item Search']`).elementId).to.eventually.exist;
108
+ await popUpEl.click();
109
+ const addEl = await driver.$(`.//*[@text='Add']`);
110
+ await addEl.waitForDisplayed({ timeout: 5000 });
111
+ await addEl.click();
112
+ await (0, chai_1.expect)(driver.$(`//*[@text='Clicked popup menu item Add']`).elementId).to.eventually.exist;
113
+ });
114
+ });
115
+ //# sourceMappingURL=by-xpath-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"by-xpath-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/by-xpath-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=find-basic-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-basic-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/find-basic-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,99 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const desired_1 = require("../../desired");
40
+ const session_1 = require("../../helpers/session");
41
+ const chai_1 = __importStar(require("chai"));
42
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
+ chai_1.default.use(chai_as_promised_1.default);
44
+ describe('Find - basic', function () {
45
+ let driver;
46
+ const singleResourceId = 'decor_content_parent';
47
+ before(async function () {
48
+ driver = await (0, session_1.initSession)(desired_1.APIDEMOS_CAPS);
49
+ });
50
+ after(async function () {
51
+ await (0, session_1.deleteSession)();
52
+ });
53
+ it('should find a single element by content-description', async function () {
54
+ const el = await driver.$('~Animation');
55
+ await (0, chai_1.expect)(el.getText()).to.eventually.equal('Animation');
56
+ });
57
+ it('should find an element by class name', async function () {
58
+ const el = await driver.$('android.widget.TextView');
59
+ const text = await el.getText();
60
+ (0, chai_1.expect)(text.toLowerCase()).to.equal('api demos');
61
+ });
62
+ it('should find multiple elements by class name', async function () {
63
+ const els = await driver.$$('android.widget.TextView');
64
+ (0, chai_1.expect)(els).to.have.length.at.least(10);
65
+ });
66
+ it('should not find multiple elements that doesnt exist', async function () {
67
+ const els = await driver.$$('blargimarg');
68
+ (0, chai_1.expect)(els).to.have.length(0);
69
+ });
70
+ it('should fail on empty locator', async function () {
71
+ await (0, chai_1.expect)(driver.$('')).to.eventually.be.rejectedWith(/selector/);
72
+ });
73
+ it('should find a single element by resource-id', async function () {
74
+ const el = await driver.$(`id=android:id/${singleResourceId}`);
75
+ (0, chai_1.expect)(el.elementId).to.exist;
76
+ });
77
+ it('should find multiple elements by resource-id', async function () {
78
+ const els = await driver.$$('id=android:id/text1');
79
+ (0, chai_1.expect)(els).to.have.length.above(1);
80
+ });
81
+ it('should find multiple elements by resource-id even when theres just one', async function () {
82
+ const els = await driver.$$(`id=android:id/${singleResourceId}`);
83
+ (0, chai_1.expect)(els).to.have.length(1);
84
+ });
85
+ describe('implicit wait', function () {
86
+ const implicitWaitTimeout = 5000;
87
+ before(async function () {
88
+ await driver.setTimeout({ implicit: implicitWaitTimeout });
89
+ });
90
+ it('should respect implicit wait with multiple elements', async function () {
91
+ const beforeMs = Date.now();
92
+ const els = await driver.$$('id=android:id/there_is_nothing_called_this');
93
+ (0, chai_1.expect)(els).to.have.length(0);
94
+ const afterMs = Date.now();
95
+ (0, chai_1.expect)(afterMs - beforeMs).to.be.below(implicitWaitTimeout * 2);
96
+ });
97
+ });
98
+ });
99
+ //# sourceMappingURL=find-basic-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-basic-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/find-basic-e2e-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=find-system-ui-el-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-system-ui-el-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/find-system-ui-el-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const session_1 = require("../../helpers/session");
40
+ const desired_1 = require("../../desired");
41
+ const chai_1 = __importStar(require("chai"));
42
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
+ chai_1.default.use(chai_as_promised_1.default);
44
+ describe('Find - android ui elements', function () {
45
+ let driver;
46
+ before(async function () {
47
+ driver = await (0, session_1.initSession)(desired_1.SETTINGS_CAPS);
48
+ });
49
+ after(async function () {
50
+ if (driver) {
51
+ await (0, session_1.deleteSession)();
52
+ }
53
+ });
54
+ it('should not find statusBarBackground element via xpath', async function () {
55
+ const statusBar = await driver.$$(`//*[@resource-id='android:id/statusBarBackground']`); //check server (NPE) if allowInvisibleElements is unset on server side
56
+ (0, chai_1.expect)(statusBar.length).to.be.equal(0);
57
+ await driver.updateSettings({ allowInvisibleElements: false });
58
+ const statusBarWithInvisibleEl = await driver.$$(`//*[@resource-id='android:id/statusBarBackground']`);
59
+ (0, chai_1.expect)(statusBarWithInvisibleEl.length).to.be.equal(0);
60
+ });
61
+ it('should find statusBarBackground element via xpath', async function () {
62
+ await driver.updateSettings({ allowInvisibleElements: true });
63
+ await (0, chai_1.expect)(driver.$(`//*[@resource-id='android:id/statusBarBackground']`).elementId).to.eventually.exist;
64
+ });
65
+ });
66
+ //# sourceMappingURL=find-system-ui-el-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-system-ui-el-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/find-system-ui-el-e2e-specs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mDAAiE;AACjE,2CAA4C;AAC5C,6CAAkC;AAClC,wEAA8C;AAE9C,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEzB,QAAQ,CAAC,4BAA4B,EAAE;IACrC,IAAI,MAA2B,CAAC;IAEhC,MAAM,CAAC,KAAK;QACV,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC,uBAAa,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK;QACT,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAA,uBAAa,GAAE,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,uDAAuD,EAAE,KAAK;QAC/D,MAAM,SAAS,GAAG,MAAM,MAAO,CAAC,EAAE,CAAC,oDAAoD,CAAC,CAAC,CAAC,sEAAsE;QAChK,IAAA,aAAM,EAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,MAAO,CAAC,cAAc,CAAC,EAAC,sBAAsB,EAAE,KAAK,EAAC,CAAC,CAAC;QAC9D,MAAM,wBAAwB,GAAG,MAAM,MAAO,CAAC,EAAE,CAAC,oDAAoD,CAAC,CAAC;QACxG,IAAA,aAAM,EAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mDAAmD,EAAE,KAAK;QAC3D,MAAM,MAAO,CAAC,cAAc,CAAC,EAAC,sBAAsB,EAAE,IAAI,EAAC,CAAC,CAAC;QAC7D,MAAM,IAAA,aAAM,EAAC,MAAO,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;IAC9G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=from-el-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-el-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/from-el-e2e-specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const desired_1 = require("../../desired");
40
+ const session_1 = require("../../helpers/session");
41
+ const chai_1 = __importStar(require("chai"));
42
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
43
+ chai_1.default.use(chai_as_promised_1.default);
44
+ describe('Find - from element', function () {
45
+ const atv = 'android.widget.TextView';
46
+ const alv = 'android.widget.ListView';
47
+ let driver;
48
+ before(async function () {
49
+ driver = await (0, session_1.initSession)(desired_1.APIDEMOS_CAPS);
50
+ });
51
+ after(async function () {
52
+ await (0, session_1.deleteSession)();
53
+ });
54
+ it('should find a single element by tag name', async function () {
55
+ const el = await driver.$(alv);
56
+ const innerEl = await el.$(atv);
57
+ await (0, chai_1.expect)(innerEl.getText()).to.eventually.equal("Access'ibility");
58
+ });
59
+ it('should find multiple elements by tag name', async function () {
60
+ const el = await driver.$(alv);
61
+ const innerEls = await el.$$(atv);
62
+ (0, chai_1.expect)(innerEls).to.have.length.above(1);
63
+ });
64
+ });
65
+ //# sourceMappingURL=from-el-e2e-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-el-e2e-specs.js","sourceRoot":"","sources":["../../../../../test/functional/commands/find/from-el-e2e-specs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA4C;AAC5C,mDAAiE;AACjE,6CAAkC;AAClC,wEAA8C;AAE9C,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEzB,QAAQ,CAAC,qBAAqB,EAAE;IAC9B,MAAM,GAAG,GAAG,yBAAyB,CAAC;IACtC,MAAM,GAAG,GAAG,yBAAyB,CAAC;IACtC,IAAI,MAAe,CAAC;IAEpB,MAAM,CAAC,KAAK;QACV,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC,uBAAa,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAA,uBAAa,GAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0CAA0C,EAAE,KAAK;QAClD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,IAAA,aAAM,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2CAA2C,EAAE,KAAK;QACnD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAClC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=invalid-strategy-e2e-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalid-strategy-e2e-specs.d.ts","sourceRoot":"","sources":["../../../../../test/functional/commands/find/invalid-strategy-e2e-specs.ts"],"names":[],"mappings":""}