appium-xcuitest-driver 10.17.1 → 10.18.1

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 (236) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/device/real-device-management.d.ts +3 -3
  3. package/build/lib/device/real-device-management.d.ts.map +1 -1
  4. package/build/lib/device/real-device-management.js +6 -8
  5. package/build/lib/device/real-device-management.js.map +1 -1
  6. package/build/lib/driver.js +1 -1
  7. package/build/lib/driver.js.map +1 -1
  8. package/build/tsconfig.tsbuildinfo +1 -1
  9. package/lib/device/real-device-management.ts +7 -9
  10. package/lib/driver.ts +1 -1
  11. package/npm-shrinkwrap.json +59 -16
  12. package/package.json +3 -2
  13. package/build/test/functional/basic/alert-e2e-specs.d.ts +0 -2
  14. package/build/test/functional/basic/alert-e2e-specs.d.ts.map +0 -1
  15. package/build/test/functional/basic/alert-e2e-specs.js +0 -129
  16. package/build/test/functional/basic/alert-e2e-specs.js.map +0 -1
  17. package/build/test/functional/basic/basic-e2e-specs.d.ts +0 -2
  18. package/build/test/functional/basic/basic-e2e-specs.d.ts.map +0 -1
  19. package/build/test/functional/basic/basic-e2e-specs.js +0 -268
  20. package/build/test/functional/basic/basic-e2e-specs.js.map +0 -1
  21. package/build/test/functional/basic/element-e2e-specs.d.ts +0 -2
  22. package/build/test/functional/basic/element-e2e-specs.d.ts.map +0 -1
  23. package/build/test/functional/basic/element-e2e-specs.js +0 -354
  24. package/build/test/functional/basic/element-e2e-specs.js.map +0 -1
  25. package/build/test/functional/basic/find-e2e-specs.d.ts +0 -2
  26. package/build/test/functional/basic/find-e2e-specs.d.ts.map +0 -1
  27. package/build/test/functional/basic/find-e2e-specs.js +0 -434
  28. package/build/test/functional/basic/find-e2e-specs.js.map +0 -1
  29. package/build/test/functional/basic/gesture-e2e-specs.d.ts +0 -2
  30. package/build/test/functional/basic/gesture-e2e-specs.d.ts.map +0 -1
  31. package/build/test/functional/basic/gesture-e2e-specs.js +0 -211
  32. package/build/test/functional/basic/gesture-e2e-specs.js.map +0 -1
  33. package/build/test/functional/desired.d.ts +0 -26
  34. package/build/test/functional/desired.d.ts.map +0 -1
  35. package/build/test/functional/desired.js +0 -124
  36. package/build/test/functional/desired.js.map +0 -1
  37. package/build/test/functional/device/accessibility-e2e-specs.d.ts +0 -2
  38. package/build/test/functional/device/accessibility-e2e-specs.d.ts.map +0 -1
  39. package/build/test/functional/device/accessibility-e2e-specs.js +0 -117
  40. package/build/test/functional/device/accessibility-e2e-specs.js.map +0 -1
  41. package/build/test/functional/device/file-movement-e2e-specs.d.ts +0 -2
  42. package/build/test/functional/device/file-movement-e2e-specs.d.ts.map +0 -1
  43. package/build/test/functional/device/file-movement-e2e-specs.js +0 -141
  44. package/build/test/functional/device/file-movement-e2e-specs.js.map +0 -1
  45. package/build/test/functional/device/otherApps-e2e-specs.d.ts +0 -2
  46. package/build/test/functional/device/otherApps-e2e-specs.d.ts.map +0 -1
  47. package/build/test/functional/device/otherApps-e2e-specs.js +0 -66
  48. package/build/test/functional/device/otherApps-e2e-specs.js.map +0 -1
  49. package/build/test/functional/device/passwords-e2e-specs.d.ts +0 -2
  50. package/build/test/functional/device/passwords-e2e-specs.d.ts.map +0 -1
  51. package/build/test/functional/device/passwords-e2e-specs.js +0 -91
  52. package/build/test/functional/device/passwords-e2e-specs.js.map +0 -1
  53. package/build/test/functional/device/performance-e2e-specs.d.ts +0 -2
  54. package/build/test/functional/device/performance-e2e-specs.d.ts.map +0 -1
  55. package/build/test/functional/device/performance-e2e-specs.js +0 -72
  56. package/build/test/functional/device/performance-e2e-specs.js.map +0 -1
  57. package/build/test/functional/driver/driver-e2e-specs.d.ts +0 -2
  58. package/build/test/functional/driver/driver-e2e-specs.d.ts.map +0 -1
  59. package/build/test/functional/driver/driver-e2e-specs.js +0 -296
  60. package/build/test/functional/driver/driver-e2e-specs.js.map +0 -1
  61. package/build/test/functional/helpers/element.d.ts +0 -4
  62. package/build/test/functional/helpers/element.d.ts.map +0 -1
  63. package/build/test/functional/helpers/element.js +0 -8
  64. package/build/test/functional/helpers/element.js.map +0 -1
  65. package/build/test/functional/helpers/ports.d.ts +0 -6
  66. package/build/test/functional/helpers/ports.d.ts.map +0 -1
  67. package/build/test/functional/helpers/ports.js +0 -29
  68. package/build/test/functional/helpers/ports.js.map +0 -1
  69. package/build/test/functional/helpers/session.d.ts +0 -7
  70. package/build/test/functional/helpers/session.d.ts.map +0 -1
  71. package/build/test/functional/helpers/session.js +0 -39
  72. package/build/test/functional/helpers/session.js.map +0 -1
  73. package/build/test/functional/helpers/simulator.d.ts +0 -12
  74. package/build/test/functional/helpers/simulator.d.ts.map +0 -1
  75. package/build/test/functional/helpers/simulator.js +0 -51
  76. package/build/test/functional/helpers/simulator.js.map +0 -1
  77. package/build/test/functional/long/typing-stress-e2e-specs.d.ts +0 -2
  78. package/build/test/functional/long/typing-stress-e2e-specs.d.ts.map +0 -1
  79. package/build/test/functional/long/typing-stress-e2e-specs.js +0 -84
  80. package/build/test/functional/long/typing-stress-e2e-specs.js.map +0 -1
  81. package/build/test/functional/tv/tvos-e2e-specs.d.ts +0 -2
  82. package/build/test/functional/tv/tvos-e2e-specs.d.ts.map +0 -1
  83. package/build/test/functional/tv/tvos-e2e-specs.js +0 -83
  84. package/build/test/functional/tv/tvos-e2e-specs.js.map +0 -1
  85. package/build/test/functional/web/helpers.d.ts +0 -28
  86. package/build/test/functional/web/helpers.d.ts.map +0 -1
  87. package/build/test/functional/web/helpers.js +0 -137
  88. package/build/test/functional/web/helpers.js.map +0 -1
  89. package/build/test/functional/web/safari-alerts-e2e-specs.d.ts +0 -2
  90. package/build/test/functional/web/safari-alerts-e2e-specs.d.ts.map +0 -1
  91. package/build/test/functional/web/safari-alerts-e2e-specs.js +0 -109
  92. package/build/test/functional/web/safari-alerts-e2e-specs.js.map +0 -1
  93. package/build/test/functional/web/safari-basic-e2e-specs.d.ts +0 -2
  94. package/build/test/functional/web/safari-basic-e2e-specs.d.ts.map +0 -1
  95. package/build/test/functional/web/safari-basic-e2e-specs.js +0 -425
  96. package/build/test/functional/web/safari-basic-e2e-specs.js.map +0 -1
  97. package/build/test/functional/web/safari-execute-e2e-specs.d.ts +0 -2
  98. package/build/test/functional/web/safari-execute-e2e-specs.d.ts.map +0 -1
  99. package/build/test/functional/web/safari-execute-e2e-specs.js +0 -167
  100. package/build/test/functional/web/safari-execute-e2e-specs.js.map +0 -1
  101. package/build/test/functional/web/safari-nativewebtap-e2e-specs.d.ts +0 -2
  102. package/build/test/functional/web/safari-nativewebtap-e2e-specs.d.ts.map +0 -1
  103. package/build/test/functional/web/safari-nativewebtap-e2e-specs.js +0 -323
  104. package/build/test/functional/web/safari-nativewebtap-e2e-specs.js.map +0 -1
  105. package/build/test/functional/web/safari-ssl-e2e-specs.d.ts +0 -2
  106. package/build/test/functional/web/safari-ssl-e2e-specs.d.ts.map +0 -1
  107. package/build/test/functional/web/safari-ssl-e2e-specs.js +0 -131
  108. package/build/test/functional/web/safari-ssl-e2e-specs.js.map +0 -1
  109. package/build/test/functional/web/safari-window-e2e-specs.d.ts +0 -2
  110. package/build/test/functional/web/safari-window-e2e-specs.d.ts.map +0 -1
  111. package/build/test/functional/web/safari-window-e2e-specs.js +0 -263
  112. package/build/test/functional/web/safari-window-e2e-specs.js.map +0 -1
  113. package/build/test/setup.d.ts +0 -19
  114. package/build/test/setup.d.ts.map +0 -1
  115. package/build/test/setup.js +0 -117
  116. package/build/test/setup.js.map +0 -1
  117. package/build/test/unit/app-infos-cache-specs.d.ts +0 -2
  118. package/build/test/unit/app-infos-cache-specs.d.ts.map +0 -1
  119. package/build/test/unit/app-infos-cache-specs.js +0 -101
  120. package/build/test/unit/app-infos-cache-specs.js.map +0 -1
  121. package/build/test/unit/app-utils-specs.d.ts +0 -2
  122. package/build/test/unit/app-utils-specs.d.ts.map +0 -1
  123. package/build/test/unit/app-utils-specs.js +0 -131
  124. package/build/test/unit/app-utils-specs.js.map +0 -1
  125. package/build/test/unit/commands/activeAppInfo-specs.d.ts +0 -2
  126. package/build/test/unit/commands/activeAppInfo-specs.d.ts.map +0 -1
  127. package/build/test/unit/commands/activeAppInfo-specs.js +0 -74
  128. package/build/test/unit/commands/activeAppInfo-specs.js.map +0 -1
  129. package/build/test/unit/commands/alert-specs.d.ts +0 -2
  130. package/build/test/unit/commands/alert-specs.d.ts.map +0 -1
  131. package/build/test/unit/commands/alert-specs.js +0 -111
  132. package/build/test/unit/commands/alert-specs.js.map +0 -1
  133. package/build/test/unit/commands/context-specs.d.ts +0 -2
  134. package/build/test/unit/commands/context-specs.d.ts.map +0 -1
  135. package/build/test/unit/commands/context-specs.js +0 -119
  136. package/build/test/unit/commands/context-specs.js.map +0 -1
  137. package/build/test/unit/commands/deviceinfo-specs.d.ts +0 -2
  138. package/build/test/unit/commands/deviceinfo-specs.d.ts.map +0 -1
  139. package/build/test/unit/commands/deviceinfo-specs.js +0 -67
  140. package/build/test/unit/commands/deviceinfo-specs.js.map +0 -1
  141. package/build/test/unit/commands/element-specs.d.ts +0 -2
  142. package/build/test/unit/commands/element-specs.d.ts.map +0 -1
  143. package/build/test/unit/commands/element-specs.js +0 -419
  144. package/build/test/unit/commands/element-specs.js.map +0 -1
  145. package/build/test/unit/commands/file-movement-specs.d.ts +0 -2
  146. package/build/test/unit/commands/file-movement-specs.d.ts.map +0 -1
  147. package/build/test/unit/commands/file-movement-specs.js +0 -81
  148. package/build/test/unit/commands/file-movement-specs.js.map +0 -1
  149. package/build/test/unit/commands/find-specs.d.ts +0 -2
  150. package/build/test/unit/commands/find-specs.d.ts.map +0 -1
  151. package/build/test/unit/commands/find-specs.js +0 -106
  152. package/build/test/unit/commands/find-specs.js.map +0 -1
  153. package/build/test/unit/commands/general-specs.d.ts +0 -2
  154. package/build/test/unit/commands/general-specs.d.ts.map +0 -1
  155. package/build/test/unit/commands/general-specs.js +0 -154
  156. package/build/test/unit/commands/general-specs.js.map +0 -1
  157. package/build/test/unit/commands/gesture-specs.d.ts +0 -2
  158. package/build/test/unit/commands/gesture-specs.d.ts.map +0 -1
  159. package/build/test/unit/commands/gesture-specs.js +0 -263
  160. package/build/test/unit/commands/gesture-specs.js.map +0 -1
  161. package/build/test/unit/commands/location-specs.d.ts +0 -2
  162. package/build/test/unit/commands/location-specs.d.ts.map +0 -1
  163. package/build/test/unit/commands/location-specs.js +0 -141
  164. package/build/test/unit/commands/location-specs.js.map +0 -1
  165. package/build/test/unit/commands/pasteboard-specs.d.ts +0 -2
  166. package/build/test/unit/commands/pasteboard-specs.d.ts.map +0 -1
  167. package/build/test/unit/commands/pasteboard-specs.js +0 -65
  168. package/build/test/unit/commands/pasteboard-specs.js.map +0 -1
  169. package/build/test/unit/commands/proxy-helper-specs.d.ts +0 -2
  170. package/build/test/unit/commands/proxy-helper-specs.d.ts.map +0 -1
  171. package/build/test/unit/commands/proxy-helper-specs.js +0 -88
  172. package/build/test/unit/commands/proxy-helper-specs.js.map +0 -1
  173. package/build/test/unit/commands/screenshots-specs.d.ts +0 -2
  174. package/build/test/unit/commands/screenshots-specs.d.ts.map +0 -1
  175. package/build/test/unit/commands/screenshots-specs.js +0 -71
  176. package/build/test/unit/commands/screenshots-specs.js.map +0 -1
  177. package/build/test/unit/commands/session-specs.d.ts +0 -2
  178. package/build/test/unit/commands/session-specs.d.ts.map +0 -1
  179. package/build/test/unit/commands/session-specs.js +0 -49
  180. package/build/test/unit/commands/session-specs.js.map +0 -1
  181. package/build/test/unit/commands/simctl-specs.d.ts +0 -2
  182. package/build/test/unit/commands/simctl-specs.d.ts.map +0 -1
  183. package/build/test/unit/commands/simctl-specs.js +0 -54
  184. package/build/test/unit/commands/simctl-specs.js.map +0 -1
  185. package/build/test/unit/commands/source-specs.d.ts +0 -2
  186. package/build/test/unit/commands/source-specs.d.ts.map +0 -1
  187. package/build/test/unit/commands/source-specs.js +0 -55
  188. package/build/test/unit/commands/source-specs.js.map +0 -1
  189. package/build/test/unit/commands/ssl-certificate-specs.d.ts +0 -2
  190. package/build/test/unit/commands/ssl-certificate-specs.d.ts.map +0 -1
  191. package/build/test/unit/commands/ssl-certificate-specs.js +0 -16
  192. package/build/test/unit/commands/ssl-certificate-specs.js.map +0 -1
  193. package/build/test/unit/commands/xctest-specs.d.ts +0 -2
  194. package/build/test/unit/commands/xctest-specs.d.ts.map +0 -1
  195. package/build/test/unit/commands/xctest-specs.js +0 -116
  196. package/build/test/unit/commands/xctest-specs.js.map +0 -1
  197. package/build/test/unit/css-converter-specs.d.ts +0 -2
  198. package/build/test/unit/css-converter-specs.d.ts.map +0 -1
  199. package/build/test/unit/css-converter-specs.js +0 -99
  200. package/build/test/unit/css-converter-specs.js.map +0 -1
  201. package/build/test/unit/device-connections-factory-specs.d.ts +0 -2
  202. package/build/test/unit/device-connections-factory-specs.d.ts.map +0 -1
  203. package/build/test/unit/device-connections-factory-specs.js +0 -88
  204. package/build/test/unit/device-connections-factory-specs.js.map +0 -1
  205. package/build/test/unit/driver-specs.d.ts +0 -2
  206. package/build/test/unit/driver-specs.d.ts.map +0 -1
  207. package/build/test/unit/driver-specs.js +0 -358
  208. package/build/test/unit/driver-specs.js.map +0 -1
  209. package/build/test/unit/helpers.d.ts +0 -2
  210. package/build/test/unit/helpers.d.ts.map +0 -1
  211. package/build/test/unit/helpers.js +0 -5
  212. package/build/test/unit/helpers.js.map +0 -1
  213. package/build/test/unit/language-specs.d.ts +0 -2
  214. package/build/test/unit/language-specs.d.ts.map +0 -1
  215. package/build/test/unit/language-specs.js +0 -159
  216. package/build/test/unit/language-specs.js.map +0 -1
  217. package/build/test/unit/logs-helpers-specs.d.ts +0 -2
  218. package/build/test/unit/logs-helpers-specs.d.ts.map +0 -1
  219. package/build/test/unit/logs-helpers-specs.js +0 -71
  220. package/build/test/unit/logs-helpers-specs.js.map +0 -1
  221. package/build/test/unit/processargs-specs.d.ts +0 -2
  222. package/build/test/unit/processargs-specs.d.ts.map +0 -1
  223. package/build/test/unit/processargs-specs.js +0 -87
  224. package/build/test/unit/processargs-specs.js.map +0 -1
  225. package/build/test/unit/real-device-management-specs.d.ts +0 -2
  226. package/build/test/unit/real-device-management-specs.d.ts.map +0 -1
  227. package/build/test/unit/real-device-management-specs.js +0 -151
  228. package/build/test/unit/real-device-management-specs.js.map +0 -1
  229. package/build/test/unit/simulator-management-specs.d.ts +0 -2
  230. package/build/test/unit/simulator-management-specs.d.ts.map +0 -1
  231. package/build/test/unit/simulator-management-specs.js +0 -143
  232. package/build/test/unit/simulator-management-specs.js.map +0 -1
  233. package/build/test/unit/utils-specs.d.ts +0 -2
  234. package/build/test/unit/utils-specs.d.ts.map +0 -1
  235. package/build/test/unit/utils-specs.js +0 -132
  236. package/build/test/unit/utils-specs.js.map +0 -1
