appium-mcp 0.0.1 → 1.1.4

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 (585) hide show
  1. package/.github/workflows/ci.yml +37 -0
  2. package/.github/workflows/pr-title.yml +15 -0
  3. package/.github/workflows/publish.yml +31 -0
  4. package/.gitmodules +9 -0
  5. package/.prettierignore +29 -0
  6. package/.prettierrc +10 -0
  7. package/.releaserc +37 -0
  8. package/CHANGELOG.md +37 -0
  9. package/LICENSE +21 -0
  10. package/README.md +153 -0
  11. package/dist/devicemanager/adb-manager.d.ts +71 -0
  12. package/dist/devicemanager/adb-manager.js +140 -0
  13. package/dist/devicemanager/adb-manager.js.map +1 -0
  14. package/dist/devicemanager/ios-manager.d.ts +58 -0
  15. package/dist/devicemanager/ios-manager.js +122 -0
  16. package/dist/devicemanager/ios-manager.js.map +1 -0
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.js +40 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/locators/element-filter.d.ts +13 -0
  21. package/dist/locators/element-filter.js +79 -0
  22. package/dist/locators/element-filter.js.map +1 -0
  23. package/dist/locators/generate-all-locators.d.ts +21 -0
  24. package/dist/locators/generate-all-locators.js +72 -0
  25. package/dist/locators/generate-all-locators.js.map +1 -0
  26. package/dist/locators/locator-generation.d.ts +36 -0
  27. package/dist/locators/locator-generation.js +501 -0
  28. package/dist/locators/locator-generation.js.map +1 -0
  29. package/dist/locators/logger.d.ts +5 -0
  30. package/dist/locators/logger.js +9 -0
  31. package/dist/locators/logger.js.map +1 -0
  32. package/dist/locators/source-parsing.d.ts +43 -0
  33. package/dist/locators/source-parsing.js +100 -0
  34. package/dist/locators/source-parsing.js.map +1 -0
  35. package/dist/resources/index.d.ts +1 -0
  36. package/dist/resources/index.js +7 -0
  37. package/dist/resources/index.js.map +1 -0
  38. package/dist/resources/java/template.d.ts +4 -0
  39. package/dist/resources/java/template.js +82 -0
  40. package/dist/resources/java/template.js.map +1 -0
  41. package/dist/schema.d.ts +2 -0
  42. package/dist/schema.js +5 -0
  43. package/dist/schema.js.map +1 -0
  44. package/dist/scripts/simple-index-documentation.d.ts +20 -0
  45. package/dist/scripts/simple-index-documentation.js +77 -0
  46. package/dist/scripts/simple-index-documentation.js.map +1 -0
  47. package/dist/scripts/simple-query-documentation.d.ts +12 -0
  48. package/dist/scripts/simple-query-documentation.js +52 -0
  49. package/dist/scripts/simple-query-documentation.js.map +1 -0
  50. package/dist/server.d.ts +3 -0
  51. package/dist/server.js +37 -0
  52. package/dist/server.js.map +1 -0
  53. package/dist/tests/__mocks__/@appium/support.d.ts +21 -0
  54. package/dist/tests/__mocks__/@appium/support.js +30 -0
  55. package/dist/tests/__mocks__/@appium/support.js.map +1 -0
  56. package/dist/tests/generate-all-locators.test.d.ts +1 -0
  57. package/dist/tests/generate-all-locators.test.js +140 -0
  58. package/dist/tests/generate-all-locators.test.js.map +1 -0
  59. package/dist/tests/test-setup-wda.d.ts +1 -0
  60. package/dist/tests/test-setup-wda.js +202 -0
  61. package/dist/tests/test-setup-wda.js.map +1 -0
  62. package/dist/tools/answer-appium.d.ts +1 -0
  63. package/dist/tools/answer-appium.js +71 -0
  64. package/dist/tools/answer-appium.js.map +1 -0
  65. package/dist/tools/boot-simulator.d.ts +1 -0
  66. package/dist/tools/boot-simulator.js +71 -0
  67. package/dist/tools/boot-simulator.js.map +1 -0
  68. package/dist/tools/create-session.d.ts +1 -0
  69. package/dist/tools/create-session.js +192 -0
  70. package/dist/tools/create-session.js.map +1 -0
  71. package/dist/tools/delete-session.d.ts +1 -0
  72. package/dist/tools/delete-session.js +47 -0
  73. package/dist/tools/delete-session.js.map +1 -0
  74. package/dist/tools/documentation/index.d.ts +28 -0
  75. package/dist/tools/documentation/index.js +63 -0
  76. package/dist/tools/documentation/index.js.map +1 -0
  77. package/dist/tools/documentation/reasoning-rag.d.ts +88 -0
  78. package/dist/tools/documentation/reasoning-rag.js +281 -0
  79. package/dist/tools/documentation/reasoning-rag.js.map +1 -0
  80. package/dist/tools/documentation/sentence-transformers-embeddings.d.ts +34 -0
  81. package/dist/tools/documentation/sentence-transformers-embeddings.js +111 -0
  82. package/dist/tools/documentation/sentence-transformers-embeddings.js.map +1 -0
  83. package/dist/tools/documentation/simple-pdf-indexer.d.ts +45 -0
  84. package/dist/tools/documentation/simple-pdf-indexer.js +402 -0
  85. package/dist/tools/documentation/simple-pdf-indexer.js.map +1 -0
  86. package/dist/tools/documentation/uploads/documents.json +1 -0
  87. package/dist/tools/generate-tests.d.ts +2 -0
  88. package/dist/tools/generate-tests.js +46 -0
  89. package/dist/tools/generate-tests.js.map +1 -0
  90. package/dist/tools/index.d.ts +16 -0
  91. package/dist/tools/index.js +112 -0
  92. package/dist/tools/index.js.map +1 -0
  93. package/dist/tools/install-wda.d.ts +1 -0
  94. package/dist/tools/install-wda.js +219 -0
  95. package/dist/tools/install-wda.js.map +1 -0
  96. package/dist/tools/interactions/activate-app.d.ts +2 -0
  97. package/dist/tools/interactions/activate-app.js +44 -0
  98. package/dist/tools/interactions/activate-app.js.map +1 -0
  99. package/dist/tools/interactions/click.d.ts +2 -0
  100. package/dist/tools/interactions/click.js +45 -0
  101. package/dist/tools/interactions/click.js.map +1 -0
  102. package/dist/tools/interactions/double-tap.d.ts +2 -0
  103. package/dist/tools/interactions/double-tap.js +81 -0
  104. package/dist/tools/interactions/double-tap.js.map +1 -0
  105. package/dist/tools/interactions/find.d.ts +13 -0
  106. package/dist/tools/interactions/find.js +55 -0
  107. package/dist/tools/interactions/find.js.map +1 -0
  108. package/dist/tools/interactions/get-text.d.ts +2 -0
  109. package/dist/tools/interactions/get-text.js +45 -0
  110. package/dist/tools/interactions/get-text.js.map +1 -0
  111. package/dist/tools/interactions/install-app.d.ts +2 -0
  112. package/dist/tools/interactions/install-app.js +43 -0
  113. package/dist/tools/interactions/install-app.js.map +1 -0
  114. package/dist/tools/interactions/list-apps.d.ts +2 -0
  115. package/dist/tools/interactions/list-apps.js +59 -0
  116. package/dist/tools/interactions/list-apps.js.map +1 -0
  117. package/dist/tools/interactions/screenshot.d.ts +2 -0
  118. package/dist/tools/interactions/screenshot.js +49 -0
  119. package/dist/tools/interactions/screenshot.js.map +1 -0
  120. package/dist/tools/interactions/set-value.d.ts +2 -0
  121. package/dist/tools/interactions/set-value.js +46 -0
  122. package/dist/tools/interactions/set-value.js.map +1 -0
  123. package/dist/tools/interactions/terminate-app.d.ts +2 -0
  124. package/dist/tools/interactions/terminate-app.js +45 -0
  125. package/dist/tools/interactions/terminate-app.js.map +1 -0
  126. package/dist/tools/interactions/uninstall-app.d.ts +2 -0
  127. package/dist/tools/interactions/uninstall-app.js +45 -0
  128. package/dist/tools/interactions/uninstall-app.js.map +1 -0
  129. package/dist/tools/locators.d.ts +1 -0
  130. package/dist/tools/locators.js +71 -0
  131. package/dist/tools/locators.js.map +1 -0
  132. package/dist/tools/scroll-to-element.d.ts +1 -0
  133. package/dist/tools/scroll-to-element.js +155 -0
  134. package/dist/tools/scroll-to-element.js.map +1 -0
  135. package/dist/tools/scroll.d.ts +1 -0
  136. package/dist/tools/scroll.js +91 -0
  137. package/dist/tools/scroll.js.map +1 -0
  138. package/dist/tools/select-device.d.ts +5 -0
  139. package/dist/tools/select-device.js +222 -0
  140. package/dist/tools/select-device.js.map +1 -0
  141. package/dist/tools/select-platform.d.ts +1 -0
  142. package/dist/tools/select-platform.js +195 -0
  143. package/dist/tools/select-platform.js.map +1 -0
  144. package/dist/tools/session-store.d.ts +7 -0
  145. package/dist/tools/session-store.js +64 -0
  146. package/dist/tools/session-store.js.map +1 -0
  147. package/dist/tools/setup-wda.d.ts +1 -0
  148. package/dist/tools/setup-wda.js +177 -0
  149. package/dist/tools/setup-wda.js.map +1 -0
  150. package/docs/CONTRIBUTING.md +424 -0
  151. package/eslint.config.js +49 -0
  152. package/examples/android-gmail.md +7 -0
  153. package/examples/android-todo-app.md +9 -0
  154. package/jest.config.js +23 -0
  155. package/package.json +71 -6
  156. package/scripts/setup-submodules-sparse.sh +53 -0
  157. package/scripts/update-submodules.sh +14 -0
  158. package/src/devicemanager/adb-manager.ts +164 -0
  159. package/src/devicemanager/ios-manager.ts +145 -0
  160. package/src/index.ts +47 -0
  161. package/src/locators/element-filter.ts +134 -0
  162. package/src/locators/generate-all-locators.ts +149 -0
  163. package/src/locators/locator-generation.ts +657 -0
  164. package/src/locators/logger.ts +11 -0
  165. package/src/locators/source-parsing.ts +149 -0
  166. package/src/resources/caps.json +697 -0
  167. package/src/resources/index.ts +7 -0
  168. package/src/resources/java/template.ts +83 -0
  169. package/src/resources/submodules/appium/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  170. package/src/resources/submodules/appium/CHANGELOG.md +45 -0
  171. package/src/resources/submodules/appium/CONDUCT.md +48 -0
  172. package/src/resources/submodules/appium/GOVERNANCE.md +185 -0
  173. package/src/resources/submodules/appium/IDEAS.md +16 -0
  174. package/src/resources/submodules/appium/README.md +221 -0
  175. package/src/resources/submodules/appium/ROADMAP.md +30 -0
  176. package/src/resources/submodules/appium/SPONSORS.md +3 -0
  177. package/src/resources/submodules/appium/docs/README.md +6 -0
  178. package/src/resources/submodules/appium/docs/payout.md +35 -0
  179. package/src/resources/submodules/appium/packages/appium/CHANGELOG.md +1437 -0
  180. package/src/resources/submodules/appium/packages/appium/README.md +221 -0
  181. package/src/resources/submodules/appium/packages/appium/docs/en/blog/index.md +2 -0
  182. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-appiumconf2024.md +45 -0
  183. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  184. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  185. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-strategic-partner.md +42 -0
  186. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  187. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sponsorship-program.md +48 -0
  188. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/appium3.md +40 -0
  189. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/hello-world.md +15 -0
  190. package/src/resources/submodules/appium/packages/appium/docs/en/contributing/index.md +150 -0
  191. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-docs.md +86 -0
  192. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-doctor-checks.md +141 -0
  193. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-drivers.md +860 -0
  194. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-plugins.md +514 -0
  195. package/src/resources/submodules/appium/packages/appium/docs/en/developing/config-system.md +451 -0
  196. package/src/resources/submodules/appium/packages/appium/docs/en/developing/index.md +18 -0
  197. package/src/resources/submodules/appium/packages/appium/docs/en/developing/sensitive.md +49 -0
  198. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/clients.md +132 -0
  199. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/drivers.md +207 -0
  200. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/index.md +45 -0
  201. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/plugins.md +138 -0
  202. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/tools.md +83 -0
  203. package/src/resources/submodules/appium/packages/appium/docs/en/guides/branch-testing.md +57 -0
  204. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caching.md +76 -0
  205. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caps.md +275 -0
  206. package/src/resources/submodules/appium/packages/appium/docs/en/guides/config.md +98 -0
  207. package/src/resources/submodules/appium/packages/appium/docs/en/guides/context.md +44 -0
  208. package/src/resources/submodules/appium/packages/appium/docs/en/guides/event-timing.md +73 -0
  209. package/src/resources/submodules/appium/packages/appium/docs/en/guides/execute-methods.md +122 -0
  210. package/src/resources/submodules/appium/packages/appium/docs/en/guides/grid.md +166 -0
  211. package/src/resources/submodules/appium/packages/appium/docs/en/guides/headers.md +17 -0
  212. package/src/resources/submodules/appium/packages/appium/docs/en/guides/log-filters.md +86 -0
  213. package/src/resources/submodules/appium/packages/appium/docs/en/guides/managing-exts.md +87 -0
  214. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-1-to-2.md +368 -0
  215. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-2-to-3.md +464 -0
  216. package/src/resources/submodules/appium/packages/appium/docs/en/guides/security.md +89 -0
  217. package/src/resources/submodules/appium/packages/appium/docs/en/guides/settings.md +68 -0
  218. package/src/resources/submodules/appium/packages/appium/docs/en/guides/tls.md +42 -0
  219. package/src/resources/submodules/appium/packages/appium/docs/en/index.md +59 -0
  220. package/src/resources/submodules/appium/packages/appium/docs/en/intro/appium.md +202 -0
  221. package/src/resources/submodules/appium/packages/appium/docs/en/intro/clients.md +127 -0
  222. package/src/resources/submodules/appium/packages/appium/docs/en/intro/drivers.md +188 -0
  223. package/src/resources/submodules/appium/packages/appium/docs/en/intro/history.md +196 -0
  224. package/src/resources/submodules/appium/packages/appium/docs/en/intro/index.md +39 -0
  225. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/index.md +29 -0
  226. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/install.md +50 -0
  227. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/next-steps.md +23 -0
  228. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/requirements.md +29 -0
  229. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-dotnet.md +105 -0
  230. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-java.md +23 -0
  231. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-js.md +75 -0
  232. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-py.md +60 -0
  233. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-rb.md +83 -0
  234. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/uiauto2-driver.md +144 -0
  235. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/appium.md +394 -0
  236. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/bidi.md +70 -0
  237. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/index.md +30 -0
  238. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/jsonwp.md +214 -0
  239. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/mjsonwp.md +151 -0
  240. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/others.md +671 -0
  241. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/plugins.md +289 -0
  242. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/webdriver.md +1114 -0
  243. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/env-vars.md +31 -0
  244. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/extensions.md +239 -0
  245. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/index.md +35 -0
  246. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/server.md +76 -0
  247. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/setup.md +76 -0
  248. package/src/resources/submodules/appium/packages/appium/docs/en/reference/index.md +25 -0
  249. package/src/resources/submodules/appium/packages/appium/docs/en/resources/index.md +28 -0
  250. package/src/resources/submodules/appium/packages/appium/docs/en/sponsors/index.md +64 -0
  251. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/index.md +2 -0
  252. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-appiumconf2024.md +45 -0
  253. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  254. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  255. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
  256. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  257. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sponsorship-program.md +48 -0
  258. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/appium3.md +40 -0
  259. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/hello-world.md +15 -0
  260. package/src/resources/submodules/appium/packages/appium/docs/ja/contributing/index.md +158 -0
  261. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-docs.md +86 -0
  262. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-doctor-checks.md +141 -0
  263. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-drivers.md +866 -0
  264. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-plugins.md +520 -0
  265. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/config-system.md +468 -0
  266. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/index.md +18 -0
  267. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/sensitive.md +49 -0
  268. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/clients.md +143 -0
  269. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/drivers.md +219 -0
  270. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/index.md +45 -0
  271. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/plugins.md +140 -0
  272. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/tools.md +87 -0
  273. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/branch-testing.md +57 -0
  274. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caching.md +78 -0
  275. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caps.md +259 -0
  276. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/config.md +102 -0
  277. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/context.md +44 -0
  278. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/event-timing.md +75 -0
  279. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/execute-methods.md +142 -0
  280. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/grid.md +166 -0
  281. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/headers.md +17 -0
  282. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/log-filters.md +86 -0
  283. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/managing-exts.md +89 -0
  284. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-1-to-2.md +402 -0
  285. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-2-to-3.md +458 -0
  286. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/security.md +89 -0
  287. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/settings.md +70 -0
  288. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/tls.md +43 -0
  289. package/src/resources/submodules/appium/packages/appium/docs/ja/index.md +55 -0
  290. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/appium.md +191 -0
  291. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/clients.md +139 -0
  292. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/drivers.md +188 -0
  293. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/history.md +196 -0
  294. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/index.md +39 -0
  295. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/index.md +23 -0
  296. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/install.md +47 -0
  297. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/next-steps.md +19 -0
  298. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/requirements.md +29 -0
  299. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-dotnet.md +107 -0
  300. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-java.md +23 -0
  301. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-js.md +77 -0
  302. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-py.md +63 -0
  303. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-rb.md +85 -0
  304. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/uiauto2-driver.md +148 -0
  305. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/appium.md +395 -0
  306. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/bidi.md +71 -0
  307. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/index.md +30 -0
  308. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/jsonwp.md +215 -0
  309. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/mjsonwp.md +152 -0
  310. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/others.md +672 -0
  311. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/plugins.md +291 -0
  312. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/webdriver.md +1114 -0
  313. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/env-vars.md +31 -0
  314. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/extensions.md +240 -0
  315. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/index.md +35 -0
  316. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/server.md +76 -0
  317. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/setup.md +78 -0
  318. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/index.md +25 -0
  319. package/src/resources/submodules/appium/packages/appium/docs/ja/resources/index.md +28 -0
  320. package/src/resources/submodules/appium/packages/appium/docs/ja/sponsors/index.md +61 -0
  321. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz-white.png +0 -0
  322. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png +0 -0
  323. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-white.png +0 -0
  324. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo.png +0 -0
  325. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png +0 -0
  326. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png +0 -0
  327. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-dark.png +0 -0
  328. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-light.png +0 -0
  329. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png +0 -0
  330. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/index.md +2 -0
  331. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-appiumconf2024.md +45 -0
  332. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  333. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  334. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
  335. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  336. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sponsorship-program.md +48 -0
  337. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/appium3.md +40 -0
  338. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/hello-world.md +15 -0
  339. package/src/resources/submodules/appium/packages/appium/docs/zh/contributing/index.md +132 -0
  340. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-docs.md +86 -0
  341. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-doctor-checks.md +141 -0
  342. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-drivers.md +866 -0
  343. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-plugins.md +520 -0
  344. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/config-system.md +468 -0
  345. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/index.md +18 -0
  346. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/sensitive.md +49 -0
  347. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/clients.md +143 -0
  348. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/drivers.md +219 -0
  349. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/index.md +45 -0
  350. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/plugins.md +140 -0
  351. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/tools.md +87 -0
  352. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/branch-testing.md +57 -0
  353. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caching.md +78 -0
  354. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caps.md +284 -0
  355. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/config.md +102 -0
  356. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/context.md +44 -0
  357. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/event-timing.md +75 -0
  358. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/execute-methods.md +142 -0
  359. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/grid.md +166 -0
  360. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/headers.md +17 -0
  361. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/log-filters.md +86 -0
  362. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/managing-exts.md +89 -0
  363. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-1-to-2.md +410 -0
  364. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-2-to-3.md +459 -0
  365. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/security.md +89 -0
  366. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/settings.md +70 -0
  367. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/tls.md +43 -0
  368. package/src/resources/submodules/appium/packages/appium/docs/zh/index.md +54 -0
  369. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/appium.md +200 -0
  370. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/clients.md +139 -0
  371. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/drivers.md +188 -0
  372. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/history.md +196 -0
  373. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/index.md +39 -0
  374. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/index.md +23 -0
  375. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/install.md +47 -0
  376. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/next-steps.md +19 -0
  377. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/requirements.md +21 -0
  378. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-dotnet.md +99 -0
  379. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-java.md +20 -0
  380. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-js.md +62 -0
  381. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-py.md +57 -0
  382. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-rb.md +80 -0
  383. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/uiauto2-driver.md +148 -0
  384. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/appium.md +395 -0
  385. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/bidi.md +71 -0
  386. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/index.md +30 -0
  387. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/jsonwp.md +215 -0
  388. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/mjsonwp.md +152 -0
  389. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/others.md +672 -0
  390. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/plugins.md +291 -0
  391. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/webdriver.md +1114 -0
  392. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/env-vars.md +31 -0
  393. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/extensions.md +240 -0
  394. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/index.md +35 -0
  395. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/server.md +76 -0
  396. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/setup.md +78 -0
  397. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/index.md +25 -0
  398. package/src/resources/submodules/appium/packages/appium/docs/zh/resources/index.md +28 -0
  399. package/src/resources/submodules/appium/packages/appium/docs/zh/sponsors/index.md +61 -0
  400. package/src/resources/submodules/appium/packages/appium/types/manifest/README.md +30 -0
  401. package/src/resources/submodules/appium/packages/base-driver/CHANGELOG.md +1131 -0
  402. package/src/resources/submodules/appium/packages/base-driver/README.md +15 -0
  403. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/errors.md +82 -0
  404. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/protocol-methods.md +182 -0
  405. package/src/resources/submodules/appium/packages/base-driver/static/appium.png +0 -0
  406. package/src/resources/submodules/appium/packages/base-plugin/CHANGELOG.md +672 -0
  407. package/src/resources/submodules/appium/packages/base-plugin/README.md +15 -0
  408. package/src/resources/submodules/appium/packages/docutils/CHANGELOG.md +948 -0
  409. package/src/resources/submodules/appium/packages/docutils/README.md +27 -0
  410. package/src/resources/submodules/appium/packages/driver-test-support/CHANGELOG.md +717 -0
  411. package/src/resources/submodules/appium/packages/driver-test-support/README.md +112 -0
  412. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/CHANGELOG.md +168 -0
  413. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/README.md +33 -0
  414. package/src/resources/submodules/appium/packages/execute-driver-plugin/CHANGELOG.md +603 -0
  415. package/src/resources/submodules/appium/packages/execute-driver-plugin/README.md +42 -0
  416. package/src/resources/submodules/appium/packages/fake-driver/CHANGELOG.md +545 -0
  417. package/src/resources/submodules/appium/packages/fake-driver/README.md +7 -0
  418. package/src/resources/submodules/appium/packages/fake-driver/lib/screen.png +0 -0
  419. package/src/resources/submodules/appium/packages/fake-plugin/CHANGELOG.md +683 -0
  420. package/src/resources/submodules/appium/packages/fake-plugin/README.md +7 -0
  421. package/src/resources/submodules/appium/packages/images-plugin/CHANGELOG.md +602 -0
  422. package/src/resources/submodules/appium/packages/images-plugin/README.md +27 -0
  423. package/src/resources/submodules/appium/packages/images-plugin/docs/find-by-image.md +65 -0
  424. package/src/resources/submodules/appium/packages/images-plugin/docs/image-comparison.md +203 -0
  425. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/appstore.png +0 -0
  426. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img1.png +0 -0
  427. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2.png +0 -0
  428. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2_part.png +0 -0
  429. package/src/resources/submodules/appium/packages/logger/CHANGELOG.md +162 -0
  430. package/src/resources/submodules/appium/packages/logger/README.md +31 -0
  431. package/src/resources/submodules/appium/packages/opencv/CHANGELOG.md +384 -0
  432. package/src/resources/submodules/appium/packages/opencv/README.md +68 -0
  433. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/appium-diagram.jpg +0 -0
  434. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc1.png +0 -0
  435. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc2.png +0 -0
  436. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc_rotated.png +0 -0
  437. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/findwaldo.jpg +0 -0
  438. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/number5.png +0 -0
  439. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/waldo.jpg +0 -0
  440. package/src/resources/submodules/appium/packages/plugin-test-support/CHANGELOG.md +539 -0
  441. package/src/resources/submodules/appium/packages/plugin-test-support/README.md +49 -0
  442. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/CHANGELOG.md +154 -0
  443. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/README.md +35 -0
  444. package/src/resources/submodules/appium/packages/schema/CHANGELOG.md +271 -0
  445. package/src/resources/submodules/appium/packages/schema/README.md +50 -0
  446. package/src/resources/submodules/appium/packages/storage-plugin/CHANGELOG.md +73 -0
  447. package/src/resources/submodules/appium/packages/storage-plugin/README.md +83 -0
  448. package/src/resources/submodules/appium/packages/strongbox/CHANGELOG.md +94 -0
  449. package/src/resources/submodules/appium/packages/strongbox/README.md +96 -0
  450. package/src/resources/submodules/appium/packages/support/CHANGELOG.md +1054 -0
  451. package/src/resources/submodules/appium/packages/support/README.md +161 -0
  452. package/src/resources/submodules/appium/packages/test-support/CHANGELOG.md +712 -0
  453. package/src/resources/submodules/appium/packages/test-support/README.md +61 -0
  454. package/src/resources/submodules/appium/packages/tsconfig/CHANGELOG.md +131 -0
  455. package/src/resources/submodules/appium/packages/tsconfig/README.md +19 -0
  456. package/src/resources/submodules/appium/packages/types/CHANGELOG.md +793 -0
  457. package/src/resources/submodules/appium/packages/types/README.md +21 -0
  458. package/src/resources/submodules/appium/packages/universal-xml-plugin/CHANGELOG.md +435 -0
  459. package/src/resources/submodules/appium/packages/universal-xml-plugin/README.md +53 -0
  460. package/src/resources/submodules/appium/renovate/README.md +63 -0
  461. package/src/resources/submodules/appium-uiautomator2-driver/CHANGELOG.md +1204 -0
  462. package/src/resources/submodules/appium-uiautomator2-driver/README.md +2077 -0
  463. package/src/resources/submodules/appium-uiautomator2-driver/docs/actions.md +72 -0
  464. package/src/resources/submodules/appium-uiautomator2-driver/docs/activity-startup.md +47 -0
  465. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-appbundle.md +69 -0
  466. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-mobile-gestures.md +352 -0
  467. package/src/resources/submodules/appium-uiautomator2-driver/docs/bidi.md +50 -0
  468. package/src/resources/submodules/appium-uiautomator2-driver/docs/capability-sets.md +136 -0
  469. package/src/resources/submodules/appium-uiautomator2-driver/docs/scheduled-actions.md +155 -0
  470. package/src/resources/submodules/appium-uiautomator2-driver/docs/uiautomator-uiselector.md +51 -0
  471. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/main.md +95 -0
  472. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen1.png +0 -0
  473. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen2.png +0 -0
  474. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/checkered-squares.png +0 -0
  475. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/start-button.png +0 -0
  476. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/stop-button.png +0 -0
  477. package/src/resources/submodules/appium-xcuitest-driver/.github/ISSUE_TEMPLATE.md +4 -0
  478. package/src/resources/submodules/appium-xcuitest-driver/CHANGELOG.md +2594 -0
  479. package/src/resources/submodules/appium-xcuitest-driver/README.md +55 -0
  480. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo-white.png +0 -0
  481. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo.png +0 -0
  482. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-plus-xctest.png +0 -0
  483. package/src/resources/submodules/appium-xcuitest-driver/docs/contributing.md +45 -0
  484. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints-wda.md +61 -0
  485. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints.md +98 -0
  486. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/keynote.png +0 -0
  487. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/on_my_iphone.png +0 -0
  488. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/top_files.png +0 -0
  489. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/attach-to-running-wda.md +43 -0
  490. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/audio-capture.md +78 -0
  491. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/capability-sets.md +169 -0
  492. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/ci-setup.md +47 -0
  493. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/clipboard.md +47 -0
  494. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/elements-lookup-troubleshooting.md +158 -0
  495. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/file-transfer.md +147 -0
  496. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/gestures.md +52 -0
  497. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/hybrid.md +137 -0
  498. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/input-events.md +67 -0
  499. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/install-certificate.md +19 -0
  500. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/multiple-xcode-versions.md +37 -0
  501. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/parallel-tests.md +39 -0
  502. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-prebuilt-wda.md +135 -0
  503. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-preinstalled-wda.md +178 -0
  504. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/touch-id.md +33 -0
  505. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/troubleshooting.md +191 -0
  506. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/tvos.md +114 -0
  507. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-custom-server.md +283 -0
  508. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-slowness.md +231 -0
  509. package/src/resources/submodules/appium-xcuitest-driver/docs/index.md +36 -0
  510. package/src/resources/submodules/appium-xcuitest-driver/docs/installation/index.md +137 -0
  511. package/src/resources/submodules/appium-xcuitest-driver/docs/overview.md +19 -0
  512. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/check-prov-prof.png +0 -0
  513. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-new-project.png +0 -0
  514. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-single-page.png +0 -0
  515. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/no-prov-prof.png +0 -0
  516. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/project-prov-prof.png +0 -0
  517. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/set-up-bundle.png +0 -0
  518. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/untrusted-dev.png +0 -0
  519. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-bundle-id.png +0 -0
  520. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-config.png +0 -0
  521. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-fail.png +0 -0
  522. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-succeed.png +0 -0
  523. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/index.md +51 -0
  524. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-auto.md +49 -0
  525. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-manual.md +40 -0
  526. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-full-manual.md +50 -0
  527. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-generic-manual.md +49 -0
  528. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/real-device-config.md +100 -0
  529. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/assets/images/useXctestrunFile.png +0 -0
  530. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/bidi.md +75 -0
  531. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/capabilities.md +165 -0
  532. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/commands.md +490 -0
  533. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/element-attributes.md +27 -0
  534. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/execute-methods.md +2206 -0
  535. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/ios-predicate.md +196 -0
  536. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/locator-strategies.md +19 -0
  537. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/scripts.md +29 -0
  538. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/security-flags.md +22 -0
  539. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/server-args.md +16 -0
  540. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/settings.md +49 -0
  541. package/src/resources/submodules/appium-xcuitest-driver/test/assets/TestApp-iphonesimulator.app/Default-568h@2x.png +0 -0
  542. package/src/resources/submodules/appium-xcuitest-driver/test/assets/test.png +0 -0
  543. package/src/schema.ts +5 -0
  544. package/src/scripts/simple-index-documentation.ts +93 -0
  545. package/src/scripts/simple-query-documentation.ts +61 -0
  546. package/src/server.ts +40 -0
  547. package/src/tests/README.md +83 -0
  548. package/src/tests/__mocks__/@appium/support.ts +31 -0
  549. package/src/tests/generate-all-locators.test.ts +179 -0
  550. package/src/tests/test-setup-wda.ts +247 -0
  551. package/src/tools/README.md +170 -0
  552. package/src/tools/answer-appium.ts +75 -0
  553. package/src/tools/boot-simulator.ts +87 -0
  554. package/src/tools/create-session.ts +270 -0
  555. package/src/tools/delete-session.ts +46 -0
  556. package/src/tools/documentation/index.ts +97 -0
  557. package/src/tools/documentation/reasoning-rag.ts +434 -0
  558. package/src/tools/documentation/sentence-transformers-embeddings.ts +142 -0
  559. package/src/tools/documentation/simple-pdf-indexer.ts +509 -0
  560. package/src/tools/documentation/uploads/documents.json +1 -0
  561. package/src/tools/generate-tests.ts +50 -0
  562. package/src/tools/index.ts +133 -0
  563. package/src/tools/install-wda.ts +277 -0
  564. package/src/tools/interactions/activate-app.ts +46 -0
  565. package/src/tools/interactions/click.ts +47 -0
  566. package/src/tools/interactions/double-tap.ts +87 -0
  567. package/src/tools/interactions/find.ts +58 -0
  568. package/src/tools/interactions/get-text.ts +47 -0
  569. package/src/tools/interactions/install-app.ts +45 -0
  570. package/src/tools/interactions/list-apps.ts +65 -0
  571. package/src/tools/interactions/screenshot.ts +56 -0
  572. package/src/tools/interactions/set-value.ts +48 -0
  573. package/src/tools/interactions/terminate-app.ts +47 -0
  574. package/src/tools/interactions/uninstall-app.ts +47 -0
  575. package/src/tools/locators.ts +83 -0
  576. package/src/tools/scroll-to-element.ts +188 -0
  577. package/src/tools/scroll.ts +97 -0
  578. package/src/tools/select-device.ts +298 -0
  579. package/src/tools/select-platform.ts +243 -0
  580. package/src/tools/session-store.ts +72 -0
  581. package/src/tools/setup-wda.ts +218 -0
  582. package/src/types/appium-ios-device.d.ts +8 -0
  583. package/src/types/appium-xcuitest-driver.d.ts +5 -0
  584. package/tsconfig.json +23 -0
  585. package/index.js +0 -0
