@limrun/appium-xcuitest-driver 10.11.0-lim.4 → 10.14.6-lim.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 (279) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/build/lib/commands/active-app-info.d.ts +4 -3
  3. package/build/lib/commands/active-app-info.d.ts.map +1 -1
  4. package/build/lib/commands/active-app-info.js +2 -3
  5. package/build/lib/commands/active-app-info.js.map +1 -1
  6. package/build/lib/commands/alert.d.ts +26 -31
  7. package/build/lib/commands/alert.d.ts.map +1 -1
  8. package/build/lib/commands/alert.js +20 -29
  9. package/build/lib/commands/alert.js.map +1 -1
  10. package/build/lib/commands/app-management.d.ts +99 -76
  11. package/build/lib/commands/app-management.d.ts.map +1 -1
  12. package/build/lib/commands/app-management.js +83 -73
  13. package/build/lib/commands/app-management.js.map +1 -1
  14. package/build/lib/commands/app-strings.d.ts +6 -7
  15. package/build/lib/commands/app-strings.d.ts.map +1 -1
  16. package/build/lib/commands/app-strings.js +3 -8
  17. package/build/lib/commands/app-strings.js.map +1 -1
  18. package/build/lib/commands/appearance.d.ts +7 -9
  19. package/build/lib/commands/appearance.d.ts.map +1 -1
  20. package/build/lib/commands/appearance.js +13 -19
  21. package/build/lib/commands/appearance.js.map +1 -1
  22. package/build/lib/commands/audit.d.ts +5 -33
  23. package/build/lib/commands/audit.d.ts.map +1 -1
  24. package/build/lib/commands/audit.js +3 -16
  25. package/build/lib/commands/audit.js.map +1 -1
  26. package/build/lib/commands/battery.d.ts +4 -4
  27. package/build/lib/commands/battery.d.ts.map +1 -1
  28. package/build/lib/commands/battery.js +3 -7
  29. package/build/lib/commands/battery.js.map +1 -1
  30. package/build/lib/commands/biometric.d.ts +12 -14
  31. package/build/lib/commands/biometric.d.ts.map +1 -1
  32. package/build/lib/commands/biometric.js +10 -19
  33. package/build/lib/commands/biometric.js.map +1 -1
  34. package/build/lib/commands/certificate.d.ts +14 -19
  35. package/build/lib/commands/certificate.d.ts.map +1 -1
  36. package/build/lib/commands/certificate.js +24 -31
  37. package/build/lib/commands/certificate.js.map +1 -1
  38. package/build/lib/commands/clipboard.d.ts +9 -11
  39. package/build/lib/commands/clipboard.d.ts.map +1 -1
  40. package/build/lib/commands/clipboard.js +8 -13
  41. package/build/lib/commands/clipboard.js.map +1 -1
  42. package/build/lib/commands/condition.d.ts +9 -72
  43. package/build/lib/commands/condition.d.ts.map +1 -1
  44. package/build/lib/commands/condition.js +5 -66
  45. package/build/lib/commands/condition.js.map +1 -1
  46. package/build/lib/commands/content-size.d.ts +16 -19
  47. package/build/lib/commands/content-size.d.ts.map +1 -1
  48. package/build/lib/commands/content-size.js +14 -22
  49. package/build/lib/commands/content-size.js.map +1 -1
  50. package/build/lib/commands/context.d.ts +130 -161
  51. package/build/lib/commands/context.d.ts.map +1 -1
  52. package/build/lib/commands/context.js +123 -108
  53. package/build/lib/commands/context.js.map +1 -1
  54. package/build/lib/commands/device-info.d.ts +13 -0
  55. package/build/lib/commands/device-info.d.ts.map +1 -0
  56. package/build/lib/commands/device-info.js +20 -0
  57. package/build/lib/commands/device-info.js.map +1 -0
  58. package/build/lib/commands/element.d.ts +83 -67
  59. package/build/lib/commands/element.d.ts.map +1 -1
  60. package/build/lib/commands/element.js +111 -134
  61. package/build/lib/commands/element.js.map +1 -1
  62. package/build/lib/commands/execute.d.ts +10 -22
  63. package/build/lib/commands/execute.d.ts.map +1 -1
  64. package/build/lib/commands/execute.js +13 -29
  65. package/build/lib/commands/execute.js.map +1 -1
  66. package/build/lib/commands/file-movement.d.ts +31 -42
  67. package/build/lib/commands/file-movement.d.ts.map +1 -1
  68. package/build/lib/commands/file-movement.js +146 -205
  69. package/build/lib/commands/file-movement.js.map +1 -1
  70. package/build/lib/commands/find.d.ts +20 -12
  71. package/build/lib/commands/find.d.ts.map +1 -1
  72. package/build/lib/commands/find.js +27 -65
  73. package/build/lib/commands/find.js.map +1 -1
  74. package/build/lib/commands/general.d.ts +84 -80
  75. package/build/lib/commands/general.d.ts.map +1 -1
  76. package/build/lib/commands/general.js +67 -54
  77. package/build/lib/commands/general.js.map +1 -1
  78. package/build/lib/commands/geolocation.d.ts +16 -36
  79. package/build/lib/commands/geolocation.d.ts.map +1 -1
  80. package/build/lib/commands/geolocation.js +8 -25
  81. package/build/lib/commands/geolocation.js.map +1 -1
  82. package/build/lib/commands/gesture.d.ts +103 -119
  83. package/build/lib/commands/gesture.d.ts.map +1 -1
  84. package/build/lib/commands/gesture.js +98 -138
  85. package/build/lib/commands/gesture.js.map +1 -1
  86. package/build/lib/commands/increase-contrast.d.ts +10 -13
  87. package/build/lib/commands/increase-contrast.d.ts.map +1 -1
  88. package/build/lib/commands/increase-contrast.js +8 -16
  89. package/build/lib/commands/increase-contrast.js.map +1 -1
  90. package/build/lib/commands/iohid.d.ts +6 -1359
  91. package/build/lib/commands/iohid.d.ts.map +1 -1
  92. package/build/lib/commands/iohid.js +5 -10
  93. package/build/lib/commands/iohid.js.map +1 -1
  94. package/build/lib/commands/keyboard.d.ts +16 -13
  95. package/build/lib/commands/keyboard.d.ts.map +1 -1
  96. package/build/lib/commands/keyboard.js +14 -18
  97. package/build/lib/commands/keyboard.js.map +1 -1
  98. package/build/lib/commands/keychains.d.ts +2 -2
  99. package/build/lib/commands/keychains.d.ts.map +1 -1
  100. package/build/lib/commands/keychains.js +1 -4
  101. package/build/lib/commands/keychains.js.map +1 -1
  102. package/build/lib/commands/localization.d.ts +7 -6
  103. package/build/lib/commands/localization.d.ts.map +1 -1
  104. package/build/lib/commands/localization.js +7 -8
  105. package/build/lib/commands/localization.js.map +1 -1
  106. package/build/lib/commands/location.d.ts +8 -11
  107. package/build/lib/commands/location.d.ts.map +1 -1
  108. package/build/lib/commands/location.js +7 -15
  109. package/build/lib/commands/location.js.map +1 -1
  110. package/build/lib/commands/lock.d.ts +6 -10
  111. package/build/lib/commands/lock.d.ts.map +1 -1
  112. package/build/lib/commands/lock.js +3 -10
  113. package/build/lib/commands/lock.js.map +1 -1
  114. package/build/lib/commands/log.d.ts +42 -44
  115. package/build/lib/commands/log.d.ts.map +1 -1
  116. package/build/lib/commands/log.js +32 -53
  117. package/build/lib/commands/log.js.map +1 -1
  118. package/build/lib/commands/memory.d.ts +4 -5
  119. package/build/lib/commands/memory.d.ts.map +1 -1
  120. package/build/lib/commands/memory.js +3 -8
  121. package/build/lib/commands/memory.js.map +1 -1
  122. package/build/lib/commands/navigation.d.ts +14 -26
  123. package/build/lib/commands/navigation.d.ts.map +1 -1
  124. package/build/lib/commands/navigation.js +22 -32
  125. package/build/lib/commands/navigation.js.map +1 -1
  126. package/build/lib/commands/notifications.d.ts +10 -10
  127. package/build/lib/commands/notifications.d.ts.map +1 -1
  128. package/build/lib/commands/notifications.js +8 -12
  129. package/build/lib/commands/notifications.js.map +1 -1
  130. package/build/lib/commands/pasteboard.d.ts +9 -10
  131. package/build/lib/commands/pasteboard.d.ts.map +1 -1
  132. package/build/lib/commands/pasteboard.js +8 -13
  133. package/build/lib/commands/pasteboard.js.map +1 -1
  134. package/build/lib/commands/pcap.d.ts +18 -38
  135. package/build/lib/commands/pcap.d.ts.map +1 -1
  136. package/build/lib/commands/pcap.js +9 -14
  137. package/build/lib/commands/pcap.js.map +1 -1
  138. package/build/lib/commands/performance.d.ts +36 -55
  139. package/build/lib/commands/performance.d.ts.map +1 -1
  140. package/build/lib/commands/performance.js +93 -86
  141. package/build/lib/commands/performance.js.map +1 -1
  142. package/build/lib/commands/permissions.d.ts +15 -17
  143. package/build/lib/commands/permissions.d.ts.map +1 -1
  144. package/build/lib/commands/permissions.js +12 -18
  145. package/build/lib/commands/permissions.js.map +1 -1
  146. package/build/lib/commands/proxy-helper.d.ts +11 -11
  147. package/build/lib/commands/proxy-helper.d.ts.map +1 -1
  148. package/build/lib/commands/proxy-helper.js +15 -24
  149. package/build/lib/commands/proxy-helper.js.map +1 -1
  150. package/build/lib/commands/record-audio.d.ts +25 -52
  151. package/build/lib/commands/record-audio.d.ts.map +1 -1
  152. package/build/lib/commands/record-audio.js +17 -19
  153. package/build/lib/commands/record-audio.js.map +1 -1
  154. package/build/lib/commands/recordscreen.d.ts +31 -62
  155. package/build/lib/commands/recordscreen.d.ts.map +1 -1
  156. package/build/lib/commands/recordscreen.js +29 -28
  157. package/build/lib/commands/recordscreen.js.map +1 -1
  158. package/build/lib/commands/screenshots.d.ts +15 -9
  159. package/build/lib/commands/screenshots.d.ts.map +1 -1
  160. package/build/lib/commands/screenshots.js +16 -16
  161. package/build/lib/commands/screenshots.js.map +1 -1
  162. package/build/lib/commands/simctl.d.ts +16 -22
  163. package/build/lib/commands/simctl.d.ts.map +1 -1
  164. package/build/lib/commands/simctl.js +13 -17
  165. package/build/lib/commands/simctl.js.map +1 -1
  166. package/build/lib/commands/source.d.ts +10 -8
  167. package/build/lib/commands/source.d.ts.map +1 -1
  168. package/build/lib/commands/source.js +11 -14
  169. package/build/lib/commands/source.js.map +1 -1
  170. package/build/lib/commands/timeouts.d.ts +25 -32
  171. package/build/lib/commands/timeouts.d.ts.map +1 -1
  172. package/build/lib/commands/timeouts.js +19 -15
  173. package/build/lib/commands/timeouts.js.map +1 -1
  174. package/build/lib/commands/types.d.ts +80 -0
  175. package/build/lib/commands/types.d.ts.map +1 -1
  176. package/build/lib/commands/web.d.ts +199 -202
  177. package/build/lib/commands/web.d.ts.map +1 -1
  178. package/build/lib/commands/web.js +216 -175
  179. package/build/lib/commands/web.js.map +1 -1
  180. package/build/lib/commands/xctest-record-screen.d.ts +17 -47
  181. package/build/lib/commands/xctest-record-screen.d.ts.map +1 -1
  182. package/build/lib/commands/xctest-record-screen.js +28 -59
  183. package/build/lib/commands/xctest-record-screen.js.map +1 -1
  184. package/build/lib/commands/xctest.d.ts +37 -37
  185. package/build/lib/commands/xctest.d.ts.map +1 -1
  186. package/build/lib/commands/xctest.js +38 -50
  187. package/build/lib/commands/xctest.js.map +1 -1
  188. package/build/lib/desired-caps.js +1 -1
  189. package/build/lib/device/log/ios-simulator-log.d.ts.map +1 -1
  190. package/build/lib/device/log/ios-simulator-log.js +2 -0
  191. package/build/lib/device/log/ios-simulator-log.js.map +1 -1
  192. package/build/lib/device/simulator-management.d.ts.map +1 -1
  193. package/build/lib/device/simulator-management.js +0 -2
  194. package/build/lib/device/simulator-management.js.map +1 -1
  195. package/build/lib/doctor/optional-checks.d.ts +0 -9
  196. package/build/lib/doctor/optional-checks.d.ts.map +1 -1
  197. package/build/lib/doctor/optional-checks.js +1 -30
  198. package/build/lib/doctor/optional-checks.js.map +1 -1
  199. package/build/lib/driver.d.ts +6 -5
  200. package/build/lib/driver.d.ts.map +1 -1
  201. package/build/lib/driver.js +16 -14
  202. package/build/lib/driver.js.map +1 -1
  203. package/build/lib/execute-method-map.d.ts.map +1 -1
  204. package/build/lib/execute-method-map.js +0 -9
  205. package/build/lib/execute-method-map.js.map +1 -1
  206. package/lib/commands/active-app-info.ts +15 -0
  207. package/lib/commands/alert.ts +98 -0
  208. package/lib/commands/app-management.ts +414 -0
  209. package/lib/commands/{app-strings.js → app-strings.ts} +10 -9
  210. package/lib/commands/appearance.ts +70 -0
  211. package/lib/commands/audit.ts +25 -0
  212. package/lib/commands/{battery.js → battery.ts} +10 -12
  213. package/lib/commands/biometric.ts +52 -0
  214. package/lib/commands/{certificate.js → certificate.ts} +55 -50
  215. package/lib/commands/clipboard.ts +37 -0
  216. package/lib/commands/{condition.js → condition.ts} +21 -77
  217. package/lib/commands/content-size.ts +67 -0
  218. package/lib/commands/{context.js → context.ts} +174 -146
  219. package/lib/commands/device-info.ts +24 -0
  220. package/lib/commands/element.ts +419 -0
  221. package/lib/commands/{execute.js → execute.ts} +42 -38
  222. package/lib/commands/{file-movement.js → file-movement.ts} +212 -235
  223. package/lib/commands/find.ts +277 -0
  224. package/lib/commands/{general.js → general.ts} +102 -77
  225. package/lib/commands/geolocation.ts +55 -0
  226. package/lib/commands/{gesture.js → gesture.ts} +225 -183
  227. package/lib/commands/increase-contrast.ts +49 -0
  228. package/lib/commands/{iohid.js → iohid.ts} +15 -13
  229. package/lib/commands/keyboard.ts +70 -0
  230. package/lib/commands/keychains.ts +16 -0
  231. package/lib/commands/{localization.js → localization.ts} +22 -12
  232. package/lib/commands/{location.js → location.ts} +19 -22
  233. package/lib/commands/lock.ts +43 -0
  234. package/lib/commands/{log.js → log.ts} +68 -68
  235. package/lib/commands/{memory.js → memory.ts} +9 -9
  236. package/lib/commands/{navigation.js → navigation.ts} +42 -39
  237. package/lib/commands/{notifications.js → notifications.ts} +22 -14
  238. package/lib/commands/pasteboard.ts +44 -0
  239. package/lib/commands/{pcap.js → pcap.ts} +28 -28
  240. package/lib/commands/{performance.js → performance.ts} +133 -114
  241. package/lib/commands/permissions.ts +90 -0
  242. package/lib/commands/{proxy-helper.js → proxy-helper.ts} +26 -26
  243. package/lib/commands/{record-audio.js → record-audio.ts} +35 -33
  244. package/lib/commands/{recordscreen.js → recordscreen.ts} +78 -50
  245. package/lib/commands/{screenshots.js → screenshots.ts} +27 -21
  246. package/lib/commands/simctl.ts +82 -0
  247. package/lib/commands/{source.js → source.ts} +23 -20
  248. package/lib/commands/timeouts.ts +95 -0
  249. package/lib/commands/types.ts +86 -0
  250. package/lib/commands/{web.js → web.ts} +314 -264
  251. package/lib/commands/{xctest-record-screen.js → xctest-record-screen.ts} +54 -71
  252. package/lib/commands/{xctest.js → xctest.ts} +78 -71
  253. package/lib/desired-caps.ts +1 -1
  254. package/lib/device/log/ios-simulator-log.ts +2 -0
  255. package/lib/device/simulator-management.ts +0 -2
  256. package/lib/doctor/optional-checks.ts +0 -33
  257. package/lib/driver.ts +19 -17
  258. package/lib/execute-method-map.ts +0 -9
  259. package/package.json +6 -6
  260. package/lib/commands/active-app-info.js +0 -12
  261. package/lib/commands/alert.js +0 -88
  262. package/lib/commands/app-management.js +0 -346
  263. package/lib/commands/appearance.js +0 -71
  264. package/lib/commands/audit.js +0 -31
  265. package/lib/commands/biometric.js +0 -52
  266. package/lib/commands/clipboard.js +0 -35
  267. package/lib/commands/content-size.js +0 -68
  268. package/lib/commands/deviceInfo.js +0 -27
  269. package/lib/commands/element.js +0 -423
  270. package/lib/commands/find.js +0 -205
  271. package/lib/commands/geolocation.js +0 -56
  272. package/lib/commands/increase-contrast.js +0 -50
  273. package/lib/commands/keyboard.js +0 -62
  274. package/lib/commands/keychains.js +0 -17
  275. package/lib/commands/lock.js +0 -46
  276. package/lib/commands/pasteboard.js +0 -43
  277. package/lib/commands/permissions.js +0 -85
  278. package/lib/commands/simctl.js +0 -71
  279. package/lib/commands/timeouts.js +0 -68