@@ -1,106 +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 sinon_1 = __importDefault(require("sinon"));
7
- const driver_1 = require("../../../lib/driver");
8
- const chai_1 = require("chai");
9
- describe('general commands', function () {
10
- const driver = new driver_1.XCUITestDriver({});
11
- const proxySpy = sinon_1.default.stub(driver, 'proxyCommand');
12
- afterEach(function () {
13
- proxySpy.reset();
14
- });
15
- describe('findNativeElementOrElements', function () {
16
- /**
17
- *
18
- * @param {string} strategy
19
- * @param {string} selector
20
- * @param {string} modSelector
21
- * @param {string|null} modStrategy
22
- * @param {boolean} mult
23
- */
24
- async function verifyFind(strategy, selector, modSelector, modStrategy = null, mult = false) {
25
- try {
26
- await driver.findNativeElementOrElements(strategy, selector, mult);
27
- }
28
- catch { }
29
- (0, chai_1.expect)(proxySpy.calledOnceWith(`/element${mult ? 's' : ''}`, 'POST', {
30
- using: modStrategy || strategy,
31
- value: modSelector,
32
- })).to.be.true;
33
- proxySpy.reset();
34
- }
35
- it('should convert class names from UIA to XCUI', async function () {
36
- await verifyFind('class name', 'UIAButton', 'XCUIElementTypeButton');
37
- await verifyFind('class name', 'UIAMapView', 'XCUIElementTypeMap');
38
- await verifyFind('class name', 'UIAScrollView', 'XCUIElementTypeScrollView');
39
- await verifyFind('class name', 'UIACollectionView', 'XCUIElementTypeCollectionView');
40
- await verifyFind('class name', 'UIATextView', 'XCUIElementTypeTextView');
41
- await verifyFind('class name', 'UIAWebView', 'XCUIElementTypeWebView');
42
- });
43
- it('should convert xpaths from UIA to XCUI', async function () {
44
- await verifyFind('xpath', '//UIAButton', '//XCUIElementTypeButton');
45
- await verifyFind('xpath', '//UIAButton/UIATextField', '//XCUIElementTypeButton/XCUIElementTypeTextField');
46
- await verifyFind('xpath', 'UIAButton//UIATextField', 'XCUIElementTypeButton//XCUIElementTypeTextField');
47
- await verifyFind('xpath', '//UIAButton[@name="foo"]', '//XCUIElementTypeButton[@name="foo"]');
48
- await verifyFind('xpath', '//UIAButton/Weird', '//XCUIElementTypeButton/Weird');
49
- await verifyFind('xpath', '//UIAMapView/UIAScrollView', '//XCUIElementTypeMap/XCUIElementTypeScrollView');
50
- await verifyFind('xpath', '//UIAMapView/UIAScrollView[@name="UIADummyData"]', '//XCUIElementTypeMap/XCUIElementTypeScrollView[@name="UIADummyData"]');
51
- await verifyFind('xpath', '//XCUIElementTypeMap[@name="UIADummyData"]', '//XCUIElementTypeMap[@name="UIADummyData"]');
52
- });
53
- it('should reject request for first visible child with no context', async function () {
54
- await (0, chai_1.expect)(driver.findNativeElementOrElements('xpath', '/*[@firstVisible="true"]', false)).to.be.rejectedWith(/without a context element/);
55
- });
56
- it('should reject request for multiple first visible children', async function () {
57
- await (0, chai_1.expect)(driver.findNativeElementOrElements('xpath', '/*[@firstVisible="true"]', true)).to.be.rejectedWith(/Cannot get multiple/);
58
- });
59
- it('should convert magic first visible child xpath to class chain', async function () {
60
- const variants = [
61
- '/*[@firstVisible="true"]',
62
- "/*[@firstVisible='true']",
63
- "/*[@firstVisible = 'true']",
64
- ];
65
- const attribSpy = sinon_1.default.stub(driver, 'getAttribute');
66
- for (const variant of variants) {
67
- proxySpy
68
- .withArgs('/element/ctx/element', 'POST', { using: 'class chain', value: '*[1]' })
69
- .resolves({ ELEMENT: 1 });
70
- proxySpy
71
- .withArgs('/element/ctx/element', 'POST', { using: 'class chain', value: '*[2]' })
72
- .resolves({ ELEMENT: 2 });
73
- attribSpy.withArgs('visible', { ELEMENT: 1 }).resolves('false');
74
- attribSpy.withArgs('visible', { ELEMENT: 2 }).resolves('true');
75
- const el = await driver.findNativeElementOrElements('xpath', variant, false, {
76
- ELEMENT: 'ctx',
77
- });
78
- (0, chai_1.expect)(proxySpy.calledTwice).to.be.true;
79
- (0, chai_1.expect)(proxySpy.calledWith('/element/ctx/element', 'POST', {
80
- using: 'class chain',
81
- value: '*[1]',
82
- })).to.be.true;
83
- (0, chai_1.expect)(proxySpy.calledWith('/element/ctx/element', 'POST', {
84
- using: 'class chain',
85
- value: '*[2]',
86
- })).to.be.true;
87
- (0, chai_1.expect)(attribSpy.calledTwice).to.be.true;
88
- (0, chai_1.expect)(el).to.eql({ ELEMENT: 2 });
89
- proxySpy.reset();
90
- attribSpy.reset();
91
- }
92
- });
93
- it('should convert magic is scrollable xpath to class chain', async function () {
94
- const multSel = '**/*[`type == "XCUIElementTypeScrollView" OR ' +
95
- 'type == "XCUIElementTypeTable" OR ' +
96
- 'type == "XCUIElementTypeCollectionView" OR ' +
97
- 'type == "XCUIElementTypeWebView"`]';
98
- const singleSel = `${multSel}[1]`;
99
- await verifyFind('xpath', '//*[@scrollable="true"]', singleSel, 'class chain');
100
- await verifyFind('xpath', `//*[@scrollable='true']`, singleSel, 'class chain');
101
- await verifyFind('xpath', `//*[@scrollable = 'true']`, singleSel, 'class chain');
102
- await verifyFind('xpath', '//*[@scrollable="true"]', multSel, 'class chain', true);
103
- });
104
- });
105
- });
106
- //# sourceMappingURL=find-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-specs.js","sourceRoot":"","sources":["../../../../test/unit/commands/find-specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=general-specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"general-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/commands/general-specs.ts"],"names":[],"mappings":""}
@@ -1,154 +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 sinon_1 = __importDefault(require("sinon"));
7
- const lodash_1 = __importDefault(require("lodash"));
8
- const driver_1 = require("../../../lib/driver");
9
- const chai_1 = require("chai");
10
- describe('general commands', function () {
11
- const driver = new driver_1.XCUITestDriver({});
12
- let mockDriver;
13
- beforeEach(function () {
14
- mockDriver = sinon_1.default.mock(driver);
15
- });
16
- afterEach(function () {
17
- mockDriver.verify();
18
- });
19
- describe('background', function () {
20
- it('should deactivate app for the given time if seconds is zero or greater', async function () {
21
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/deactivateApp', 'POST', { duration: 0.5 }, true);
22
- await driver.background(0.5);
23
- });
24
- it('should switch to home screen if seconds less than zero', async function () {
25
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/homescreen', 'POST', {}, false);
26
- await driver.background(-1);
27
- });
28
- it('should switch to home screen if seconds is null', async function () {
29
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/homescreen', 'POST', {}, false);
30
- await driver.background();
31
- });
32
- });
33
- describe('touch id', function () {
34
- /** @type {import('sinon').SinonSandbox} */
35
- let sandbox;
36
- /** @type { {sendBiometricMatch: import('sinon').SinonStub, simctl?: any, devicectl?: any} } */
37
- let device;
38
- beforeEach(function () {
39
- sandbox = sinon_1.default.createSandbox();
40
- device = {
41
- simctl: true,
42
- sendBiometricMatch: sandbox.stub(),
43
- };
44
- driver._device = device;
45
- });
46
- afterEach(function () {
47
- sandbox.restore();
48
- });
49
- it('should send default request to Simulator', async function () {
50
- await driver.touchId();
51
- (0, chai_1.expect)(device.sendBiometricMatch.calledOnceWithExactly(true, 'touchId')).to.be.true;
52
- });
53
- it('should send request to Simulator with false', async function () {
54
- await driver.touchId(false);
55
- (0, chai_1.expect)(device.sendBiometricMatch.calledOnceWithExactly(false, 'touchId')).to.be.true;
56
- });
57
- it('should not be called on a real device', async function () {
58
- delete device.simctl;
59
- device.devicectl = true;
60
- await (0, chai_1.expect)(driver.touchId()).to.be.rejected;
61
- (0, chai_1.expect)(device.sendBiometricMatch.called).to.be.false;
62
- });
63
- });
64
- describe('toggleEnrollTouchID', function () {
65
- /** @type {import('sinon').SinonSandbox} */
66
- let sandbox;
67
- /** @type { {enrollBiometric: import('sinon').SinonStub, simctl?: any, devicectl?: any} } */
68
- let device;
69
- beforeEach(function () {
70
- sandbox = sinon_1.default.createSandbox();
71
- device = {
72
- simctl: true,
73
- enrollBiometric: sandbox.stub(),
74
- };
75
- driver._device = device;
76
- });
77
- afterEach(function () {
78
- sandbox.restore();
79
- });
80
- it('should be called on a Simulator', async function () {
81
- // @ts-expect-error random stuff on opts again
82
- driver.opts.allowTouchIdEnroll = true;
83
- await driver.toggleEnrollTouchId();
84
- (0, chai_1.expect)(device.enrollBiometric.calledOnce).to.be.true;
85
- });
86
- it('should not be called on a real device', async function () {
87
- delete device.simctl;
88
- device.devicectl = true;
89
- // @ts-expect-error random stuff on opts again
90
- driver.opts.allowTouchIdEnroll = true;
91
- await (0, chai_1.expect)(driver.toggleEnrollTouchId()).to.be.rejected;
92
- (0, chai_1.expect)(device.enrollBiometric.called).to.be.false;
93
- });
94
- });
95
- describe('nativeWebTap as a setting', function () {
96
- // create new driver with no opts
97
- let driver, startStub;
98
- const baseCaps = {
99
- firstMatch: [{}],
100
- alwaysMatch: {
101
- platformName: 'iOS',
102
- 'appium:deviceName': 'bar',
103
- 'appium:app': '/fake',
104
- },
105
- };
106
- beforeEach(function () {
107
- driver = new driver_1.XCUITestDriver({});
108
- startStub = sinon_1.default.stub(driver, 'start');
109
- });
110
- afterEach(function () {
111
- startStub.restore();
112
- driver = null;
113
- });
114
- it('should start out with setting defaulting to false', async function () {
115
- (0, chai_1.expect)((await driver.getSettings()).nativeWebTap).to.eql(false);
116
- });
117
- it('should default to value sent in caps after session starts', async function () {
118
- (0, chai_1.expect)((await driver.getSettings()).nativeWebTap).to.eql(false);
119
- await driver.createSession(null, null, lodash_1.default.merge({}, baseCaps, {
120
- alwaysMatch: {
121
- 'appium:nativeWebTap': true,
122
- },
123
- }));
124
- (0, chai_1.expect)((await driver.getSettings()).nativeWebTap).to.eql(true);
125
- });
126
- it('should update opts value based on settings update', async function () {
127
- (0, chai_1.expect)((await driver.getSettings()).nativeWebTap).to.eql(false);
128
- await driver.updateSettings({ nativeWebTap: true });
129
- (0, chai_1.expect)((await driver.getSettings()).nativeWebTap).to.eql(true);
130
- (0, chai_1.expect)(driver.opts.nativeWebTap).to.be.true;
131
- await driver.updateSettings({ nativeWebTap: false });
132
- (0, chai_1.expect)((await driver.getSettings()).nativeWebTap).to.eql(false);
133
- (0, chai_1.expect)(driver.opts.nativeWebTap).to.be.false;
134
- });
135
- });
136
- describe('getDevicePixelRatio and getStatusBarHeight', function () {
137
- before(function () {
138
- mockDriver.expects('proxyCommand').withExactArgs('/wda/screen', 'GET').returns({
139
- statusBarSize: {
140
- width: 100,
141
- height: 20,
142
- },
143
- scale: 3,
144
- });
145
- });
146
- it('should get the pixel ratio from WDA', async function () {
147
- await (0, chai_1.expect)(driver.getDevicePixelRatio()).to.eventually.eql(3);
148
- });
149
- it('should return the height of the status bar', async function () {
150
- await (0, chai_1.expect)(driver.getStatusBarHeight()).to.eventually.eql(20);
151
- });
152
- });
153
- });
154
- //# sourceMappingURL=general-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"general-specs.js","sourceRoot":"","sources":["../../../../test/unit/commands/general-specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=gesture-specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gesture-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/commands/gesture-specs.ts"],"names":[],"mappings":""}
@@ -1,263 +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 sinon_1 = __importDefault(require("sinon"));
7
- const driver_1 = require("../../../lib/driver");
8
- const chai_1 = require("chai");
9
- describe('gesture commands', function () {
10
- const driver = new driver_1.XCUITestDriver({});
11
- let mockDriver;
12
- beforeEach(function () {
13
- mockDriver = sinon_1.default.mock(driver);
14
- });
15
- afterEach(function () {
16
- mockDriver.verify();
17
- });
18
- describe('mobile methods', function () {
19
- describe('anything other than scroll', function () {
20
- it('should throw an error', async function () {
21
- await (0, chai_1.expect)(driver.execute('mobile: somesuch')).to.be.rejected;
22
- });
23
- });
24
- describe('scroll', function () {
25
- it('should throw an error if no scroll type is specified', async function () {
26
- await (0, chai_1.expect)(driver.execute('mobile: scroll', { element: 4 })).to.be.rejectedWith(/Mobile scroll supports the following strategies/);
27
- });
28
- it('should pass through bare element', async function () {
29
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/scroll', 'POST', { direction: 'down' });
30
- await driver.execute('mobile: scroll', { element: 4, direction: 'down' });
31
- });
32
- it('should unpack element object', async function () {
33
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/scroll', 'POST', { direction: 'down' });
34
- await driver.execute('mobile: scroll', { element: { ELEMENT: 4 }, direction: 'down' });
35
- });
36
- it('should pass name strategy exclusively', async function () {
37
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/scroll', 'POST', { name: 'something' });
38
- await driver.execute('mobile: scroll', { element: 4, direction: 'down', name: 'something' });
39
- });
40
- it('should pass direction strategy exclusively', async function () {
41
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/scroll', 'POST', { direction: 'down' });
42
- await driver.execute('mobile: scroll', {
43
- element: 4,
44
- direction: 'down',
45
- predicateString: 'something',
46
- });
47
- });
48
- it('should pass predicateString strategy exclusively', async function () {
49
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/scroll', 'POST', { predicateString: 'something' });
50
- await driver.execute('mobile: scroll', {
51
- element: 4,
52
- toVisible: true,
53
- predicateString: 'something',
54
- });
55
- });
56
- });
57
- describe('swipe', function () {
58
- const commandName = 'swipe';
59
- it('should throw an error if no direction is specified', async function () {
60
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4 })).to.be.rejected;
61
- });
62
- it('should throw an error if invalid direction', async function () {
63
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4, direction: 'foo' })).to.be.rejected;
64
- });
65
- it('should proxy a swipe up request through to WDA', async function () {
66
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/swipe', 'POST', { direction: 'up' });
67
- await driver.execute(`mobile: ${commandName}`, { element: 4, direction: 'up' });
68
- });
69
- });
70
- describe('pinch', function () {
71
- const commandName = 'pinch';
72
- it('should throw an error if no mandatory parameter is specified', async function () {
73
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4, scale: 4.1 })).to.be.rejected;
74
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4, velocity: -0.5 })).to.be.rejected;
75
- });
76
- it('should throw an error if param is invalid', async function () {
77
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4, scale: '', velocity: 1 })).to.be.rejectedWith(/should be a valid number/);
78
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4, scale: 0, velocity: null })).to.be.rejectedWith(/should be a valid number/);
79
- });
80
- it('should proxy a pinch request through to WDA', async function () {
81
- const opts = { element: 4, scale: 1, velocity: '1' };
82
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/pinch', 'POST', {
83
- scale: opts.scale,
84
- velocity: parseInt(opts.velocity, 10),
85
- });
86
- await driver.execute(`mobile: ${commandName}`, opts);
87
- });
88
- });
89
- describe('doubleTap', function () {
90
- const commandName = 'doubleTap';
91
- it('should proxy a doubleTap request without element through to WDA', async function () {
92
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/doubleTap', 'POST', { x: undefined, y: undefined });
93
- await driver.execute(`mobile: ${commandName}`);
94
- });
95
- it('should proxy a doubleTap request for an element through to WDA', async function () {
96
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/doubleTap', 'POST', { x: undefined, y: undefined });
97
- await driver.execute(`mobile: ${commandName}`, { element: 4 });
98
- });
99
- it('should proxy a doubleTap request for a coordinate point through to WDA', async function () {
100
- const opts = { x: 100, y: 100 };
101
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/doubleTap', 'POST', opts);
102
- await driver.execute(`mobile: ${commandName}`, opts);
103
- });
104
- });
105
- describe('twoFingerTap', function () {
106
- const commandName = 'twoFingerTap';
107
- it('should proxy a twoFingerTap request for an element through to WDA', async function () {
108
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/twoFingerTap', 'POST');
109
- await driver.execute(`mobile: ${commandName}`, { element: 4 });
110
- });
111
- });
112
- describe('touchAndHold', function () {
113
- const commandName = 'touchAndHold';
114
- it('should throw an error if no mandatory parameter is specified', async function () {
115
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { x: 100, y: 200 })).to.be.rejected;
116
- });
117
- it('should throw an error if param is invalid', async function () {
118
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { duration: '', x: 1, y: 1 })).to.be.rejectedWith(/should be a valid number/);
119
- });
120
- it('should proxy a touchAndHold request without element through to WDA', async function () {
121
- const opts = { duration: 100 };
122
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/touchAndHold', 'POST', {
123
- ...opts,
124
- x: undefined,
125
- y: undefined,
126
- });
127
- await driver.execute(`mobile: ${commandName}`, opts);
128
- });
129
- it('should proxy a touchAndHold request for an element through to WDA', async function () {
130
- const opts = { elementId: 4, duration: 100 };
131
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/touchAndHold', 'POST', { duration: 100, x: undefined, y: undefined });
132
- await driver.execute(`mobile: ${commandName}`, opts);
133
- });
134
- it('should proxy a touchAndHold request for a coordinate point through to WDA', async function () {
135
- const opts = { duration: 100, x: 100, y: 100 };
136
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/touchAndHold', 'POST', opts);
137
- await driver.execute('mobile: touchAndHold', opts);
138
- });
139
- });
140
- describe('tap', function () {
141
- const commandName = 'tap';
142
- it('should proxy a tap request for an element through to WDA', async function () {
143
- const opts = { elementId: 4, x: 100, y: 100 };
144
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/tap', 'POST', { x: 100, y: 100 });
145
- await driver.execute(`mobile: ${commandName}`, opts);
146
- });
147
- it('should proxy a tap request for a coordinate point through to WDA', async function () {
148
- const opts = { x: 100, y: 100 };
149
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/tap', 'POST', { x: 100, y: 100 });
150
- await driver.execute(`mobile: ${commandName}`, opts);
151
- });
152
- });
153
- describe('selectPickerWheelValue', function () {
154
- const commandName = 'selectPickerWheelValue';
155
- it('should throw an error if no mandatory parameter is specified', async function () {
156
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {})).to.be.rejected;
157
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4 })).to.be.rejected;
158
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { order: 'next' })).to.be.rejected;
159
- });
160
- it('should throw an error if offset value cannot be parsed', async function () {
161
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4, order: 'next', offset: 'bla' })).to.be.rejectedWith(/should be a valid number/);
162
- });
163
- it('should throw an error if param is invalid', async function () {
164
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { element: 4, order: 'bla' })).to.be.rejectedWith(/is expected to be equal/);
165
- });
166
- it('should proxy a selectPickerWheel request for an element through to WDA', async function () {
167
- const opts = { elementId: 4, order: 'next', offset: 0.3 };
168
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/pickerwheel/4/select', 'POST', { order: 'next', offset: 0.3 });
169
- await driver.execute(`mobile: ${commandName}`, opts);
170
- });
171
- });
172
- describe('dragFromToForDuration', function () {
173
- const commandName = 'dragFromToForDuration';
174
- it('should throw an error if no mandatory parameter is specified', async function () {
175
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { fromX: 1, fromY: 1, toX: 100, toY: 100 })).to.be.rejected;
176
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {
177
- duration: 100,
178
- fromY: 1,
179
- toX: 100,
180
- toY: 100,
181
- })).to.be.rejected;
182
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {
183
- duration: 100,
184
- fromX: 1,
185
- toX: 100,
186
- toY: 100,
187
- })).to.be.rejected;
188
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {
189
- duration: 100,
190
- fromX: 1,
191
- fromY: 1,
192
- toY: 100,
193
- })).to.be.rejected;
194
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {
195
- duration: 100,
196
- fromX: 1,
197
- fromY: 1,
198
- toX: 100,
199
- })).to.be.rejected;
200
- });
201
- it('should throw an error if param is invalid', async function () {
202
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, { duration: '', fromX: 1, fromY: 1, toX: 100, toY: 100 })).to.be.rejectedWith(/should be a valid number/);
203
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {
204
- duration: 100,
205
- fromX: '',
206
- fromY: 1,
207
- toX: 100,
208
- toY: 100,
209
- })).to.be.rejectedWith(/should be a valid number/);
210
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {
211
- duration: 100,
212
- fromX: 1,
213
- fromY: null,
214
- toX: 100,
215
- toY: 100,
216
- })).to.be.rejectedWith(/should be a valid number/);
217
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {
218
- duration: 100,
219
- fromX: 1,
220
- fromY: 1,
221
- toX: 'blabla',
222
- toY: 100,
223
- })).to.be.rejectedWith(/should be a valid number/);
224
- await (0, chai_1.expect)(driver.execute(`mobile: ${commandName}`, {
225
- duration: 100,
226
- fromX: 1,
227
- fromY: 1,
228
- toX: 100,
229
- toY: NaN,
230
- })).to.be.rejectedWith(/should be a valid number/);
231
- });
232
- it('should proxy a dragFromToForDuration request for an element through to WDA', async function () {
233
- const opts = { element: 4, duration: 100, fromX: 1, fromY: 1, toX: 100, toY: 100 };
234
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/element/4/dragfromtoforduration', 'POST', {
235
- duration: 100,
236
- fromX: 1,
237
- fromY: 1,
238
- toX: 100,
239
- toY: 100,
240
- });
241
- await driver.execute(`mobile: ${commandName}`, opts);
242
- });
243
- it('should proxy a dragFromToForDuration request for a coordinate point through to WDA', async function () {
244
- const opts = { duration: 100, fromX: 1, fromY: 1, toX: 100, toY: 100 };
245
- mockDriver.expects('proxyCommand').once().withExactArgs('/wda/dragfromtoforduration', 'POST', {
246
- duration: 100,
247
- fromX: 1,
248
- fromY: 1,
249
- toX: 100,
250
- toY: 100,
251
- });
252
- await driver.execute(`mobile: ${commandName}`, opts);
253
- });
254
- });
255
- });
256
- });
257
- describe('W3C actions', function () {
258
- const driver = new driver_1.XCUITestDriver({});
259
- it('releaseActions should exist and do nothing', async function () {
260
- await driver.releaseActions();
261
- });
262
- });
263
- //# sourceMappingURL=gesture-specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gesture-specs.js","sourceRoot":"","sources":["../../../../test/unit/commands/gesture-specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=location-specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"location-specs.d.ts","sourceRoot":"","sources":["../../../../test/unit/commands/location-specs.ts"],"names":[],"mappings":""}