@@ -0,0 +1,459 @@
1
+ ---
2
+ title: Migrating to Appium 3
3
+ ---
4
+
5
+ <style>
6
+ .md-typeset .grid {
7
+ grid-template-columns: repeat(auto-fit,minmax(min(100%,11rem),1fr));
8
+ }
9
+ </style>
10
+
11
+ This document is a guide for those who are using Appium 2 and would like to upgrade to Appium 3.
12
+ It contains a list of breaking changes, as well as suggestions for handling them.
13
+
14
+ While Appium 2 was a major overhaul of the entire Appium architecture, Appium 3 is a smaller
15
+ upgrade with fewer breaking changes, which should result in a much simpler migration process.
16
+
17
+ ## Installation
18
+
19
+ The installation method for Appium 3 remains the same as for Appium 2. If you want to upgrade, you
20
+ can simply install Appium 3 on top of your existing installation:
21
+
22
+ ```bash
23
+ # optional: `appium setup reset`
24
+ npm install -g appium
25
+ ```
26
+
27
+ \## Breaking Changes
28
+
29
+ ### Node 20+ Required
30
+
31
+ With Appium 2, the minimum required Node version was `14.17.0`. Support for Node 14 had already
32
+ ended before the release of Appium 2, which meant that even users on outdated Node versions were
33
+ able to use it.
34
+
35
+ Appium 3 drops support for outdated Node versions, and bumps the minimum required version to Node
36
+ `20.19.0` (with the semver range `^20.19.0 || ^22.12.0 || >=24.0.0`), as well as the minimum `npm`
37
+ version to `10`.
38
+
39
+ !!! info "Actions Needed"
40
+
41
+ Upgrade Node.js to `v20.19.0` or newer, and `npm` to `v10` or newer
42
+
43
+ ### Deprecated Endpoints Removed
44
+
45
+ Appium 3 removes many previously deprecated server endpoints. Some of these endpoints have now
46
+ become specific to one or more drivers, while most others have direct or close-to-direct
47
+ replacements in other endpoints. All removed endpoints, along with replacements (where applicable)
48
+ are listed [in the **Removed Endpoints** section](#removed).
49
+
50
+ Some W3C endpoints used in Appium also existed in the old JSONWP standard, but required different
51
+ parameters. With Appium 2, both standards for these endpoints were supported. Appium 3 changes
52
+ these endpoints by removing support for the JSONWP parameters, and only accepting the W3C
53
+ parameters. These endpoints are listed [in the **Modified Endpoints** section](#modified).
54
+
55
+ !!! info "Actions Needed"
56
+
57
+ Check your Appium client documentation for the affected methods, and adjust your code to use
58
+ their replacements
59
+
60
+ ### Feature Flag Prefix Required
61
+
62
+ With Appium 2, it was possible to opt into certain [insecure features](./security.md) on server
63
+ startup, which could be enabled using the `--allow-insecure` or `--relaxed-security` flags. Appium
64
+ `2.13` added the ability to optionally provide a scope prefix to specific features, ensuring that
65
+ they would only be enabled for the specified driver (or all of them).
66
+
67
+ Appium 3 makes the scope prefix mandatory, and will throw an error if features are specified
68
+ without a scope. Note that the behavior of the `--relaxed-security` flag remains unchanged.
69
+
70
+ !!! info "Actions Needed"
71
+
72
+ If you use the `--allow-insecure` server flag, add a scope prefix before each feature name.
73
+ For example, if you use the UiAutomator2 `adb_shell` feature, on Appium 2 you would enable it
74
+ like this:
75
+ ` appium --allow-insecure=adb_shell `
76
+ On Appium 3, to ensure this feature is only activated for UiAutomator2, you can run it like so:
77
+ ` appium --allow-insecure=uiautomator2:adb_shell `
78
+ Alternatively, if you wish to keep the Appium 2 behavior and enable the feature for _all_
79
+ drivers that support it, you can use the wildcard (`*`) prefix:
80
+ ` appium --allow-insecure=*:adb_shell `
81
+ Server-scope features like `session_discovery` also require the wildcard prefix.
82
+
83
+ ### Session Discovery Requires Feature Flag
84
+
85
+ In Appium 2, it was possible to retrieve all active server sessions via the `GET /sessions`
86
+ endpoint. This information could then be used, for example, in Appium Inspector, in order to attach
87
+ to an existing session, instead of creating a new one.
88
+
89
+ Appium 3 makes two changes to the session discovery process:
90
+
91
+ - The `GET /sessions` endpoint is replaced with `GET /appium/sessions` (see [the Removed Endpoints section](#removed))
92
+ - The use of the new endpoint requires the `session_discovery` [feature flag](./security.md)
93
+
94
+ The return value of `GET /appium/sessions` is largely identical to `GET /sessions`, but additionally
95
+ includes the `created` field for each session entry, indicating the session creation time as a Unix
96
+ timestamp. The rest of the result format remains unchanged.
97
+
98
+ To reduce migration efforts, the `GET /appium/sessions` endpoint (locked behind the aforementioned
99
+ feature flag) is also available in Appium `2.19`, allowing you to adjust your code before upgrading
100
+ to Appium 3. As for Appium Inspector, support for this new endpoint is available starting from
101
+ version `2025.3.1`.
102
+
103
+ !!! info "Actions Needed"
104
+
105
+ \* If your code uses session retrieval, change the endpoint from `GET /sessions` to
106
+ `GET /appium/sessions`
107
+ \* If you use Appium Inspector's Attach to Session feature, upgrade to version `2025.3.1` or later
108
+ \* In both cases, ensure your Appium server is launched with the `session_discovery`
109
+ [feature flag](./security.md)
110
+
111
+ ### Unzip Logic Removed
112
+
113
+ Appium 3 removes the custom unzip logic used when working with files like application packages.
114
+ Such files are often only relevant to particular platforms, therefore the functionality for
115
+ handling these operations has been moved to relevant drivers.
116
+
117
+ !!! info "Actions Needed"
118
+
119
+ Ensure you are using the most recent versions of your drivers
120
+
121
+ ### Express 5
122
+
123
+ Appium 3 upgrades the internally-used `express` dependency from `v4` to `v5`. This should not
124
+ affect users who use Appium directly, but developers integrating parts of Appium into their own
125
+ projects may want to check [the Express 5 Migration Guide](https://expressjs.com/en/guide/migrating-5.html).
126
+
127
+ !!! info "Actions Needed"
128
+
129
+ None! (hopefully)
130
+
131
+ ## Endpoint Changes
132
+
133
+ ### Removed
134
+
135
+ The following is a list of all the Appium server endpoints removed in Appium 3. For ease of
136
+ migration, additional information is provided for each endpoint: drivers that still support the
137
+ endpoint; suggested replacement endpoints, or, rarely, the lack of any available replacements.
138
+
139
+ Icons are used to indicate endpoint support in either certain drivers, or in the core Appium server
140
+ (applicable to all drivers):
141
+
142
+ <div class="grid cards" markdown>
143
+
144
+ - :simple-appium:{ .lg } - Appium server
145
+ - :material-apple:{ .lg } - [XCUITest driver](https://appium.github.io/appium-xcuitest-driver/latest/)
146
+ - :material-android:{ .lg } - [UiAutomator2 driver](https://github.com/appium/appium-uiautomator2-driver/)
147
+ - :material-coffee:{ .lg } - [Espresso driver](https://github.com/appium/appium-espresso-driver)
148
+ - :material-apple-finder:{ .lg } - [Mac2 driver](https://github.com/appium/appium-mac2-driver)
149
+ - :material-microsoft-windows:{ .lg } - [Windows driver](https://github.com/appium/appium-windows-driver)
150
+
151
+ </div>
152
+
153
+ - `GET /sessions`
154
+ - :octicons-arrow-right-24: `GET /appium/sessions` :simple-appium:
155
+ - `POST /session/:sessionId/accept_alert`
156
+ - :octicons-arrow-right-24: `POST /session/:sessionId/alert/accept` :simple-appium:
157
+ - :octicons-arrow-right-24: `mobile: alert` [execute method](./execute-methods.md) :material-apple:
158
+ - :octicons-arrow-right-24: `mobile: acceptAlert` execute method :material-android:
159
+ - `GET /session/:sessionId/alert_text`
160
+ - :octicons-arrow-right-24: `GET /session/:sessionId/alert/text` :simple-appium:
161
+ - `POST /session/:sessionId/alert_text`
162
+ - :octicons-arrow-right-24: `POST /session/:sessionId/alert/text` :simple-appium:
163
+ - `POST /session/:sessionId/appium/app/background`
164
+ - :octicons-arrow-right-24: `mobile: backgroundApp` execute method :material-apple: :material-android: :material-coffee:
165
+ - `POST /session/:sessionId/appium/app/close`
166
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
167
+ - :octicons-arrow-right-24: `mobile: terminateApp` execute method :material-apple: :material-android: :material-coffee:
168
+ - :octicons-arrow-right-24: `macos: terminateApp` execute method :material-apple-finder:
169
+ - :octicons-arrow-right-24: `windows: closeApp` execute method :material-microsoft-windows:
170
+ - `POST /session/:sessionId/appium/app/end_test_coverage`
171
+ - :octicons-arrow-right-24: `mobile: shell` execute method :material-android: :material-coffee:
172
+ - `POST /session/:sessionId/appium/app/launch`
173
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
174
+ - :octicons-arrow-right-24: `mobile: launchApp` execute method :material-apple:
175
+ - :octicons-arrow-right-24: `mobile: activateApp` or `mobile: startActivity` execute methods :material-android: :material-coffee:
176
+ - :octicons-arrow-right-24: `macos: launchApp` or `macos: activateApp` execute methods :material-apple-finder:
177
+ - :octicons-arrow-right-24: `windows: launchApp` execute method :material-microsoft-windows:
178
+ - `POST /session/:sessionId/appium/app/reset`
179
+ - :octicons-arrow-right-24: `mobile: clearApp` execute method :material-apple: [^sim] :material-android: :material-coffee:
180
+ - `POST /session/:sessionId/appium/app/strings`
181
+ - :octicons-arrow-right-24: `mobile: getAppStrings` execute method :material-apple: :material-android: :material-coffee:
182
+ - `GET /session/:sessionId/appium/device/app_state`
183
+ - :octicons-arrow-right-24: `POST /session/:sessionId/appium/device/app_state` :simple-appium:
184
+ - :octicons-arrow-right-24: `mobile: queryAppState` execute method :material-apple: :material-android: :material-coffee:
185
+ - :octicons-arrow-right-24: `macos: queryAppState` execute method :material-apple-finder:
186
+ - `GET /session/:sessionId/appium/device/current_activity`
187
+ - :octicons-arrow-right-24: `mobile: getCurrentActivity` execute method :material-android: :material-coffee:
188
+ - `GET /session/:sessionId/appium/device/current_package`
189
+ - :octicons-arrow-right-24: `mobile: getCurrentPackage` execute method :material-android: :material-coffee:
190
+ - `GET /session/:sessionId/appium/device/display_density`
191
+ - :octicons-arrow-right-24: `mobile: getDisplayDensity` execute method :material-android: :material-coffee:
192
+ - `POST /session/:sessionId/appium/device/finger_print`
193
+ - :octicons-arrow-right-24: `mobile: fingerPrint` execute method :material-android: [^sim] :material-coffee: [^sim]
194
+ - `POST /session/:sessionId/appium/device/get_clipboard`
195
+ - :octicons-check-24: Moved to drivers: :material-android: :material-coffee:
196
+ - :octicons-arrow-right-24: `mobile: getClipboard` execute method :material-apple: :material-android: :material-coffee:
197
+ - :octicons-arrow-right-24: `mobile: getPasteboard` execute method :material-apple: [^sim]
198
+ - :octicons-arrow-right-24: `windows: getClipboard` execute method :material-microsoft-windows:
199
+ - `POST /session/:sessionId/appium/device/gsm_call`
200
+ - :octicons-arrow-right-24: `mobile: gsmCall` execute method :material-android: [^sim] :material-coffee: [^sim]
201
+ - `POST /session/:sessionId/appium/device/gsm_signal`
202
+ - :octicons-arrow-right-24: `mobile: gsmSignal` execute method :material-android: [^sim] :material-coffee: [^sim]
203
+ - `POST /session/:sessionId/appium/device/gsm_voice`
204
+ - :octicons-arrow-right-24: `mobile: gsmVoice` execute method :material-android: [^sim] :material-coffee: [^sim]
205
+ - `POST /session/:sessionId/appium/device/is_locked`
206
+ - :octicons-arrow-right-24: `mobile: isLocked` execute method :material-apple: :material-android: :material-coffee:
207
+ - `POST /session/:sessionId/appium/device/keyevent`
208
+ - :octicons-arrow-right-24: `mobile: keys` execute method :material-apple: (iPadOS only)
209
+ - :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
210
+ - :octicons-arrow-right-24: `macos: keys` execute method :material-apple-finder:
211
+ - :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
212
+ - `POST /session/:sessionId/appium/device/lock`
213
+ - :octicons-arrow-right-24: `mobile: lock` execute method :material-apple: :material-android: :material-coffee:
214
+ - `POST /session/:sessionId/appium/device/long_press_keycode`
215
+ - :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
216
+ - `POST /session/:sessionId/appium/device/network_speed`
217
+ - :octicons-arrow-right-24: `mobile: networkSpeed` execute method :material-android: [^sim] :material-coffee: [^sim]
218
+ - `POST /session/:sessionId/appium/device/open_notifications`
219
+ - :octicons-arrow-right-24: `mobile: statusBar` execute method :material-android: :material-coffee:
220
+ - :octicons-arrow-right-24: `mobile: openNotifications` execute method :material-android:
221
+ - `POST /session/:sessionId/appium/device/power_ac`
222
+ - :octicons-arrow-right-24: `mobile: powerAC` execute method :material-android: [^sim] :material-coffee: [^sim]
223
+ - `POST /session/:sessionId/appium/device/power_capacity`
224
+ - :octicons-arrow-right-24: `mobile: powerCapacity` execute method :material-android: [^sim] :material-coffee: [^sim]
225
+ - `POST /session/:sessionId/appium/device/press_keycode`
226
+ - :octicons-arrow-right-24: `mobile: keys` execute method :material-apple: (iPadOS only)
227
+ - :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
228
+ - :octicons-arrow-right-24: `macos: keys` execute method :material-apple-finder:
229
+ - :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
230
+ - `POST /session/:sessionId/appium/device/send_sms`
231
+ - :octicons-arrow-right-24: `mobile: sendSms` execute method :material-android: [^sim] :material-coffee: [^sim]
232
+ - `POST /session/:sessionId/appium/device/set_clipboard`
233
+ - :octicons-arrow-right-24: `mobile: setClipboard` execute method :material-apple: :material-android: :material-coffee:
234
+ - :octicons-arrow-right-24: `mobile: setPasteboard` execute method :material-apple: [^sim]
235
+ - :octicons-arrow-right-24: `windows: setClipboard` execute method :material-microsoft-windows:
236
+ - `POST /session/:sessionId/appium/device/shake`
237
+ - :octicons-arrow-right-24: `mobile: shake` execute method :material-apple: [^sim]
238
+ - `POST /session/:sessionId/appium/device/start_activity`
239
+ - :octicons-arrow-right-24: `mobile: startActivity` execute method :material-android: :material-coffee:
240
+ - `GET /session/:sessionId/appium/device/system_bars`
241
+ - :octicons-arrow-right-24: `mobile: deviceScreenInfo` execute method :material-apple:
242
+ - :octicons-arrow-right-24: `mobile: getSystemBars` execute method :material-android: :material-coffee:
243
+ - `POST /session/:sessionId/appium/device/toggle_airplane_mode`
244
+ - :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
245
+ - `POST /session/:sessionId/appium/device/toggle_data`
246
+ - :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
247
+ - `POST /session/:sessionId/appium/device/toggle_location_services`
248
+ - :octicons-arrow-right-24: `mobile: toggleGps` execute method :material-android: :material-coffee:
249
+ - `POST /session/:sessionId/appium/device/toggle_wifi`
250
+ - :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
251
+ - `POST /session/:sessionId/appium/device/unlock`
252
+ - :octicons-arrow-right-24: `mobile: unlock` execute method :material-apple: :material-android: :material-coffee:
253
+ - `POST /session/:sessionId/appium/element/:elementId/value`
254
+ - :octicons-arrow-right-24: `POST /session/:sessionId/element/:elementId/value` :simple-appium:
255
+ - `POST /session/:sessionId/appium/element/:elementId/replace_value`
256
+ - :octicons-arrow-right-24: `POST /session/:sessionId/element/:elementId/value` :simple-appium:
257
+ - `POST /session/:sessionId/appium/getPerformanceData`
258
+ - :octicons-arrow-right-24: `mobile: getPerformanceData` execute method :material-android: :material-coffee:
259
+ - `POST /session/:sessionId/appium/performanceData/types`
260
+ - :octicons-arrow-right-24: `mobile: getPerformanceDataTypes` execute method :material-android: :material-coffee:
261
+ - `POST /session/:sessionId/appium/receive_async_response`
262
+ - :octicons-arrow-right-24: `POST /session/:sessionId/execute/async` :simple-appium:
263
+ - `POST /session/:sessionId/appium/simulator/toggle_touch_id_enrollment`
264
+ - :octicons-arrow-right-24: `mobile: enrollBiometric` execute method :material-apple: [^sim]
265
+ - `POST /session/:sessionId/appium/simulator/touch_id`
266
+ - :octicons-arrow-right-24: `mobile: sendBiometricMatch` execute method :material-apple: [^sim]
267
+ - `POST /session/:sessionId/appium/start_recording_screen`
268
+ - :octicons-check-24: Moved to drivers: :material-apple: :material-android: :material-coffee: :material-apple-finder: :material-microsoft-windows:
269
+ - :octicons-arrow-right-24: `mobile: startXCTestScreenRecording` execute method :material-apple:
270
+ - :octicons-arrow-right-24: `mobile: startMediaProjectionRecording` execute method :material-android: :material-coffee:
271
+ - :octicons-arrow-right-24: `macos: startRecordingScreen` or `macos: startNativeScreenRecording` execute methods :material-apple-finder:
272
+ - :octicons-arrow-right-24: `windows: startRecordingScreen` execute method :material-microsoft-windows:
273
+ - `POST /session/:sessionId/appium/stop_recording_screen`
274
+ - :octicons-check-24: Moved to drivers: :material-apple: :material-android: :material-coffee: :material-apple-finder: :material-microsoft-windows:
275
+ - :octicons-arrow-right-24: `mobile: stopXCTestScreenRecording` execute method :material-apple:
276
+ - :octicons-arrow-right-24: `mobile: stopMediaProjectionRecording` execute method :material-android: :material-coffee:
277
+ - :octicons-arrow-right-24: `macos: stopRecordingScreen` or `macos: stopNativeScreenRecording` execute methods :material-apple-finder:
278
+ - :octicons-arrow-right-24: `windows: stopRecordingScreen` execute method :material-microsoft-windows:
279
+ - `GET /session/:sessionId/application_cache/status`
280
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
281
+ - `POST /session/:sessionId/buttondown`
282
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
283
+ - :octicons-arrow-right-24: [W3C Actions API](https://www.selenium.dev/documentation/webdriver/actions_api/) (`pointerDown`) :simple-appium:
284
+ - :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
285
+ - `POST /session/:sessionId/buttonup`
286
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
287
+ - :octicons-arrow-right-24: W3C Actions API (`pointerUp`) :simple-appium:
288
+ - :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
289
+ - `POST /session/:sessionId/click`
290
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
291
+ - :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
292
+ - `POST /session/:sessionId/dismiss_alert`
293
+ - :octicons-arrow-right-24: `POST /session/:sessionId/alert/dismiss` :simple-appium:
294
+ - `POST /session/:sessionId/doubleclick`
295
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
296
+ - :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
297
+ - `POST /session/:sessionId/element/active`
298
+ - :octicons-arrow-right-24: `GET /session/:sessionId/element/active` :simple-appium:
299
+ - `GET /session/:sessionId/element/:elementId/equals/:otherId`
300
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
301
+ - `GET /session/:sessionId/element/:elementId/location`
302
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
303
+ - :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/rect` :simple-appium:
304
+ - `GET /session/:sessionId/element/:elementId/location_in_view`
305
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
306
+ - `GET /session/:sessionId/element/:elementId/pageIndex`
307
+ - :octicons-no-entry-24: MJSONWP protocol command with no direct replacement
308
+ - `GET /session/:sessionId/element/:elementId/size`
309
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
310
+ - :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/rect` :simple-appium:
311
+ - `POST /session/:sessionId/element/:elementId/submit`
312
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
313
+ - `POST /session/:sessionId/execute`
314
+ - :octicons-arrow-right-24: `POST /session/:sessionId/execute/sync` :simple-appium:
315
+ - `POST /session/:sessionId/execute_async`
316
+ - :octicons-arrow-right-24: `POST /session/:sessionId/execute/async` :simple-appium:
317
+ - `POST /session/:sessionId/keys`
318
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
319
+ - :octicons-arrow-right-24: W3C Actions API (`keyDown` & `keyUp`) :simple-appium:
320
+ - Selenium-based clients can also use [Send Keys](https://www.selenium.dev/documentation/webdriver/actions_api/keyboard/#send-keys)
321
+ - `GET /session/:sessionId/local_storage`
322
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
323
+ - `POST /session/:sessionId/local_storage`
324
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
325
+ - `DELETE /session/:sessionId/local_storage`
326
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
327
+ - `GET /session/:sessionId/local_storage/key/:key`
328
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
329
+ - `DELETE /session/:sessionId/local_storage/key/:key`
330
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
331
+ - `GET /session/:sessionId/local_storage/size`
332
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
333
+ - `POST /session/:sessionId/log`
334
+ - :octicons-arrow-right-24: `POST /session/:sessionId/se/log` :simple-appium:
335
+ - `GET /session/:sessionId/log/types`
336
+ - :octicons-arrow-right-24: `GET /session/:sessionId/se/log/types` :simple-appium:
337
+ - `POST /session/:sessionId/moveto`
338
+ - :octicons-arrow-right-24: W3C Actions API (`pointerMove`) :simple-appium:
339
+ - Selenium-based clients can also use [Move by Offset](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#move-by-offset)
340
+ - `GET /session/:sessionId/screenshot/:elementId`
341
+ - :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/screenshot` :simple-appium:
342
+ - `GET /session/:sessionId/session_storage`
343
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
344
+ - `POST /session/:sessionId/session_storage`
345
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
346
+ - `DELETE /session/:sessionId/session_storage`
347
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
348
+ - `GET /session/:sessionId/session_storage/key/:key`
349
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
350
+ - `DELETE /session/:sessionId/session_storage/key/:key`
351
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
352
+ - `GET /session/:sessionId/session_storage/size`
353
+ - :octicons-no-entry-24: JSONWP protocol command with no direct replacement
354
+ - `POST /session/:sessionId/timeouts/async_script`
355
+ - :octicons-arrow-right-24: `POST /session/:sessionId/timeouts` :simple-appium:
356
+ - `POST /session/:sessionId/timeouts/implicit_wait`
357
+ - :octicons-arrow-right-24: `POST /session/:sessionId/timeouts` :simple-appium:
358
+ - `POST /session/:sessionId/touch/click`
359
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
360
+ - :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
361
+ - Selenium-based clients can also use [Click and Release](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#click-and-release)
362
+ - :octicons-arrow-right-24: `mobile: tap` or `mobile: tapWithNumberOfTaps` execute methods :material-apple:
363
+ - :octicons-arrow-right-24: `mobile: clickGesture` execute method :material-android:
364
+ - :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
365
+ - :octicons-arrow-right-24: `macos: click`, `macos: rightClick`, `macos: press` or `macos: tap` execute methods :material-apple-finder:
366
+ - :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
367
+ - `POST /session/:sessionId/touch/doubleclick`
368
+ - :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
369
+ - Selenium-based clients can also use [Double Click](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#double-click)
370
+ - :octicons-arrow-right-24: `mobile: doubleTap` or `mobile: tapWithNumberOfTaps` execute methods :material-apple:
371
+ - :octicons-arrow-right-24: `mobile: doubleClickGesture` execute method :material-android:
372
+ - :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
373
+ - :octicons-arrow-right-24: `macos: doubleClick` or `macos: doubleTap` execute methods :material-apple-finder:
374
+ - :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
375
+ - `POST /session/:sessionId/touch/down`
376
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
377
+ - :octicons-arrow-right-24: W3C Actions API (`pointerDown`) :simple-appium:
378
+ - :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
379
+ - `POST /session/:sessionId/touch/flick`
380
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
381
+ - :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pointerMove` & `pointerUp`) :simple-appium:
382
+ - :octicons-arrow-right-24: `mobile: flingGesture` execute method :material-android:
383
+ - `POST /session/:sessionId/touch/longclick`
384
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
385
+ - :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pause` & `pointerUp`) :simple-appium:
386
+ - :octicons-arrow-right-24: `mobile: touchAndHold` execute method :material-apple:
387
+ - :octicons-arrow-right-24: `mobile: longClickGesture` execute method :material-android:
388
+ - :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
389
+ - :octicons-arrow-right-24: `macos: press` execute method :material-apple-finder:
390
+ - :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
391
+ - `POST /session/:sessionId/touch/multi/perform`
392
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
393
+ - :octicons-arrow-right-24: `POST /session/:sessionId/actions` :simple-appium:
394
+ - `POST /session/:sessionId/touch/move`
395
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
396
+ - :octicons-arrow-right-24: W3C Actions API (`pointerMove`) :simple-appium:
397
+ - Selenium-based clients can also use [Move by Offset](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#move-by-offset)
398
+ - `POST /session/:sessionId/touch/perform`
399
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
400
+ - :octicons-arrow-right-24: `POST /session/:sessionId/actions` :simple-appium:
401
+ - `POST /session/:sessionId/touch/scroll`
402
+ - :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pointerMove` & `pointerUp`) :simple-appium:
403
+ - :octicons-arrow-right-24: `mobile: scroll` or `mobile: swipe` execute methods :material-apple:
404
+ - :octicons-arrow-right-24: `mobile: scrollGesture` or `mobile: swipeGesture` execute methods :material-android:
405
+ - :octicons-arrow-right-24: `mobile: swipe` execute method :material-coffee:
406
+ - :octicons-arrow-right-24: `macos: scroll` or `macos: swipe` execute methods :material-apple-finder:
407
+ - :octicons-arrow-right-24: `windows: scroll` execute method :material-microsoft-windows:
408
+ - `POST /session/:sessionId/touch/up`
409
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
410
+ - :octicons-arrow-right-24: W3C Actions API (`pointerUp`) :simple-appium:
411
+ - :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
412
+ - `GET /session/:sessionId/window_handle`
413
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
414
+ - :octicons-arrow-right-24: `GET /session/:sessionId/window` :simple-appium:
415
+ - `GET /session/:sessionId/window_handles`
416
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
417
+ - :octicons-arrow-right-24: `GET /session/:sessionId/window/handles` :simple-appium:
418
+ - `GET /session/:sessionId/window/handle`
419
+ - :octicons-arrow-right-24: `GET /session/:sessionId/window` :simple-appium:
420
+ - `POST /session/:sessionId/window/:windowhandle/maximize`
421
+ - :octicons-arrow-right-24: `POST /session/:sessionId/window/maximize` :simple-appium:
422
+ - :fontawesome-solid-triangle-exclamation: Only supported for the current window
423
+ - `GET /session/:sessionId/window/:windowhandle/position`
424
+ - :octicons-arrow-right-24: `GET /session/:sessionId/window/rect` :simple-appium:
425
+ - :fontawesome-solid-triangle-exclamation: Only supported for the current window
426
+ - `POST /session/:sessionId/window/:windowhandle/position`
427
+ - :octicons-arrow-right-24: `POST /session/:sessionId/window/rect` :simple-appium:
428
+ - :fontawesome-solid-triangle-exclamation: Only supported for the current window
429
+ - `GET /session/:sessionId/window/:windowhandle/size`
430
+ - :octicons-check-24: Moved to drivers: :material-microsoft-windows:
431
+ - :octicons-arrow-right-24: `GET /session/:sessionId/window/rect` :simple-appium:
432
+ - :fontawesome-solid-triangle-exclamation: Only supported for the current window
433
+
434
+ ### Modified
435
+
436
+ The following are all endpoints modified in Appium 3, by removing handling for old or unused
437
+ parameters (note that no new parameters have been added). Each endpoint lists the parameters it no
438
+ longer accepts, as well as the parameters it continues to accept in Appium 3.
439
+
440
+ - `POST /session`
441
+ - :octicons-x-24: `desiredCapabilities`, `requiredCapabilities`
442
+ - :octicons-check-24: `capabilities`
443
+ - `POST /session/:sessionId/alert/text`
444
+ - :octicons-x-24: `value`
445
+ - :octicons-check-24: `text`
446
+ - `GET /session/:sessionId/appium/device/system_time`
447
+ - :octicons-x-24: `format`
448
+ - :octicons-check-24: None
449
+ - `POST /session/:sessionId/element/:elementId/value`
450
+ - :octicons-x-24: `value`
451
+ - :octicons-check-24: `text`
452
+ - `POST /session/:sessionId/timeouts`
453
+ - :octicons-x-24: `type`, `ms`
454
+ - :octicons-check-24: `script`, `pageLoad`, `implicit`
455
+ - `POST /session/:sessionId/window`
456
+ - :octicons-x-24: `name`
457
+ - :octicons-check-24: `handle`
458
+
459
+ [^sim]: Supported in emulators/simulators only
@@ -0,0 +1,89 @@
1
+ ---
2
+ title: Appium Server Security
3
+ ---
4
+
5
+ The Appium team makes every effort to ensure the security of the Appium server. This is especially
6
+ important when Appium is run in a multitenant environment, or when multiple users are running
7
+ sessions on the same Appium server. In general, you can only safely enable all Appium's features if
8
+ all the following are true:
9
+
10
+ - You're running your own Appium server locally or within a protected internal network
11
+ - You're not sharing it with any untrusted parties
12
+ - You don't expose Appium's port(s) to the wider internet
13
+
14
+ But because many Appium users might not be able to guarantee such a safe environment, the Appium
15
+ team puts many features behind a security protection mechanism which forces system admins (the
16
+ people that are in charge of starting the Appium server) to _explicitly opt-in_ to these features.
17
+ (Third-party driver and plugin authors can also hide behaviour behind security
18
+ flags.)
19
+
20
+ For security reasons, Appium client sessions can _not_ request feature enablement via capabilities;
21
+ this is the responsibility of the server admin who configures and launches the Appium server.
22
+
23
+ ## Security Server Args
24
+
25
+ The [Server CLI](../reference/cli/server.md) doc outlines three relevant arguments which may be passed to
26
+ Appium when starting it from the command line:
27
+
28
+ | <div style="width:10em">Parameter</div> | Description |
29
+ | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
30
+ | `--relaxed-security` | Turns on _all_ insecure features, except those blocked by `--deny-insecure` |
31
+ | `--allow-insecure` | Turns on _only_ specified features, except those blocked by `--deny-insecure`. Has no effect when used in combination with `--relaxed-security` |
32
+ | `--deny-insecure` | Explicitly turns _off_ specified features, overriding `--relaxed-security` and `--allow-insecure` |
33
+
34
+ All of the above arguments can also be specified in the [Appium Configuration file](./config.md).
35
+
36
+ Features passed to `--allow-insecure`/`--deny-insecure` must be specified as a comma-separated list,
37
+ and each feature in the list must additionally include a prefix, indicating the driver to which the
38
+ feature should apply. The prefix can be either the driver's `automationName`, or the wildcard (`*`)
39
+ symbol, if the feature should be applied to all drivers. The prefix and feature name are separated
40
+ using the colon character (`:`).
41
+
42
+ For example, `first:foo` refers to the `foo` feature for the `first` driver, whereas `*:bar` refers
43
+ to the `bar` feature for all drivers.
44
+
45
+ ## Insecure Features
46
+
47
+ Each Appium driver is responsible for its own security, and can create its own feature names. Thus
48
+ you should read through the documentation for a particular driver to know which feature names it
49
+ might use. Here is an incomplete list of examples from some of Appium's official drivers:
50
+
51
+ | <div style="width:12em">Feature Name</div> | Description | Supported Extension(s) |
52
+ | ------------------------------------------ | --------------------------------------------------------------------------------------- | ---------------------------------------------- |
53
+ | `get_server_logs` | Allows retrieving of Appium server logs via the Webdriver log interface | IOS, XCUITest, Android, UiAutomator2, Espresso |
54
+ | `adb_shell` | Allows execution of arbitrary shell commands via ADB, using the `mobile: shell` command | Android, UiAutomator2, Espresso |
55
+ | `record_audio` | Allow recording of host machine audio inputs | XCUITest |
56
+ | `execute_driver_script` | Allows to send a request which has multiple Appium commands. | Execute Driver Plugin |
57
+
58
+ Some insecure features operate on the server level, and do not require a driver session. Enabling
59
+ these features requires using the wildcard prefix:
60
+
61
+ | <div style="width:12em">Feature Name</div> | Description |
62
+ | ------------------------------------------ | ------------------------------------------------------------------------------- |
63
+ | `session_discovery` | Allows retrieving the list of active server sessions via `GET /appium/sessions` |
64
+
65
+ ## Examples
66
+
67
+ Turn on the `foo` feature only for the `first` driver:
68
+
69
+ ```bash
70
+ appium --allow-insecure=first:foo
71
+ ```
72
+
73
+ Turn on the `foo` feature for all drivers:
74
+
75
+ ```bash
76
+ appium --allow-insecure=*:foo
77
+ ```
78
+
79
+ Turn on the `foo` feature for all drivers _except_ `first`:
80
+
81
+ ```bash
82
+ appium --allow-insecure=*:foo --deny-insecure=first:foo
83
+ ```
84
+
85
+ Turn on all features _except_ `foo` for all drivers:
86
+
87
+ ```bash
88
+ appium --relaxed-security --deny-insecure=*:foo
89
+ ```
@@ -0,0 +1,70 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Session Settings
6
+ ---
7
+
8
+ Appium has a set of extension APIs that allow you to adjust parameters for a given session during
9
+ the session itself. Called "Settings", these parameters are similar to [Capabilities](./caps.md),
10
+ but while Capabilities _cannot be adjusted_ once a session has started, Settings _can be adjusted any
11
+ number of times_ during the course of a session.
12
+
13
+ There are 3 important points to the concept of Settings:
14
+
15
+ - Settings are mutable; they can be changed during a session using the Settings API
16
+ - Settings are only relevant during the session in which they are set. They are typically reset for
17
+ each new session, though depending on the driver, some settings may persist between sessions
18
+ - Settings only adjust the way the Appium server behaves during test automation. They do not affect
19
+ the device or app under test
20
+
21
+ An example of a setting would be the `ignoreUnimportantViews` setting recognized by the UiAutomator2
22
+ driver. The driver can be instructed to ignore elements in the view hierarchy which it deems
23
+ irrelevant. Changing this setting to `true` can cause tests to run faster. But if later in the same
24
+ session you _want_ to access elements which would be ignored under this setting, you can always
25
+ change it back to `false`.
26
+
27
+ Settings are implemented via the following API endpoints:
28
+
29
+ | Command | <div style="width:18em">Method/Route</div> | Params | Description | Returns |
30
+ | ----------------- | ------------------------------------------ | ----------------------------------------------------- | ---------------------------------- | ----------------------------------------------------- |
31
+ | `Update Settings` | `POST /session/:id/appium/settings` | `settings` (`Record<string, any>`) | Update the provided setting values | `null` |
32
+ | `Get Settings` | `GET /session/:id/appium/settings` | | Return the current settings | `settings` (`Record<string, any>`) |
33
+
34
+ The `settings` object must be a set of keys and values, where the key is the setting name, and the
35
+ value is any documented valid value for that setting.
36
+
37
+ !!! info
38
+
39
+ ```
40
+ Settings are driver-specific, so refer to your driver's documentation for a list of supported settings
41
+ ```
42
+
43
+ ## Initializing Settings via Capabilities
44
+
45
+ If you want to start an Appium session with a setting in a non-default state, you can do so by
46
+ including a capability of the form `appium:settings[<name>]` with the appropriate value. So to turn
47
+ on the `ignoreUnimportantViews` setting mentioned above from the very beginning of a session, you
48
+ would construct a set of capabilities that includes the following in its JSON representation:
49
+
50
+ ```json
51
+ {
52
+ "appium:settings[ignoreUnimportantViews]": true
53
+ }
54
+ ```
55
+
56
+ Also, since Appium 2.1, there is a possibility to provide multiple settings in a single
57
+ `appium:settings` capability value:
58
+
59
+ ```json
60
+ {
61
+ "appium:settings": {
62
+ "ignoreUnimportantViews": true,
63
+ "allowInvisibleElements": true
64
+ }
65
+ }
66
+ ```
67
+
68
+ Of course, initializing a setting via capabilities doesn't prevent you from changing it later on
69
+ via the Settings API. To learn more about how to use the Settings API in the context of your
70
+ specific client library, visit the documentation for that client.