@@ -39,16 +39,13 @@ const DEFAULT_REMOTE_DEBUGGER_CONNECT_TIMEOUT_MS = 5000;
39
39
  const DEFAULT_LIST_WEB_FRAMES_RETRIES = 20;
40
40
  const DEFAULT_NATIVE_WINDOW_HANDLE = '1';
41
41
  /**
42
- * @this {XCUITestDriver}
43
- * @param {boolean} [useUrl=false]
44
- * @returns {Promise<import('./types').ViewContext[]>}
42
+ * Retrieves the list of available contexts and their associated views.
43
+ *
44
+ * @param useUrl - Whether to filter webviews by URL
45
45
  */
46
46
  async function getContextsAndViews(useUrl = true) {
47
47
  this.log.debug('Retrieving contexts and views');
48
48
  const webviews = await this.listWebFrames(useUrl);
49
- /**
50
- * @type {import('./types').ViewContext[]}
51
- */
52
49
  const ctxs = [{ id: utils_1.NATIVE_WIN, view: {} }];
53
50
  this.contexts = [utils_1.NATIVE_WIN];
54
51
  for (const view of webviews) {
@@ -58,16 +55,15 @@ async function getContextsAndViews(useUrl = true) {
58
55
  return ctxs;
59
56
  }
60
57
  /**
61
- * @deprecated this method is not used anywhere and will be removed in the future
62
- * @this {XCUITestDriver}
63
- * @returns {boolean}
58
+ * @deprecated This method is not used anywhere and will be removed in the future
64
59
  */
65
60
  function useNewSafari() {
66
61
  return this.isSimulator() && this.isSafari();
67
62
  }
68
63
  /**
69
- * @this {XCUITestDriver}
70
- * @returns {Promise<void>}
64
+ * Activates the most recently available webview context.
65
+ *
66
+ * @throws {Error} If no webview is available or if the remote debugger cannot connect
71
67
  */
72
68
  async function activateRecentWebview() {
73
69
  this.log.debug('Activating a recent webview');
@@ -78,7 +74,7 @@ async function activateRecentWebview() {
78
74
  await this.setContext(contextId);
79
75
  return;
80
76
  }
81
- const appDict = ( /** @type {RemoteDebugger} */(this.remote)).appDict;
77
+ const appDict = this.remote.appDict;
82
78
  const errSuffix = `Make sure your web application is debuggable ` +
83
79
  `and could be inspected in Safari Web Inspector.`;
84
80
  if (lodash_1.default.isEmpty(appDict)) {
@@ -104,19 +100,20 @@ async function activateRecentWebview() {
104
100
  }
105
101
  }
106
102
  /**
107
- * @this {XCUITestDriver}
108
- * @returns {Promise<import('../types').Page[]>}
103
+ * Lists all available web frames (pages) from the remote debugger.
104
+ *
105
+ * @param useUrl - Whether to filter pages by the current URL
109
106
  */
110
107
  async function listWebFrames(useUrl = true) {
111
108
  const shouldFilterByUrl = useUrl && !this.isRealDevice() && !!this.getCurrentUrl();
112
109
  this.log.debug(`Selecting by url: ${shouldFilterByUrl}` +
113
110
  (shouldFilterByUrl ? ` (expected url: '${this.getCurrentUrl()}')` : ''));
114
- if (!this.remote) {
111
+ if (!this._remote) {
115
112
  await this.connectToRemoteDebugger();
116
113
  }
117
- const doListPages = async (/** @type {number} */ retries) => {
114
+ const doListPages = async (retries) => {
118
115
  try {
119
- const pageArray = await ( /** @type {RemoteDebugger} */(this.remote)).selectApp(shouldFilterByUrl ? this.getCurrentUrl() : undefined, retries, this.opts.ignoreAboutBlankUrl);
116
+ const pageArray = await this.remote.selectApp(shouldFilterByUrl ? this.getCurrentUrl() : undefined, retries, this.opts.ignoreAboutBlankUrl);
120
117
  if (lodash_1.default.isEmpty(pageArray)) {
121
118
  // we have no web frames, but continue anyway
122
119
  this.log.debug(`No web frames found after ${support_1.util.pluralize('retry', retries, true)}`);
@@ -128,9 +125,8 @@ async function listWebFrames(useUrl = true) {
128
125
  return [];
129
126
  }
130
127
  };
131
- /** @type {number} */
132
128
  const maxRetriesCount = lodash_1.default.isInteger(this.opts.webviewConnectRetries)
133
- ? Math.max(/** @type {number} */ (this.opts.webviewConnectRetries), 1)
129
+ ? Math.max(this.opts.webviewConnectRetries, 1)
134
130
  : DEFAULT_LIST_WEB_FRAMES_RETRIES;
135
131
  this.log.debug(`About to select a web application with ${support_1.util.pluralize('retry', maxRetriesCount, true)} ` +
136
132
  `and 500ms interval between each retry. Consider customizing the value of 'webviewConnectRetries' ` +
@@ -138,11 +134,10 @@ async function listWebFrames(useUrl = true) {
138
134
  return await doListPages(maxRetriesCount);
139
135
  }
140
136
  /**
141
- * @this {XCUITestDriver}
142
- * @returns {Promise<void>}
137
+ * Establishes a connection to the remote debugger and sets up event listeners.
143
138
  */
144
139
  async function connectToRemoteDebugger() {
145
- this.remote = await this.getNewRemoteDebugger();
140
+ this._remote = await this.getNewRemoteDebugger();
146
141
  // @ts-ignore static is fine
147
142
  this.remote.on(appium_remote_debugger_1.RemoteDebugger.EVENT_PAGE_CHANGE, this.onPageChange.bind(this));
148
143
  // @ts-ignore static is fine
@@ -172,14 +167,14 @@ async function connectToRemoteDebugger() {
172
167
  * client code would have to connect to each of them in order to detect the
173
168
  * one which needs to be interacted with. This extra effort is not needed with
174
169
  * the information provided by this extension.
175
- * @param {number} [waitForWebviewMs=0] - The period to poll for available webview(s) (in ms)
176
- * @returns {Promise<Context[]>} The list of available context objects along with their properties.
177
- * @this {XCUITestDriver}
170
+ *
171
+ * @param waitForWebviewMs - The period to poll for available webview(s) (in ms)
172
+ * @returns The list of available context objects along with their properties.
178
173
  */
179
174
  async function mobileGetContexts(waitForWebviewMs = 0) {
180
175
  // make sure it is a number, so the duration check works properly
181
176
  if (!lodash_1.default.isNumber(waitForWebviewMs)) {
182
- waitForWebviewMs = parseInt(waitForWebviewMs, 10);
177
+ waitForWebviewMs = parseInt(String(waitForWebviewMs), 10);
183
178
  if (isNaN(waitForWebviewMs)) {
184
179
  waitForWebviewMs = 0;
185
180
  }
@@ -188,10 +183,9 @@ async function mobileGetContexts(waitForWebviewMs = 0) {
188
183
  this.opts.fullContextList = true;
189
184
  const timer = new support_1.timing.Timer().start();
190
185
  try {
191
- /** @type {FullContext[]} */
192
186
  let contexts;
193
187
  do {
194
- contexts = /** @type {FullContext[]} */ (await this.getContexts());
188
+ contexts = await this.getContexts();
195
189
  if (contexts.length >= 2) {
196
190
  this.log.debug(`Found webview context after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
197
191
  return contexts;
@@ -206,9 +200,11 @@ async function mobileGetContexts(waitForWebviewMs = 0) {
206
200
  }
207
201
  }
208
202
  /**
209
- * @this {XCUITestDriver}
210
- * @param {import('./types').PageChangeNotification} pageChangeNotification
211
- * @returns {Promise<void>}
203
+ * Handles page change notifications from the remote debugger.
204
+ *
205
+ * Updates the current context when new pages are detected or when pages are closed.
206
+ *
207
+ * @param pageChangeNotification - The notification containing page array and app ID
212
208
  */
213
209
  async function onPageChange(pageChangeNotification) {
214
210
  this.log.debug(`Remote debugger notified us of a new page listing: ${JSON.stringify(pageChangeNotification)}`);
@@ -216,16 +212,13 @@ async function onPageChange(pageChangeNotification) {
216
212
  this.log.debug('We are in the middle of selecting a page, ignoring');
217
213
  return;
218
214
  }
219
- if (!this.remote?.isConnected) {
215
+ if (!this._remote?.isConnected) {
220
216
  this.log.debug('We have not yet connected, ignoring');
221
217
  return;
222
218
  }
223
219
  const { appIdKey, pageArray } = pageChangeNotification;
224
- /** @type {string[]} */
225
220
  const newIds = [];
226
- /** @type {string[]} */
227
221
  const newPages = [];
228
- /** @type {string|null} */
229
222
  let keyId = null;
230
223
  for (const page of pageArray) {
231
224
  const id = page.id.toString();
@@ -261,10 +254,9 @@ async function onPageChange(pageChangeNotification) {
261
254
  this.log.debug('Page change not referring to currently selected app, ignoring.');
262
255
  return;
263
256
  }
264
- /** @type {string|null} */
265
257
  let newPage = null;
266
258
  if (newPages.length) {
267
- newPage = /** @type {string} */ (lodash_1.default.last(newPages));
259
+ newPage = lodash_1.default.last(newPages);
268
260
  this.log.debug(`We have new pages, selecting page '${newPage}'`);
269
261
  }
270
262
  else if (!lodash_1.default.includes(newIds, curPageIdKey)) {
@@ -311,41 +303,50 @@ async function onPageChange(pageChangeNotification) {
311
303
  }
312
304
  }
313
305
  /**
314
- * @this {XCUITestDriver}
315
- * @returns {Promise<void>}
306
+ * Disconnects from the remote debugger and cleans up context state.
316
307
  */
317
- async function stopRemote(closeWindowBeforeDisconnecting = false) {
318
- if (!this.remote) {
319
- throw this.log.errorWithException('Tried to leave a web frame but were not in one');
320
- }
321
- if (closeWindowBeforeDisconnecting) {
322
- await this.closeWindow();
323
- }
324
- await this.remote.disconnect();
325
- this.curContext = null;
326
- await notifyBiDiContextChange.bind(this)();
327
- this.curWebFrames = [];
328
- this.remote = null;
308
+ async function stopRemote() {
309
+ if (!this._remote) {
310
+ return;
311
+ }
312
+ try {
313
+ await this.remote.disconnect();
314
+ this.curContext = null;
315
+ try {
316
+ await notifyBiDiContextChange.bind(this)();
317
+ }
318
+ catch (err) {
319
+ this.log.warn(`Failed to notify BiDi context change: ${err.message}`);
320
+ }
321
+ }
322
+ finally {
323
+ this.curWebFrames = [];
324
+ this._remote = null;
325
+ }
329
326
  }
330
327
  /**
331
- * @this {XCUITestDriver}
332
- * @param {string|null} url
328
+ * Sets the current URL for the active webview context.
329
+ *
330
+ * @param url - The URL to set, or null to clear
333
331
  */
334
332
  function setCurrentUrl(url) {
335
333
  this._currentUrl = url;
336
334
  }
337
335
  /**
338
- * @this {XCUITestDriver}
339
- * @returns {string|undefined|null}
336
+ * Gets the current URL for the active webview context.
337
+ *
338
+ * @returns The current URL, or undefined/null if not set
340
339
  */
341
340
  function getCurrentUrl() {
342
341
  return this._currentUrl;
343
342
  }
344
343
  /**
345
- * @param {RegExp} titleRegExp
346
- * @param {RegExp} urlRegExp
347
- * @this {XCUITestDriver}
348
- * @returns {Promise<string|undefined>}
344
+ * Finds the most recent webview context ID matching the given title or URL patterns.
345
+ *
346
+ * @param titleRegExp - Regular expression to match against page titles
347
+ * @param urlRegExp - Regular expression to match against page URLs
348
+ * @returns The matching context ID, or undefined if no match is found
349
+ * @throws {errors.InvalidArgumentError} If neither regex is provided
349
350
  */
350
351
  async function getRecentWebviewContextId(titleRegExp, urlRegExp) {
351
352
  if (!lodash_1.default.isRegExp(titleRegExp) && !lodash_1.default.isRegExp(urlRegExp)) {
@@ -364,30 +365,35 @@ async function getRecentWebviewContextId(titleRegExp, urlRegExp) {
364
365
  return contexts.find(({ view }) => (view?.title && titleRegExp?.test(view.title)) || (view?.url && urlRegExp?.test(view.url)))?.id;
365
366
  }
366
367
  /**
367
- * @this {XCUITestDriver}
368
- * @returns {boolean}
368
+ * Checks if the current context is a web context (not native).
369
+ *
370
+ * @returns True if currently in a web context
369
371
  */
370
372
  function isWebContext() {
371
373
  return !!this.curContext && this.curContext !== utils_1.NATIVE_WIN;
372
374
  }
373
375
  /**
374
- * @this {XCUITestDriver}
375
- * @returns {boolean}
376
+ * Checks if the current context is a webview.
377
+ *
378
+ * This is an alias for {@linkcode isWebContext}.
379
+ *
380
+ * @returns True if currently in a webview context
376
381
  */
377
382
  function isWebview() {
378
383
  return this.isWebContext();
379
384
  }
380
385
  /**
381
- * @this {XCUITestDriver}
382
- * @returns {Promise<RemoteDebugger>}
386
+ * Creates a new remote debugger instance configured for the current device.
387
+ *
388
+ * @returns A configured RemoteDebugger instance
383
389
  */
384
390
  async function getNewRemoteDebugger() {
385
391
  const socketPath = this.isRealDevice()
386
392
  ? undefined
387
- : (await /** @type {import('appium-ios-simulator').Simulator} */ (this.device).getWebInspectorSocket() ?? undefined);
393
+ : (await this.device.getWebInspectorSocket() ?? undefined);
388
394
  return (0, appium_remote_debugger_1.createRemoteDebugger)({
389
395
  bundleId: this.opts.bundleId,
390
- additionalBundleIds: /** @type {string[] | undefined} */ (this.opts.additionalWebviewBundleIds),
396
+ additionalBundleIds: this.opts.additionalWebviewBundleIds,
391
397
  isSafari: this.isSafari(),
392
398
  includeSafari: this.opts.includeSafariInWebviews,
393
399
  pageLoadMs: this.pageLoadMs,
@@ -397,7 +403,7 @@ async function getNewRemoteDebugger() {
397
403
  garbageCollectOnExecute: support_1.util.hasValue(this.opts.safariGarbageCollect)
398
404
  ? !!this.opts.safariGarbageCollect
399
405
  : false,
400
- udid: /** @type {string} */ (this.opts.udid),
406
+ udid: this.opts.udid,
401
407
  logAllCommunication: this.opts.safariLogAllCommunication,
402
408
  logAllCommunicationHexDump: this.opts.safariLogAllCommunicationHexDump,
403
409
  socketChunkSize: this.opts.safariSocketChunkSize,
@@ -405,12 +411,13 @@ async function getNewRemoteDebugger() {
405
411
  pageLoadStrategy: this.caps.pageLoadStrategy,
406
412
  limInstanceApiUrl: this.opts.limInstanceApiUrl,
407
413
  limInstanceToken: this.opts.limInstanceToken,
408
- limLogLevel: /** @type {import('@limrun/api').LogLevel} */ (this.opts.limLogLevel),
414
+ limLogLevel: this.opts.limLogLevel,
409
415
  }, this.isRealDevice());
410
416
  }
411
417
  /**
412
- * @this {XCUITestDriver}
413
- * @returns {Promise<string>}
418
+ * Gets the identifier of the current context.
419
+ *
420
+ * @returns The context identifier (e.g., 'NATIVE_APP' or 'WEBVIEW_xxx')
414
421
  */
415
422
  async function getCurrentContext() {
416
423
  if (this.curContext && this.curContext !== utils_1.NATIVE_WIN) {
@@ -419,13 +426,12 @@ async function getCurrentContext() {
419
426
  return utils_1.NATIVE_WIN;
420
427
  }
421
428
  /**
422
- * Set context
429
+ * Switches to the specified context (native or webview).
423
430
  *
424
- * @param {string|Context} name - The name of context to set. It could be 'null' as NATIVE_WIN.
425
- * @param {any} [callback] The callback. (It is not called in this method)
426
- * @param {boolean} [skipReadyCheck=false] - Whether it waits for the new context is ready
427
- * @this {XCUITestDriver}
428
- * @returns {Promise<void>}
431
+ * @param name - The name of context to set. Can be 'NATIVE_APP', 'WEBVIEW_xxx', or null
432
+ * @param callback - The callback (not used, kept for compatibility)
433
+ * @param skipReadyCheck - Whether to skip waiting for the new context to be ready
434
+ * @throws {errors.NoSuchContextError} If the specified context does not exist
429
435
  */
430
436
  async function setContext(name, callback, skipReadyCheck = false) {
431
437
  function alreadyInContext(desired, current) {
@@ -437,7 +443,7 @@ async function setContext(name, callback, skipReadyCheck = false) {
437
443
  return context === utils_1.NATIVE_WIN || context === null;
438
444
  }
439
445
  // allow the full context list to be passed in
440
- const strName = String(typeof name === 'object' && name.id ? name.id : name);
446
+ const strName = String(typeof name === 'object' && name && 'id' in name ? name.id : name);
441
447
  this.log.debug(`Attempting to set context to '${strName || utils_1.NATIVE_WIN}' from '${this.curContext ? this.curContext : utils_1.NATIVE_WIN}'`);
442
448
  if (alreadyInContext(strName, this.curContext) ||
443
449
  alreadyInContext(lodash_1.default.replace(strName, WEBVIEW_BASE, ''), this.curContext)) {
@@ -461,7 +467,7 @@ async function setContext(name, callback, skipReadyCheck = false) {
461
467
  // allow user to pass in "WEBVIEW" without an index
462
468
  // the second context will be the first webview as
463
469
  // the first is always NATIVE_APP
464
- contextId = /** @type {string[]} */ (this.contexts)[1];
470
+ contextId = this.contexts[1];
465
471
  }
466
472
  if (!lodash_1.default.includes(this.contexts, contextId)) {
467
473
  throw new driver_1.errors.NoSuchContextError();
@@ -472,7 +478,7 @@ async function setContext(name, callback, skipReadyCheck = false) {
472
478
  const [appIdKey, pageIdKey] = lodash_1.default.map(contextId.split('.'), (id) => parseInt(id, 10));
473
479
  try {
474
480
  this.selectingNewPage = true;
475
- await ( /** @type {RemoteDebugger} */(this.remote)).selectPage(appIdKey, pageIdKey, skipReadyCheck);
481
+ await this.remote.selectPage(appIdKey, pageIdKey, skipReadyCheck);
476
482
  await notifyBiDiContextChange.bind(this)();
477
483
  }
478
484
  catch (err) {
@@ -483,7 +489,7 @@ async function setContext(name, callback, skipReadyCheck = false) {
483
489
  this.selectingNewPage = false;
484
490
  }
485
491
  // attempt to start performance logging, if requested
486
- if (this.opts.enablePerformanceLogging && this.remote) {
492
+ if (this.opts.enablePerformanceLogging && this._remote) {
487
493
  const context = this.curContext;
488
494
  this.log.debug(`Starting performance log on '${context}'`);
489
495
  [this.logs.performance,] = log_1.assignBiDiLogListener.bind(this)(new ios_performance_log_1.IOSPerformanceLog({
@@ -498,35 +504,43 @@ async function setContext(name, callback, skipReadyCheck = false) {
498
504
  // start safari logging if the logs handlers are active
499
505
  if (name && name !== utils_1.NATIVE_WIN && this.logs) {
500
506
  if (this.logs.safariConsole) {
501
- ( /** @type {RemoteDebugger} */(this.remote)).startConsole(this.logs.safariConsole.onConsoleLogEvent.bind(this.logs.safariConsole));
507
+ this.remote.startConsole(this.logs.safariConsole.onConsoleLogEvent.bind(this.logs.safariConsole));
502
508
  }
503
509
  if (this.logs.safariNetwork) {
504
- ( /** @type {RemoteDebugger} */(this.remote)).startNetwork(this.logs.safariNetwork.onNetworkEvent.bind(this.logs.safariNetwork));
510
+ this.remote.startNetwork(this.logs.safariNetwork.onNetworkEvent.bind(this.logs.safariNetwork));
505
511
  }
506
512
  }
507
513
  }
508
514
  /**
509
- * @this {XCUITestDriver}
510
- * @returns {Promise<string[]|FullContext[]>}
515
+ * Gets the list of available contexts.
516
+ *
517
+ * The format depends on the `fullContextList` option:
518
+ * - If enabled, returns full context objects with title, URL, and bundleId
519
+ * - If disabled, returns simple context ID strings
520
+ *
521
+ * @returns Array of context IDs or full context objects
511
522
  */
512
523
  async function getContexts() {
513
524
  this.log.debug('Getting list of available contexts');
514
525
  const contexts = await this.getContextsAndViews(false);
515
526
  if (this.opts.fullContextList) {
516
- return /** @type {import('./types').FullContext[]} */ (contexts.map((context) => ({
527
+ return contexts.map((context) => ({
517
528
  id: context.id.toString(),
518
529
  title: context.view?.title,
519
530
  url: context.view?.url,
520
531
  bundleId: context.view?.bundleId,
521
- })));
532
+ }));
522
533
  }
523
- return /** @type {string[]} */ (contexts.map((context) => context.id.toString()));
534
+ return contexts.map((context) => context.id.toString());
524
535
  }
525
536
  /**
526
- * @this {XCUITestDriver}
527
- * @param {string} name
528
- * @param {boolean} [skipReadyCheck]
529
- * @returns {Promise<void>}
537
+ * Sets the current window (context) in a web context.
538
+ *
539
+ * This is a wrapper around {@linkcode setContext} that translates errors appropriately.
540
+ *
541
+ * @param name - The window/context name to switch to
542
+ * @param skipReadyCheck - Whether to skip waiting for the window to be ready
543
+ * @throws {errors.NoSuchWindowError} If the window does not exist
530
544
  */
531
545
  async function setWindow(name, skipReadyCheck) {
532
546
  if (!this.isWebContext()) {
@@ -542,8 +556,12 @@ async function setWindow(name, skipReadyCheck) {
542
556
  }
543
557
  }
544
558
  /**
545
- * @this {XCUITestDriver}
546
- * @returns {Promise<string>}
559
+ * Gets the handle of the current window.
560
+ *
561
+ * In native context, returns a default handle. In web context, returns the current context ID.
562
+ *
563
+ * @returns The window handle
564
+ * @throws {errors.InvalidContextError} If not in a valid context
547
565
  */
548
566
  async function getWindowHandle() {
549
567
  if (!this.isWebContext()) {
@@ -557,8 +575,11 @@ async function getWindowHandle() {
557
575
  return this.curContext;
558
576
  }
559
577
  /**
560
- * @this {XCUITestDriver}
561
- * @returns {Promise<string[]>}
578
+ * Gets the list of all available window handles.
579
+ *
580
+ * In native context, returns a single default handle. In web context, returns all webview handles.
581
+ *
582
+ * @returns Array of window handle strings
562
583
  */
563
584
  async function getWindowHandles() {
564
585
  if (!this.isWebContext()) {
@@ -577,11 +598,11 @@ async function getWindowHandles() {
577
598
  context.view?.id?.toString() ?? ''));
578
599
  }
579
600
  /**
580
- * Checks if a URL is blacklisted in the 'safariIgnoreWebHostnames' capability
601
+ * Checks if a URL is blacklisted in the 'safariIgnoreWebHostnames' capability.
581
602
  *
582
- * @param {string} url
583
- * @param {string} [safariIgnoreWebHostnames]
584
- * @returns {boolean}
603
+ * @param url - The URL to check
604
+ * @param safariIgnoreWebHostnames - Comma-separated list of hostnames to ignore
605
+ * @returns True if the URL should be ignored
585
606
  */
586
607
  function isUrlIgnored(url, safariIgnoreWebHostnames) {
587
608
  if (!safariIgnoreWebHostnames || lodash_1.default.isEmpty(safariIgnoreWebHostnames)) {
@@ -610,19 +631,13 @@ function isUrlIgnored(url, safariIgnoreWebHostnames) {
610
631
  return false;
611
632
  }
612
633
  /**
613
- * https://github.com/appium/appium/issues/20741
634
+ * Notifies BiDi clients about context changes.
614
635
  *
615
- * @this {XCUITestDriver}
616
- * @returns {Promise<void>}
636
+ * @see https://github.com/appium/appium/issues/20741
617
637
  */
618
638
  async function notifyBiDiContextChange() {
619
639
  const name = await this.getCurrentContext();
620
640
  this.eventEmitter.emit(constants_1.BIDI_EVENT_NAME, (0, models_1.makeContextUpdatedEvent)(name));
621
641
  this.eventEmitter.emit(constants_1.BIDI_EVENT_NAME, (0, models_1.makeObsoleteContextUpdatedEvent)(name));
622
642
  }
623
- /**
624
- * @typedef {import('../driver').XCUITestDriver} XCUITestDriver
625
- * @typedef {import('./types').Context} Context
626
- * @typedef {import('./types').FullContext} FullContext
627
- */
628
643
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../lib/commands/context.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { XCUITestDriver } from '../driver';
2
+ import type { DeviceInfo, LockdownInfo } from './types';
3
+ /**
4
+ * Returns the miscellaneous information about the device under test.
5
+ *
6
+ * Since XCUITest driver v4.2.0, this includes device information via lockdown in a real device.
7
+ *
8
+ * @returns The response of `/wda/device/info'`
9
+ */
10
+ export declare function mobileGetDeviceInfo(this: XCUITestDriver): Promise<DeviceInfo | (DeviceInfo & {
11
+ lockdownInfo: LockdownInfo;
12
+ })>;
13
+ //# sourceMappingURL=device-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-info.d.ts","sourceRoot":"","sources":["../../../lib/commands/device-info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,GAAG,CAAC,UAAU,GAAG;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,CAAC,CAAC,CASnE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mobileGetDeviceInfo = mobileGetDeviceInfo;
4
+ const appium_ios_device_1 = require("appium-ios-device");
5
+ /**
6
+ * Returns the miscellaneous information about the device under test.
7
+ *
8
+ * Since XCUITest driver v4.2.0, this includes device information via lockdown in a real device.
9
+ *
10
+ * @returns The response of `/wda/device/info'`
11
+ */
12
+ async function mobileGetDeviceInfo() {
13
+ const infoByWda = await this.proxyCommand('/wda/device/info', 'GET');
14
+ if (this.isRealDevice()) {
15
+ const lockdownInfo = await appium_ios_device_1.utilities.getDeviceInfo(this.device.udid);
16
+ return { ...infoByWda, ...{ lockdownInfo } };
17
+ }
18
+ return infoByWda;
19
+ }
20
+ //# sourceMappingURL=device-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-info.js","sourceRoot":"","sources":["../../../lib/commands/device-info.ts"],"names":[],"mappings":";;AAWA,kDAWC;AAtBD,yDAA4C;AAI5C;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB;IAGvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAsB,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAE1F,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,MAAM,6BAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,EAAC,GAAG,SAAS,EAAE,GAAG,EAAC,YAAY,EAAC,EAAC,CAAC;IAC3C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}