Compare commits

...
Author SHA1 Message Date
Jonathan Lipps e3f7bd07f7 chore: publish
- appium@2.12.0
 - @appium/base-driver@9.12.0
 - @appium/base-plugin@2.2.46
 - @appium/doctor@2.1.12
 - @appium/docutils@1.0.22
 - @appium/driver-test-support@0.6.10
 - @appium/execute-driver-plugin@3.0.36
 - @appium/fake-driver@5.5.5
 - @appium/fake-plugin@3.1.50
 - @appium/images-plugin@3.0.20
 - @appium/plugin-test-support@0.3.43
 - @appium/schema@0.7.0
 - @appium/support@5.1.5
 - @appium/test-support@3.0.50
 - @appium/types@0.22.0
 - @appium/universal-xml-plugin@1.0.24
2024-10-15 09:32:02 -07:00
renovate[bot] ed6c6dd544 fix(docutils): update dependency yaml to v2.6.0 2024-10-14 20:23:38 +00:00
renovate[bot] b56b180f34 fix(universal-xml-plugin): update dependency @xmldom/xmldom to v0.9.4 (#20663)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-14 20:59:59 +03:00
Edgars Eglītis 12969268fe docs: fix links in Appium history document (#20667) 2024-10-14 20:50:21 +03:00
zhangxh075 b312028d7e docs: update zh ecosystem documentation (#20658)
* Finish the translation of the index.md file

* Finish the translation of the drivers.md file

* Finish the translation of the clients.md file

* Finish the translation of the plugins.md file

* Finish the translation of the tools.md file
2024-10-14 20:49:24 +03:00
Edgars Eglītis 8d7cec96d8 fix(docutils): support Python 3.12+ (#20666) 2024-10-14 20:40:31 +03:00
renovate[bot] 0e443d2799 fix(support): update dependency form-data to v4.0.1 2024-10-10 14:25:36 +00:00
renovate[bot] 5c41112134 chore(docutils): update dependency mkdocs-material to v9.5.40 2024-10-10 11:03:19 +00:00
renovate[bot] dd52d04b21 fix(docutils): update dependency typescript to v5.6.3 2024-10-09 13:28:02 +00:00
renovate[bot] 0e52da4b3a fix(base-driver): update dependency express to v4.21.1 2024-10-09 09:41:17 +00:00
renovate[bot] 98eed2d13f chore(deps): update definitelytyped 2024-10-08 09:57:47 +00:00
renovate[bot] 371568da36 chore(deps): update dependency eslint-find-rules to v4.2.0 2024-10-06 13:35:49 +00:00
Mykola Mokhnach 56618886ed feat(appium): Make server graceful shutdown timeout configurable via command line args (#20641) 2024-10-05 16:14:31 +02:00
renovate[bot] ab12235483 fix(appium): update dependency winston to v3.15.0 2024-10-05 09:40:28 +00:00
renovate[bot] 08f05562c1 chore(deps): update dependency eslint-plugin-import to v2.31.0 2024-10-04 09:05:01 +00:00
Kim ArnettandKazuaki Matsuo a1d35404a2 docs(appium): add axe DevTools for Mobile drivers to Appium other drivers list: Supports accessibility testing for mobile apps (#20630)
* docs: add axe DevTools for Mobile drivers to Appium other drivers list: Supports accessibility testing for mobile apps

* Update packages/appium/docs/en/ecosystem/drivers.md

Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>

---------

Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>
2024-10-03 17:12:34 -07:00
Kazuaki Matsuo a16c4c9521 docs(appium): Remove HS from development sponsor for now (#20635)
* docs(appium): Remove HS from development sponsor for now

* remove from docs/en/index.md as well
2024-10-03 16:57:06 -07:00
renovate[bot] a2b0ba8773 fix(driver-test-support): update dependency @types/lodash to v4.17.10 2024-10-03 16:36:36 +00:00
renovate[bot] 796ca9f98f fix(execute-driver-plugin): update dependency webdriverio to v8.40.6 2024-10-03 09:16:38 +00:00
renovate[bot] 69e9abeed3 fix(types): update dependency @types/express to v5 (#20620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-02 20:03:52 +03:00
renovate[bot] cabc114935 chore(docutils): update dependency mkdocs-material to v9.5.39 2024-09-29 13:09:37 +00:00
renovate[bot] aa86ef9603 chore(deps): update dependency @types/node to v20.16.10 2024-09-28 10:04:05 +00:00
Kazuaki Matsuo 656ba166e1 docs(appium): move sponsors into appium.io page (#20623)
* docs(appium): move sponsors

* modify existing page

* fix review

* use https://appium.io/docs/en/latest/sponsors/
2024-09-27 17:12:59 -07:00
renovate[bot] e8886ae0d2 fix(base-driver): update dependency path-to-regexp to v8.2.0 2024-09-26 21:13:25 +00:00
Jonathan Lipps 122a1863de chore: publish
- appium@2.11.5
 - @appium/base-driver@9.11.5
 - @appium/base-plugin@2.2.45
 - @appium/docutils@1.0.21
 - @appium/driver-test-support@0.6.9
 - @appium/execute-driver-plugin@3.0.35
 - @appium/fake-driver@5.5.4
 - @appium/fake-plugin@3.1.49
 - @appium/test-support@3.0.49
 - @appium/universal-xml-plugin@1.0.23
2024-09-26 09:27:56 -07:00
renovate[bot] 0bbd2f8a76 chore(docutils): update dependency mkdocs-material to v9.5.38 2024-09-26 12:27:38 +00:00
renovate[bot] f03816cca5 chore(deps): update dependency @types/node to v20.16.9 2024-09-26 11:24:46 +00:00
renovate[bot] e1e478cf32 chore(docutils): update dependency mkdocs-material to v9.5.37 2024-09-25 14:09:43 +00:00
renovate[bot] c799629b7d chore(deps): update definitelytyped (#20611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 17:07:46 +03:00
renovate[bot] 1d9821352a chore(deps): update definitelytyped 2024-09-25 11:35:20 +00:00
zhangxh075 b8b0e42f69 docs: translate some documents into Chinese (#20608)
* Finish the translation of the requirements.md file

* Finish the translation of the test-rb.md file

* Finish the translation of the test-dotnet.md file

* Translate the missing parts in test-rb.md
2024-09-25 10:18:00 +03:00
renovate[bot] 6a8f26a9cb fix(test-support): update dependency sinon to v19 (#20576) 2024-09-24 10:05:13 +02:00
renovate[bot] e65c1cdaed fix(docutils): update dependency typescript to v5.6.2 (#20556) 2024-09-24 09:45:44 +02:00
renovate[bot] da7a4fdce8 fix(driver-test-support): update definitelytyped (#20605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 09:39:30 +02:00
renovate[bot] f344504f15 fix(universal-xml-plugin): update dependency @xmldom/xmldom to v0.9.3 (#20599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 09:25:47 +02:00
Mykola Mokhnach f0de55da0d fix(appium): Return hostname as web socket url for BiDi if a broadcast address is assigned to the server (#20603) 2024-09-24 08:40:04 +02:00
renovate[bot] 6704491be0 chore(docutils): update dependency mkdocs-material to v9.5.36 2024-09-21 13:35:40 +00:00
Edgars Eglītis 2a68d05b4d docs: remove AppiumConf banner (#20596) 2024-09-20 09:44:34 +03:00
Edgars Eglītis 5553016582 fix(execute-driver-plugin): replace vm2 with Node's built-in vm (#20594)
* fix: replace unsafe package vm2 with Node's vm

* chore: use node: prefix
2024-09-20 08:43:26 +03:00
Edgars Eglītis 9879d9f9b8 docs: update contributing guide (#20593) 2024-09-19 19:38:14 +03:00
renovate[bot] 517828be57 chore(docutils): update dependency mkdocs-material to v9.5.35 2024-09-18 13:48:43 +00:00
renovate[bot] e791a9b30c chore(deps): update dependency eslint to v8.57.1 2024-09-18 09:01:55 +00:00
Kazuaki Matsuo c2ccc80438 docs: add submit expense capture img in payout.md 2024-09-17 23:07:39 -07:00
Jonathan Lipps a56f0f820a chore: publish
- appium@2.11.4
 - @appium/base-driver@9.11.4
 - @appium/base-plugin@2.2.44
 - @appium/doctor@2.1.11
 - @appium/docutils@1.0.20
 - @appium/driver-test-support@0.6.8
 - @appium/execute-driver-plugin@3.0.34
 - @appium/fake-driver@5.5.3
 - @appium/fake-plugin@3.1.48
 - @appium/images-plugin@3.0.19
 - @appium/opencv@3.0.6
 - @appium/plugin-test-support@0.3.42
 - @appium/support@5.1.4
 - @appium/test-support@3.0.48
 - @appium/types@0.21.3
 - @appium/universal-xml-plugin@1.0.22
2024-09-16 13:16:36 -07:00
Edgars Eglītis b88ff49f80 Revert "chore(deps): update dependency conventional-changelog-conventionalcom…" (#20581)
This reverts commit 5bde635d19.
2024-09-16 22:39:21 +03:00
renovate[bot] 5bde635d19 chore(deps): update dependency conventional-changelog-conventionalcommits to v8 (#20085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-16 19:17:20 +03:00
Kazuaki Matsuo 175b7acc27 docs: add &random=1 in SPONSORS.md to generate a unique url as temporary (#20580) 2024-09-16 09:06:06 -07:00
renovate[bot] 507f2ba8b5 chore(deps): update dependency npm-run-all2 to v6.2.3 2024-09-15 13:17:20 +00:00
Oliver-Dang Dinh Ngoc 1ae1fe9c44 chore(docs): update config parameter when start appium server from --config-file to --config (#20579) 2024-09-15 12:06:31 +03:00
Kazuaki Matsuo c70faded35 docs: add forum example 2024-09-13 20:33:11 -07:00
renovate[bot] e922e9738c chore(deps): update dependency @types/mocha to v10.0.8 2024-09-13 14:23:09 +00:00
renovate[bot] 0899725aab chore(docutils): update dependency mkdocs-git-revision-date-localized-plugin to v1.2.9 2024-09-13 11:11:31 +00:00
Kazuaki Matsuo 62be085f95 docs: about payout (#20563)
* docs: about payout

* Update payout.md
2024-09-12 10:27:13 -07:00
renovate[bot] cb9fb9c6fe fix(base-driver): update dependency express to v4.21.0 2024-09-12 17:26:02 +00:00
renovate[bot] 82c5caf0b5 chore(deps): update dependency serve-static to v1.16.2 2024-09-12 14:50:55 +00:00
renovate[bot] bcbb8ee86e chore(deps): update dependency finalhandler to v1.3.1 2024-09-12 09:38:58 +00:00
renovate[bot] 980aa69b93 fix(test-support): update dependency sinon to v18.0.1 2024-09-11 13:40:05 +00:00
renovate[bot] 1cae549a7b fix(base-driver): update dependency path-to-regexp to v8.1.0 (#20562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 12:39:01 +03:00
renovate[bot] ef163eb8df fix(base-driver): update dependency express to v4.20.0 2024-09-10 15:36:03 +00:00
renovate[bot] 8c3b3005be chore(deps): update dependency serve-static to v1.16.0 2024-09-10 12:09:30 +00:00
renovate[bot] 056baba3a0 fix(base-driver): update dependency body-parser to v1.20.3 2024-09-10 11:21:14 +00:00
renovate[bot]andMykola Mokhnach 0ee7716cf0 fix(appium): update dependency @sidvind/better-ajv-errors to v3 (#20552)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
2024-09-09 21:15:16 +02:00
renovate[bot]andKazuaki Matsuo 3d674d0085 fix(universal-xml-plugin): update dependency @xmldom/xmldom to v0.9.2 (#20537)
* fix(universal-xml-plugin): update dependency @xmldom/xmldom to v0.9.2

* wrap different type for now

* revert some redundant lines, add annotation

* Add a url to the xmldom ticket as a reference

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kazuaki Matsuo <fly.49.89.over@gmail.com>
2024-09-09 15:03:34 +02:00
renovate[bot] bbe3b6c6e5 chore(docutils): update dependency mkdocs-git-revision-date-localized-plugin to v1.2.8 2024-09-09 11:06:32 +00:00
renovate[bot] 42d7ed8afe fix(doctor): update dependency appium-adb to v12.6.0 2024-09-08 10:22:15 +00:00
renovate[bot] 5b8cb76ea3 fix(types): update dependency type-fest to v4 (#20548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-08 10:52:08 +02:00
renovate[bot] d5959902bc fix(docutils): update dependency diff to v7 (#20547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-07 20:50:08 +03:00
zhangxh075 1d066073dc docs: translate some documents into Chinese (#20545)
* Translate the sections 'Automation mapping' and 'Multi-level architecture' in 'intro/drivers.md'

* Translate the sections 'Proxy mode' in 'intro/drivers.md'

* Translate the sections 'Early Inspiration' in 'intro/history.md'

* Translate the sections 'Selenium Conference 2012' in 'intro/history.md'

* Finish the translation of the history.md file
2024-09-06 17:12:34 -07:00
renovate[bot] 048ce520d8 fix(doctor): update dependency appium-adb to v12.5.3 2024-09-06 09:05:29 +00:00
renovate[bot] 19fb9d608f chore(deps): update dependency @types/node to v20.16.5 2024-09-05 09:45:28 +00:00
renovate[bot] 38afce5ea5 chore(deps): update dependency tsd to v0.31.2 (#20535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-05 10:25:05 +03:00
renovate[bot]andMykola Mokhnach 63cb664af1 fix(base-driver): update dependency path-to-regexp to v8 (#20520)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
2024-09-04 18:47:07 +02:00
renovate[bot] 51c3063194 chore(deps): update dependency finalhandler to v1.3.0 (#20532)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 17:46:43 +02:00
renovate[bot] 750872af47 fix(docutils): update dependency yaml to v2.5.1 2024-09-04 12:03:49 +00:00
renovate[bot] 32645ba726 chore(deps): update dependency @types/node to v20.16.4 2024-09-04 10:22:22 +00:00
renovate[bot] f5f0aa5068 fix(docutils): update dependency diff to v6 (#20525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 17:30:10 +03:00
renovate[bot] 00dc1eddaa chore(deps): update dependency eslint-plugin-import to v2.30.0 2024-09-03 14:05:37 +00:00
renovate[bot] 3bf1eaf5a9 chore(deps): update dependency finalhandler to v1.2.1 2024-09-03 11:18:36 +00:00
renovate[bot] 75710ab823 fix(universal-xml-plugin): update dependency fast-xml-parser to v4.5.0 2024-09-03 07:09:13 +00:00
renovate[bot] 7fe67a286a fix(support): update dependency axios to v1.7.7 2024-09-02 15:52:09 +00:00
renovate[bot] 38cc8a343f chore(docutils): update dependency mkdocs-material to v9.5.34 2024-09-02 14:08:59 +00:00
renovate[bot] 511ff11220 chore(deps): update dependency @types/node to v20.16.3 2024-09-02 11:31:57 +00:00
renovate[bot] ce36003edb chore(docutils): update dependency mkdocs to v1.6.1 2024-08-31 12:42:05 +00:00
renovate[bot] 0e51b9b8b9 chore(deps): update dependency json-schema-to-typescript to v15.0.2 2024-08-31 09:53:57 +00:00
renovate[bot]andMykola Mokhnach da3f9ff881 fix(universal-xml-plugin): update dependency @xmldom/xmldom to v0.9.0 (#20513)
* fix(universal-xml-plugin): update dependency @xmldom/xmldom to v0.9.0

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
2024-08-30 16:15:50 +02:00
renovate[bot] dcb6de22ea fix(execute-driver-plugin): update dependency webdriverio to v8.40.5 2024-08-29 15:45:17 +00:00
renovate[bot] 8f20c973f4 fix(types): update dependency type-fest to v4.26.0 (#20511)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 15:01:24 +03:00
renovate[bot] 89e8d2e4d4 chore(deps): update dependency @types/diff to v5.2.2 2024-08-29 10:48:15 +00:00
renovate[bot] b692914a95 chore(deps): update dependency @types/chai-as-promised to v8 (#20502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 09:55:46 +03:00
digitalvoice-nz a83f8eee9b docs(appiupm): update appiumconf banner (#20507)
Changed banner for Appium Conf to call for registrations instead of proposals
2024-08-28 19:11:19 -07:00
Mykola Mokhnach f583e99e60 chore(base-driver): Only print axios messages instead of full stacktraces (#20506) 2024-08-28 18:11:18 +02:00
renovate[bot] 21dd13e5e5 chore(deps): update definitelytyped 2024-08-28 10:28:26 +00:00
renovate[bot] 45681602c0 chore(deps): update dependency eslint-import-resolver-typescript to v3.6.3 2024-08-27 10:47:53 +00:00
Mykola Mokhnach efdb1ce6ce fix(appium): Fix the condition for secure websocket (#20497) 2024-08-27 11:00:07 +02:00
renovate[bot] b6c97cd11e chore(deps): update dependency @types/chai to v4.3.18 2024-08-26 14:46:54 +00:00
renovate[bot] fedabb1fdc fix(support): update dependency axios to v1.7.5 2024-08-24 11:11:04 +00:00
renovate[bot] 49ac8126a2 chore(docutils): update dependency mkdocs-material to v9.5.33 2024-08-23 14:56:34 +00:00
renovate[bot] 894c193150 chore(deps): update dependency json-schema-to-typescript to v15.0.1 2024-08-21 09:27:25 +00:00
renovate[bot] 688af4ddb4 chore(docutils): update dependency mkdocs-material to v9.5.32 2024-08-20 11:12:06 +00:00
renovate[bot] c8e7fa642f chore(docutils): update dependency mkdocs-git-revision-date-localized-plugin to v1.2.7 2024-08-19 12:01:47 +00:00
renovate[bot] 449dbe9a5c chore(deps): update dependency @types/node to v20.16.1 2024-08-19 10:38:48 +00:00
renovate[bot] 2468aeca60 chore(deps): update dependency @types/node to v20.16.0 2024-08-18 12:05:23 +00:00
renovate[bot] 9a66f48001 fix(types): update dependency type-fest to v4 (#20471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-17 16:17:39 +02:00
renovate[bot] ec04635925 chore(deps): update dependency @types/node to v20.15.0 2024-08-17 13:28:36 +00:00
renovate[bot] 035e30b892 chore(support): update dependency sharp to v0.33.5 (#20469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-17 12:16:32 +03:00
renovate[bot] 893fc040e1 fix(appium): update dependency winston to v3.14.2 (#20465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-16 17:17:50 +02:00
renovate[bot] 482a1f7bbf fix(types): update dependency type-fest to v4 (#20467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-16 14:58:48 +02:00
renovate[bot] d17d022224 fix(support): update dependency axios to v1.7.4 2024-08-16 11:28:55 +00:00
renovate[bot] 46085635a9 fix(execute-driver-plugin): update dependency webdriverio to v8.40.3 2024-08-16 10:02:07 +00:00
renovate[bot] db28605532 fix(doctor): update dependency appium-adb to v12.5.2 2024-08-15 20:20:08 +00:00
renovate[bot] a5ea99aacd chore(docutils): update dependency mike to v2.1.3 2024-08-15 15:34:45 +00:00
renovate[bot] 880111b0ff chore(deps): update dependency mocha to v10.7.3 2024-08-15 13:17:35 +00:00
renovate[bot] d6cdd3b05f chore(deps): update definitelytyped 2024-08-15 11:10:49 +00:00
Edgars Eglītis 326942d8ac fix(renovate): adjust config for Renovate v38 (#20455) 2024-08-14 16:04:33 +03:00
Mykola Mokhnach 622b245ea3 fix(base-driver): Add a server flag to check if it operates a secure protocol (#20449) 2024-08-10 18:29:11 +02:00
renovate[bot] 5034f1afc6 chore(deps): update dependency lerna to v8.1.8 (#20441)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-09 07:45:52 +02:00
Mykola Mokhnach a97f3893e6 chore(base-driver): Print a log message if a command gets added into a non-empty waiting queue (#20447) 2024-08-09 07:45:29 +02:00
Jonathan Lipps edf2593e17 chore: publish
- appium@2.11.3
 - @appium/base-driver@9.11.3
 - @appium/base-plugin@2.2.43
 - @appium/doctor@2.1.10
 - @appium/docutils@1.0.19
 - @appium/driver-test-support@0.6.7
 - @appium/execute-driver-plugin@3.0.33
 - @appium/fake-plugin@3.1.47
 - @appium/images-plugin@3.0.18
 - @appium/logger@1.6.1
 - @appium/plugin-test-support@0.3.41
 - @appium/support@5.1.3
 - @appium/test-support@3.0.47
 - @appium/types@0.21.2
 - @appium/universal-xml-plugin@1.0.21
2024-08-07 11:20:04 -07:00
Jonathan Lipps 7a14f9f929 fix(types): commit type gen update (#20445) 2024-08-07 11:18:25 -07:00
renovate[bot] b4612e0c7a fix(execute-driver-plugin): update dependency webdriverio to v8.40.0 (#20442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 08:21:52 +02:00
kkb912002 8a307a078b fix(support): Allow temp dir which do not have a parent folder (#20440) 2024-08-05 10:30:25 +02:00
zhangxh075 0ffca811ce docs: translate some documents into Chinese (#20439)
* Translate part of the document in intro/appium.md

* Translate part of the document in intro/drivers.md

* Translate the 'Interface Implementations' section in the 'intro/drivers.md' file
2024-08-04 21:36:23 -07:00
Mykola Mokhnach 89f2e25a6c chore(appium): Replace fancy-log dependency with appium logger (#20434) 2024-08-02 20:00:08 +02:00
renovate[bot] 7aac098d60 chore(docutils): update dependency mkdocs-material to v9.5.31 2024-08-02 15:27:56 +00:00
renovate[bot] 32f57500e8 chore(deps): update dependency @types/node to v20.14.14 2024-08-02 12:41:29 +00:00
renovate[bot] 1ca77c6ded fix(support): update dependency axios to v1.7.3 2024-08-02 09:38:44 +00:00
renovate[bot] 92b32f8524 chore(deps): update dependency rimraf to v5.0.10 2024-08-01 12:01:09 +00:00
renovate[bot] c1c3957cb7 chore(deps): update dependency @types/chai to v4.3.17 2024-08-01 10:38:12 +00:00
Mykola Mokhnach 885570e7ca fix(support): Print an empty string if no arguments are provided to a logging function (#20424) 2024-07-31 08:23:33 +02:00
renovate[bot] 8413ccb4fa chore(deps): update eslint-related packages to v7.18.0 2024-07-30 12:16:54 +00:00
renovate[bot] 82b7515867 fix(doctor): update dependency appium-adb to v12.5.1 2024-07-30 09:33:23 +00:00
renovate[bot] 2957b8344b chore(deps): update dependency eslint-plugin-mocha to v10.5.0 2024-07-29 13:25:14 +00:00
renovate[bot] ea86eff938 chore(deps): update dependency json-schema-to-typescript to v15 (#20401)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 13:04:19 +02:00
renovate[bot] b98dc4f46f chore(deps): update definitelytyped (#20418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 13:03:57 +02:00
renovate[bot] 61276f2e7c fix(universal-xml-plugin): update dependency fast-xml-parser to v4.4.1 2024-07-28 10:03:00 +00:00
zhangxh075 9625052d05 docs: translate some documents into Chinese (#20404)
* fixed the errors in the zh/intro/index.md file

* Translate the file located at zh\intro\appium.md

* Improve the missing menu items

* Supplement the missing documentation

* update zh/index.md file

* Keep the content of build-drivers.md

* Translate part of the document in intro/appium.md
2024-07-25 19:48:56 +03:00
renovate[bot] 0c755f503c fix(docutils): update dependency yaml to v2.5.0 2024-07-24 17:47:41 +00:00
renovate[bot] a2294fa716 chore(docutils): update dependency mkdocs-material to v9.5.30 2024-07-24 14:01:24 +00:00
renovate[bot] 32fae41c03 chore(deps): update dependency @types/node to v20.14.12 2024-07-24 11:03:31 +00:00
renovate[bot] 0e8e3c7144 fix(types): update dependency type-fest to v4.23.0 (#20396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 10:55:19 +03:00
renovate[bot] 96b45a85cf chore(deps): update dependency mocha to v10.7.0 2024-07-23 16:44:58 +00:00
renovate[bot] e08e7ebec2 fix(docutils): update dependency typescript to v5.5.4 2024-07-23 12:02:25 +00:00
renovate[bot] a0be939031 chore(deps): update dependency lerna to v8.1.7 2024-07-23 03:47:59 +00:00
renovate[bot] bb26085f7e chore(deps): update eslint-related packages 2024-07-23 01:21:30 +00:00
Mykola Mokhnach 75e0788784 chore(appium): Remove debug logging from the manifest class (#20393) 2024-07-17 22:06:47 +02:00
Niklas 7b3f0b5dbb docs: correct URL for selenium and w3c (#20392) 2024-07-17 19:54:09 +02:00
Kazuaki Matsuo 9eb65f7ad4 fix(base-driver): change required to option for setWindowRect to follow w3c (#20391) 2024-07-17 08:49:26 -07:00
renovate[bot] 47405dda8a fix(types): update dependency type-fest to v4.22.0 (#20387)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-17 16:36:53 +03:00
renovate[bot] 5a9ab97924 fix(support): update dependency semver to v7.6.3 2024-07-17 09:54:34 +00:00
renovate[bot] 4494fad3af chore(deps): update dependency @types/node to v20.14.11 2024-07-17 08:22:44 +00:00
Kazuaki Matsuo 6a97fe48ae fix(base-driver): calls startNewCommandTimeout before returning NotYetImplementedError (#20380) 2024-07-16 00:12:44 -07:00
renovate[bot] d35ed1c8ac chore(deps): update eslint-related packages to v7.16.1 (#20381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-16 09:10:16 +02:00
renovate[bot] d5ef0f9c86 fix(driver-test-support): update dependency @types/lodash to v4.17.7 (#20382)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-16 09:09:48 +02:00
Mykola Mokhnach 139dbaeef6 fix(base-driver): Start command timeout even if the recent command has thrown an exception (#20379) 2024-07-16 08:59:44 +02:00
Kazuaki Matsuo 2d7b2c4b4c chore(): define docs:publish and remove generate-docs (#20374) 2024-07-15 18:49:52 -07:00
renovate[bot] 6488a0a4e1 fix(base-driver): update dependency path-to-regexp to v7.1.0 (#20376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-15 14:54:41 +03:00
renovate[bot] 6b9d844998 chore(docutils): update dependency mkdocs-material to v9.5.29 2024-07-15 09:53:35 +00:00
renovate[bot] 8ee816d0cf chore(deps): update dependency prettier to v3.3.3 2024-07-14 09:40:25 +00:00
renovate[bot] b1b7c33edd fix(types): update dependency @types/ws to v8.5.11 2024-07-13 13:26:39 +00:00
Srinivasan Sekar 57dc6a045d chore(docs): Add AppiumConf info in website (#20373)
* Add AppiumConf in website header

* add appium conference as blog
2024-07-13 14:34:40 +05:30
renovate[bot] 75289711ee fix(appium): update dependency ajv to v8.17.1 2024-07-13 07:14:00 +00:00
renovate[bot] b7b97a24d6 fix(doctor): update dependency appium-adb to v12.5.0 2024-07-11 14:49:13 +00:00
renovate[bot] 715942845b fix(support): update dependency glob to v10.4.5 (#20365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 11:27:39 +03:00
renovate[bot] 8d79467da8 fix(logger): update dependency lru-cache to v10.4.3 (#20364)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-11 11:16:03 +03:00
renovate[bot] dcfec17d1c fix(appium): update dependency winston to v3.13.1 2024-07-11 08:06:48 +00:00
Edgars Eglītis c38e639d52 docs(appium): add more AppiumTestDistribution plugins (#20361) 2024-07-10 23:26:51 +02:00
Jonathan Lipps 74292e2292 chore: publish
- appium@2.11.2
 - @appium/base-driver@9.11.2
 - @appium/base-plugin@2.2.42
 - @appium/doctor@2.1.9
 - @appium/docutils@1.0.18
 - @appium/driver-test-support@0.6.6
 - @appium/execute-driver-plugin@3.0.32
 - @appium/fake-plugin@3.1.46
 - @appium/images-plugin@3.0.17
 - @appium/logger@1.6.0
 - @appium/opencv@3.0.5
 - @appium/plugin-test-support@0.3.40
 - @appium/strongbox@0.3.3
 - @appium/support@5.1.2
 - @appium/test-support@3.0.46
 - @appium/types@0.21.1
2024-07-10 12:39:13 -07:00
Sudharsan Selvaraj 8ccaf09877 chore(docs): Add FlutterIntegration driver to community supported driver list (#20354) 2024-07-09 17:36:44 +02:00
renovate[bot] d3d77a38df chore(deps): update dependency rimraf to v5.0.9 (#20349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 11:32:48 +02:00
renovate[bot] 0149490522 chore(deps): update eslint-related packages to v7.16.0 (#20350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-09 11:32:27 +02:00
Mykola Mokhnach 16015de1b5 chore(driver-test-support): Bump chai and chai-as-promised (#20344) 2024-07-08 22:56:16 +02:00
Mykola Mokhnach b7999aed03 chore(types): Deprecate AppiumServerSocket (#20348) 2024-07-08 20:34:04 +02:00
Mykola Mokhnach 1fa8c54765 chore(base-driver): Optimize server close algorithm (#20345) 2024-07-08 14:59:43 +02:00
Mykola Mokhnach 8565209fda chore(execute-driver-plugin): Update wdio resolution (#20346) 2024-07-08 13:29:18 +02:00
Mykola Mokhnach f8819836b5 chore(base-driver): Improve the exception message (#20343) 2024-07-07 09:30:12 +02:00
Mykola Mokhnach ac912606e7 chore(base-driver): Optimize routeToCommandName logic (#20331) 2024-07-07 08:04:26 +02:00
renovate[bot] dcac55711c chore(deps): update dependency rimraf to v5.0.8 2024-07-06 15:32:00 +00:00
renovate[bot] 821ed01ae2 chore(deps): update dependency lerna to v8.1.6 2024-07-06 14:32:03 +00:00
renovate[bot] 62fe09d563 chore(deps): update dependency @types/node to v20.14.10 2024-07-06 09:53:34 +00:00
renovate[bot] 8894b9adf7 fix(types): update dependency type-fest to v4.21.0 (#20335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-05 13:58:24 +03:00
renovate[bot] 44e423110a fix(appium): update dependency ws to v8.18.0 2024-07-04 18:57:21 +00:00
renovate[bot] 41a18f3b68 chore(deps): update dependency mocha to v10.6.0 2024-07-04 16:22:07 +00:00
renovate[bot] c2f3a618e4 fix(execute-driver-plugin): update dependency webdriverio to v8.39.1 2024-07-04 13:37:24 +00:00
renovate[bot] 5ce3b0c1aa chore(deps): update dependency npm-run-all2 to v6.2.2 2024-07-04 09:17:13 +00:00
renovate[bot] 177dff4f0e fix(doctor): update dependency appium-adb to v12.4.8 2024-07-03 18:40:47 +00:00
Mykola Mokhnach e7665d1cd9 feat(logger): Use LRUCache to manage log history (#20325) 2024-07-03 19:25:21 +02:00
renovate[bot] 34b636082f chore(docutils): update dependency mkdocs-material to v9.5.28 2024-07-03 13:11:18 +00:00
renovate[bot] 06607da92e fix(support): update dependency teen_process to v2.2.0 2024-07-02 16:28:23 +00:00
renovate[bot] 9d6bbdb13e chore(deps): update eslint-related packages to v7.15.0 2024-07-02 13:25:44 +00:00
renovate[bot] 234ad59798 fix(docutils): update dependency typescript to v5.5.3 2024-07-02 10:01:42 +00:00
renovate[bot] fe1b926886 chore(deps): update dependency eslint-plugin-promise to v6.4.0 2024-07-01 11:36:46 +00:00
renovate[bot] 5281f5a01a fix(doctor): update dependency appium-adb to v12.4.6 2024-06-30 13:46:46 +00:00
renovate[bot] 86f843b9e1 fix(support): update dependency teen_process to v2.1.10 2024-06-30 09:48:08 +00:00
renovate[bot] 5226fa897b fix(support): update dependency teen_process to v2.1.7 2024-06-29 12:09:54 +00:00
Jonathan Lipps 19928e9b90 chore: publish
- appium@2.11.1
 - @appium/base-driver@9.11.1
 - @appium/base-plugin@2.2.41
 - @appium/doctor@2.1.8
 - @appium/docutils@1.0.17
 - @appium/driver-test-support@0.6.5
 - @appium/fake-plugin@3.1.45
 - @appium/images-plugin@3.0.16
 - @appium/support@5.1.1
 - @appium/test-support@3.0.45
2024-06-28 16:12:35 -07:00
renovate[bot] e43c7a4dce fix(images-plugin): update dependency lru-cache to v10.3.0 (#20306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-28 15:59:13 +03:00
renovate[bot] 82e40c1400 fix(driver-test-support): update dependency @types/lodash to v4.17.6 2024-06-28 09:50:07 +00:00
Kazuaki Matsuo f3d959ef91 fix(support): add ? in casae it does not have updateAsyncStorage function deps (#20304) 2024-06-27 23:37:50 -07:00
Jonathan Lipps e8a838417a chore: publish
- appium@2.11.0
 - @appium/base-driver@9.11.0
 - @appium/base-plugin@2.2.40
 - @appium/doctor@2.1.7
 - @appium/docutils@1.0.16
 - @appium/driver-test-support@0.6.4
 - @appium/execute-driver-plugin@3.0.31
 - @appium/fake-plugin@3.1.44
 - @appium/images-plugin@3.0.15
 - @appium/logger@1.5.0
 - @appium/plugin-test-support@0.3.39
 - @appium/support@5.1.0
 - @appium/test-support@3.0.44
 - @appium/types@0.21.0
2024-06-27 12:12:33 -07:00
renovate[bot] 9773a23b26 chore(deps): update dependency mocha to v10.5.2 2024-06-27 09:27:08 +00:00
renovate[bot] cc10b65ee5 chore(deps): update dependency json-schema-to-typescript to v14.1.0 2024-06-26 14:33:41 +00:00
renovate[bot] 530045ec53 chore(deps): update dependency @types/node to v20.14.9 2024-06-26 10:10:08 +00:00
renovate[bot] 8e0fa2c1b3 chore(deps): update eslint-related packages to v7.14.1 2024-06-25 18:27:57 +00:00
renovate[bot] d0d7548576 chore(deps): update dependency mocha to v10.5.1 2024-06-25 15:01:30 +00:00
renovate[bot] c7198b13e4 chore(deps): update dependency lerna to v8.1.5 2024-06-25 10:52:13 +00:00
renovate[bot] 4279cc6cee chore(docutils): update dependency mike to v2.1.2 2024-06-25 06:54:41 +00:00
renovate[bot] a746eefbbb fix(base-driver): update dependency path-to-regexp to v7 (#20279) 2024-06-25 08:50:56 +02:00
renovate[bot] b6de85359d chore(deps): update definitelytyped 2024-06-22 19:32:26 +00:00
Edgars Eglītis f2c8b69608 feat(appium): show extension update info message for newer major versions (#20283)
* feat(appium): add extension update info message if newer major version exists

* chore: add comment
2024-06-22 20:33:09 +03:00
Mykola Mokhnach 87fc50c2af fix(logger): Print an empty message if no arguments are provided (#20284) 2024-06-22 17:21:54 +02:00
Edgars Eglītis f25079354b feat(appium): show spinner during extension uninstall (#20282) 2024-06-22 00:05:43 +03:00
renovate[bot] 189bce88a0 fix(docutils): update dependency typescript to v5.5.2 2024-06-21 19:34:14 +00:00
renovate[bot] 15234bc055 fix(doctor): update dependency appium-adb to v12.4.4 2024-06-21 17:28:47 +00:00
renovate[bot] 073447ae4a fix(support): update dependency @types/uuid to v10 (#20280)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-21 15:51:15 +03:00
renovate[bot] dd070dc51d chore(deps): update dependency @types/node to v20.14.7 2024-06-21 09:48:41 +00:00
Mykola Mokhnach 2882e71631 fix(base-driver): Check if app path is relative earlier (#20276) 2024-06-21 10:55:08 +02:00
Jonathan Lipps c106326169 docs(appium): README logos need to be fully qualified URLs (#20249)
So they should up on NPM OK.
2024-06-20 09:23:56 -07:00
renovate[bot] 5203480df6 chore(deps): update dependency @types/node to v20.14.6 2024-06-20 14:32:36 +00:00
Hans Chan 52ae52a90a docs: fix some deprecated links of w3c and android (#20272) 2024-06-20 12:39:31 +03:00
renovate[bot] d5e5186cb7 fix(support): update dependency glob to v10.4.2 (#20268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-20 09:30:54 +03:00
renovate[bot] 541246184d fix(support): update dependency teen_process to v2.1.6 2024-06-19 09:25:11 +00:00
renovate[bot] faf9623a65 fix(execute-driver-plugin): update dependency webdriverio to v8.39.0 2024-06-18 20:36:52 +00:00
renovate[bot] bc388db111 fix(support): update dependency teen_process to v2.1.5 2024-06-18 16:58:10 +00:00
renovate[bot] bdea13130c chore(deps): update eslint-related packages to v7.13.1 2024-06-18 12:29:03 +00:00
renovate[bot] cc23c22b60 chore(deps): update dependency @types/node to v20.14.5 2024-06-18 10:06:06 +00:00
kkb912002 f675abc27b feat(appium): Improve context logging (#20250) 2024-06-18 09:55:30 +02:00
renovate[bot] 6fa0ed57ff chore(deps): update dependency tsd to v0.31.1 (#20260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-18 09:38:13 +03:00
renovate[bot] 57bbb7f46d fix(support): update dependency uuid to v10 (#20236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 22:54:22 +02:00
renovate[bot] d2b24daba0 fix(appium): update dependency ws to v8.17.1 2024-06-17 12:23:23 +00:00
renovate[bot] 14d27fe2a4 chore(docutils): update dependency mkdocs-material to v9.5.27 2024-06-17 09:22:02 +00:00
renovate[bot] 19845531f5 fix(types): update dependency type-fest to v4.20.1 (#20255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-16 22:21:42 +03:00
Mykola Mokhnach 3cc878d835 chore(appium): Tune logging for the log rules config issues (#20253) 2024-06-13 19:46:33 +02:00
renovate[bot] 4345a40a15 fix(doctor): update dependency appium-adb to v12.4.3 2024-06-13 12:04:45 +00:00
Jonathan Lipps 89e5f7e8db chore: publish
- appium@2.10.3
 - @appium/base-driver@9.10.3
 - @appium/base-plugin@2.2.39
 - @appium/doctor@2.1.6
 - @appium/docutils@1.0.15
 - @appium/driver-test-support@0.6.3
 - @appium/fake-plugin@3.1.43
 - @appium/images-plugin@3.0.14
 - @appium/logger@1.4.2
 - @appium/plugin-test-support@0.3.38
 - @appium/support@5.0.3
 - @appium/test-support@3.0.43
 - @appium/types@0.20.3
2024-06-11 13:02:33 -07:00
Corneliu Duplachi 9469aaef0e fix(logger): use index.d.ts for types instead of index.ts (#20247) 2024-06-11 21:18:52 +02:00
Jonathan Lipps 2b12d5974a chore: publish
- appium@2.10.2
 - @appium/base-driver@9.10.2
 - @appium/base-plugin@2.2.38
 - @appium/doctor@2.1.5
 - @appium/docutils@1.0.14
 - @appium/driver-test-support@0.6.2
 - @appium/fake-plugin@3.1.42
 - @appium/images-plugin@3.0.13
 - @appium/plugin-test-support@0.3.37
 - @appium/schema@0.6.1
 - @appium/support@5.0.2
 - @appium/test-support@3.0.42
 - @appium/types@0.20.2
2024-06-11 12:06:28 -07:00
Jonathan Lipps 45cc948671 fix(schema): edit a comment in order to trigger a publish 2024-06-11 12:05:50 -07:00
Jonathan Lipps 192f1f3793 chore: publish
- appium@2.10.1
 - @appium/base-driver@9.10.1
 - @appium/base-plugin@2.2.37
 - @appium/doctor@2.1.4
 - @appium/docutils@1.0.13
 - @appium/driver-test-support@0.6.1
 - @appium/fake-plugin@3.1.41
 - @appium/images-plugin@3.0.12
 - @appium/logger@1.4.1
 - @appium/plugin-test-support@0.3.36
 - @appium/support@5.0.1
 - @appium/test-support@3.0.41
 - @appium/types@0.20.1
2024-06-11 11:55:29 -07:00
Edgars Eglītis 5baf93672d chore(support): update changelog (#20246)
* chore: update support package changelog

* chore: update wording for changelog
2024-06-11 20:31:07 +03:00
Mykola Mokhnach c670010ec7 fix(logger): Type declaration for DEFAULT_LOG_LEVELS (#20244) 2024-06-11 18:07:59 +02:00
renovate[bot] 4a07f82cec chore(deps): update eslint-related packages to v7.13.0 2024-06-11 13:01:06 +00:00
renovate[bot] b28b524957 chore(deps): update dependency prettier to v3.3.2 2024-06-11 09:03:31 +00:00
Jonathan Lipps f40598161c chore: publish
- appium@2.10.0
 - @appium/base-driver@9.10.0
 - @appium/base-plugin@2.2.36
 - @appium/doctor@2.1.3
 - @appium/docutils@1.0.12
 - @appium/driver-test-support@0.6.0
 - @appium/fake-plugin@3.1.40
 - @appium/images-plugin@3.0.11
 - @appium/logger@1.4.0
 - @appium/plugin-test-support@0.3.35
 - @appium/schema@0.6.0
 - @appium/support@5.0.0
 - @appium/test-support@3.0.40
 - @appium/types@0.20.0
2024-06-10 16:29:53 -07:00
Jonathan LippsandEdgars Eglītis 0ddedec0c4 docs(appium): add sauce labs as strategic sponsor (#20240)
* docs(appium): add sauce labs as strategic sponsor

* Update SPONSORS.md

Co-authored-by: Edgars Eglītis <37242620+eglitise@users.noreply.github.com>

---------

Co-authored-by: Edgars Eglītis <37242620+eglitise@users.noreply.github.com>
2024-06-10 13:36:54 -07:00
Edgars Eglītis def3474b05 docs(appium): fix more image links (#20238) 2024-06-10 10:29:41 -07:00
Jonathan Lipps 1b9c1e96a3 docs(appium): fix sponsor logo image urls again 2024-06-10 09:49:27 -07:00
Jonathan Lipps e60e840316 docs(appium): fix sponsor logo image urls 2024-06-10 08:20:37 -07:00
Jonathan Lipps 6505d7921a docs(appium): fix sponsor logo image urls 2024-06-10 08:17:37 -07:00
Jonathan LippsandEdgars Eglītis def655cb39 docs(appium): add strategic partner browserstack (#20232)
* docs(appium): add strategic partner browserstack

* Partner announce (#20237)

* docs: move assets to override dir

* docs: remove copy-assets script

* docs: fix browserstack color-specific logo

---------

Co-authored-by: Edgars Eglītis <edgars.eglitis@outlook.com>

---------

Co-authored-by: Edgars Eglītis <edgars.eglitis@outlook.com>
2024-06-10 08:05:51 -07:00
renovate[bot] 1828501c66 fix(docutils): update dependency lilconfig to v3.1.2 2024-06-10 10:52:58 +00:00
renovate[bot] 6a08c95fc9 fix(docutils): update dependency yaml to v2.4.5 2024-06-09 09:03:13 +00:00
Mykola Mokhnach a156bc5bf5 chore(support): Simplify the logic for the AppiumLogger instance retrieval (#20230) 2024-06-09 08:07:52 +02:00
Mykola Mokhnach dbc3b668a0 feat(support): Move SecureValuesPreprocessor to @appum/logger (#20228)
The SecureValuesPreprocessor has been moved directly to the @appum/logger module and set as a private logger instance property.
The loadSecureValuesPreprocessingRules method is now public instance method of the Logger class. Unit tests were ported to the @appium/logger module as well.
2024-06-08 14:38:53 +02:00
renovate[bot] 69bbb5370e fix(driver-test-support): update dependency @types/lodash to v4.17.5 2024-06-08 12:03:35 +00:00
renovate[bot] ea00626091 fix(types): update dependency type-fest to v4.20.0 (#20227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-08 13:38:47 +03:00
Mykola Mokhnach 1e86537e94 feat(appium): Add a possibility to print logs in json format (#20224) 2024-06-08 08:08:37 +02:00
Kazuaki Matsuo 93c271ec5d feat(support): remove unleakString as no usage (#20221)
BREAKING CHANGE: Remove unleakString since it is now in appium/logger
2024-06-07 17:57:13 -07:00
0363aab8ba feat(appium): Add session signature to all logs (#20202) (#20214)
* feat(appium): Add session signature to all logs (#20202) (#20214)

* test(logger): add tests for unleakString (#20222)

---------

Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
Co-authored-by: Edgars Eglītis <37242620+eglitise@users.noreply.github.com>
2024-06-07 13:13:39 -07:00
Kazuaki Matsuo dd421b397b feat(support): Remove patchLogger from logger (#20220)
BREAKING CHANGE: Remove patchLogger exported method from logger
2024-06-07 09:44:08 -07:00
Kazuaki Matsuo 8ee7d07af4 feat(logger): Add the debug level to the default logger (#20219)
* feat(logger): Add the debug level to the default logger
2024-06-07 09:43:49 -07:00
Kazuaki Matsuo 1c19a8dbba chore(logger): update lerna to keep ISC as the license (#20217)
* chore(logger): update lerna to keep ISC as the license

* tweak sync
2024-06-07 09:43:23 -07:00
renovate[bot] 1ed646cc8f chore(docutils): update dependency mkdocs-material to v9.5.26 2024-06-07 05:50:25 +00:00
Jonathan Lipps d4ce2a82d9 chore: publish
- appium@2.9.0
 - @appium/base-driver@9.9.0
 - @appium/base-plugin@2.2.35
 - @appium/doctor@2.1.2
 - @appium/docutils@1.0.11
 - @appium/driver-test-support@0.5.0
 - @appium/fake-plugin@3.1.39
 - @appium/images-plugin@3.0.10
 - @appium/logger@1.3.0
 - @appium/plugin-test-support@0.3.34
 - @appium/support@4.5.0
 - @appium/test-support@3.0.39
 - @appium/types@0.19.2
2024-06-06 16:25:41 -07:00
Kazuaki Matsuo 40def9dbdb fix(appium): Revert changes in 20203 and 20202 (#20209)
* Revert "feat(appium): Add session signature to all logs (#20202)"

This reverts commit b3f8a47c2d.

* Revert "feat(logger): Add the 'debug' level to the default logger (#20203)"

This reverts commit 7fd9d5f626.
2024-06-06 16:17:57 -07:00
Mykola Mokhnach b3f8a47c2d feat(appium): Add session signature to all logs (#20202) 2024-06-06 22:46:52 +02:00
Jonathan Lipps 5b043cc1ab chore: publish
- appium@2.8.0
 - @appium/base-driver@9.8.1
 - @appium/base-plugin@2.2.34
 - @appium/doctor@2.1.1
 - @appium/docutils@1.0.10
 - @appium/driver-test-support@0.4.26
 - @appium/fake-plugin@3.1.38
 - @appium/images-plugin@3.0.9
 - @appium/logger@1.2.0
 - @appium/plugin-test-support@0.3.33
 - @appium/support@4.4.0
 - @appium/test-support@3.0.38
 - @appium/types@0.19.1
 - @appium/universal-xml-plugin@1.0.20
2024-06-06 13:20:24 -07:00
Edgars Eglītis 3fbc4f1fe0 fix: add logger dependencies in package.json (#20205) 2024-06-06 23:06:01 +03:00
Sudharsan Selvaraj 7492c3357e fix(universal-xml-plugin): add checks to disable the plguin in webview (#20179)
* fix(universal-xml-plugin): add checks to prevent transforming elements in webview

* Add missing tests

* Make context check to short circuit after selector validation
2024-06-06 10:25:29 -07:00
Mykola Mokhnach 7fd9d5f626 feat(logger): Add the 'debug' level to the default logger (#20203) 2024-06-06 19:21:54 +02:00
Jonathan Lipps 5f25351c9d docs(appium): fix sponsor logo image urls 2024-06-06 10:05:28 -07:00
Jonathan Lipps 339acd345f chore: publish
- appium@2.7.0
 - @appium/base-driver@9.8.0
 - @appium/base-plugin@2.2.33
 - @appium/doctor@2.1.0
 - @appium/docutils@1.0.9
 - @appium/driver-test-support@0.4.25
 - @appium/execute-driver-plugin@3.0.30
 - @appium/fake-plugin@3.1.37
 - @appium/images-plugin@3.0.8
 - @appium/logger@1.1.0
 - @appium/plugin-test-support@0.3.32
 - @appium/support@4.3.0
 - @appium/test-support@3.0.37
 - @appium/types@0.19.0
2024-06-06 09:54:55 -07:00
Mykola Mokhnach 21316e94d0 feat(base-driver): Make addition of search query params to cache optional (#20195) 2024-06-06 12:04:36 +02:00
Jonathan LippsandEdgars Eglītis 43fcc17b31 docs(appium): recognize headspin as development partner (#20191)
* docs(appium): recognize headspin as development partner

* update partner announcement branch (#20200)

* docs: make sponsor placement prettier

* docs: add margin to sponsor footer

* docs: add margin around individual sponsor images in footer

* docs: hide sponsor footer on landing page

---------

Co-authored-by: Edgars Eglītis <edgars.eglitis@outlook.com>

* partners plural

---------

Co-authored-by: Edgars Eglītis <edgars.eglitis@outlook.com>
2024-06-05 12:47:07 -07:00
renovate[bot] b1a4045bbd chore(deps): update dependency prettier to v3.3.1 2024-06-05 15:09:29 +00:00
renovate[bot] d2a8edbb7a chore(deps): update dependency @types/node to v20.14.2 2024-06-05 14:54:14 +00:00
Edgars Eglītis 6d67177e2f chore(logger): tidy up logger integration (#20194) 2024-06-05 10:27:19 +03:00
renovate[bot] db62358dba fix(types): update dependency type-fest to v4.19.0 (#20193)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-05 09:26:39 +03:00
Mykola Mokhnach 4fd6893146 fix(support): Make sure response stream is defined while stopping it (#20189) 2024-06-05 08:13:40 +02:00
Mykola Mokhnach 8915934270 feat(appium): Replace npmlog with the local fork (#20190) 2024-06-05 08:12:07 +02:00
renovate[bot] ae7f74a014 fix(appium): update dependency ajv to v8.16.0 2024-06-04 21:15:20 +00:00
renovate[bot] ea9cf8d910 chore(deps): update eslint-related packages to v7.12.0 2024-06-04 18:53:20 +00:00
Kazuaki Matsuo 70449cd077 feat(logger): add packages/logger package from npmlog (#20161)
* feat: move logger into appium/logger

* add logger in tsconfig.json

* add smoke with loading the index.js

* modify files to fit other modules

* refer to @appium/logger

* update with npm run sync-pkgs and a few

* cleanup changelog and package-lock.json

* update smoke

* pin deps

* adjust tsconfig.json with others

* Update README.md

* update license

* update license

* Update LICENSE

* fix review
2024-06-04 09:12:27 -07:00
Jonathan Lipps 65c47acf59 fix(appium): ensure ws close code is valid (#20178) 2024-06-04 07:46:16 -07:00
renovate[bot] 96a7a3f23b fix(support): update dependency teen_process to v2.1.4 2024-06-04 14:02:01 +00:00
renovate[bot] c8f997973c fix(execute-driver-plugin): update dependency webdriverio to v8.38.2 2024-06-04 11:27:38 +00:00
renovate[bot] bea47aacca fix(doctor): update dependency appium-adb to v12.4.2 2024-06-04 06:22:57 +00:00
renovate[bot] 10e5b37211 chore(deps): update dependency @types/node to v20.14.1 2024-06-04 06:05:50 +00:00
Kazuaki Matsuo 459f0a34b2 docs(appium): add icons by opencollevtive in sponsors (#20170)
* docs: add svg by opencollevtive to add icons

* Update SPONSORS.md
2024-06-03 14:11:00 -07:00
renovate[bot] 4c15dc6e5d chore(deps): update dependency @types/node to v20.14.0 2024-06-03 15:05:34 +00:00
renovate[bot] 848eb00afb fix(docutils): update dependency yaml to v2.4.3 2024-06-03 13:14:51 +00:00
renovate[bot] de8b1c97dc chore(deps): update dependency json-schema-to-typescript to v14.0.5 2024-06-03 11:00:57 +00:00
renovate[bot] 092ebb2a69 chore(deps): update dependency prettier to v3.3.0 2024-06-02 09:13:49 +00:00
renovate[bot] dddc4aa8c0 chore(deps): update dependency @types/node to v20.13.0 2024-06-01 07:26:37 +00:00
renovate[bot] 425d3eac1d chore(docutils): update dependency mkdocs-git-revision-date-localized-plugin to v1.2.6 2024-06-01 05:35:41 +00:00
renovate[bot] 57b0406a33 fix(support): update dependency @types/which to v3 (#20164)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-31 13:28:10 +02:00
renovate[bot] e3e1757c56 fix(doctor): update dependency appium-adb to v12.4.1 2024-05-31 11:07:08 +00:00
renovate[bot] 17e271afff chore(deps): update dependency @types/node to v20.12.13 2024-05-30 07:53:34 +00:00
renovate[bot] 7718cd01d1 chore(deps): update eslint-related packages to v7.11.0 2024-05-28 12:21:51 +00:00
Jonathan Lipps a4138c6ec9 chore: publish
- appium@2.6.0
 - @appium/base-driver@9.7.0
 - @appium/base-plugin@2.2.32
 - @appium/doctor@2.0.37
 - @appium/docutils@1.0.8
 - @appium/driver-test-support@0.4.24
 - @appium/execute-driver-plugin@3.0.29
 - @appium/fake-driver@5.5.2
 - @appium/fake-plugin@3.1.36
 - @appium/images-plugin@3.0.7
 - @appium/opencv@3.0.4
 - @appium/plugin-test-support@0.3.31
 - @appium/support@4.2.6
 - @appium/test-support@3.0.36
 - @appium/types@0.18.0
 - @appium/universal-xml-plugin@1.0.19
2024-05-27 12:02:58 -07:00
renovate[bot] 24a039b432 chore(deps): update dependency eslint-plugin-promise to v6.2.0 2024-05-27 16:38:26 +00:00
renovate[bot] 5ca62f8bfa chore(docutils): update dependency mkdocs-material to v9.5.25 2024-05-27 13:49:38 +00:00
renovate[bot] d5369f8b08 fix(types): update dependency type-fest to v4.18.3 (#20149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-26 17:04:14 +03:00
renovate[bot] 33be2ee45d fix(doctor): update dependency appium-adb to v12.4.0 2024-05-26 14:03:54 +00:00
renovate[bot] e3dcd66714 fix(appium): update dependency ajv to v8.14.0 2024-05-26 10:54:27 +00:00
renovate[bot] e80b6826ef fix(execute-driver-plugin): update dependency webdriverio to v8.38.0 2024-05-25 07:42:04 +00:00
Mykola Mokhnach 275790ec01 fix(base-driver): Update the web socket upgrade behavior (#20142) 2024-05-24 19:57:54 +02:00
renovate[bot] 82406f1775 fix(support): update dependency glob to v10.4.1 (#20141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-24 20:29:53 +03:00
Kazuaki Matsuo a015f835dd feat{appium}: add windows for desktop preset (#20135)
* feat: add windows for desktop preset

* move the position
2024-05-24 00:24:10 -07:00
renovate[bot] 27ff9a00ef fix(execute-driver-plugin): update dependency webdriverio to v8.37.0 2024-05-23 10:57:56 +00:00
renovate[bot] a876f112b5 fix(support): update dependency axios to v1.7.2 2024-05-22 13:22:13 +00:00
renovate[bot] 56f72c0af7 fix(support): update dependency glob to v10.3.16 (#20134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-22 10:22:29 +03:00
Edgars Eglītis 8c97ac5800 docs: update CLI and quickstart contents (#20131)
* docs: various adjustments for quickstart

* docs: add setup docs, more doctor references

* docs: add footnote for macOS-only items

* docs: update CLI args page

* docs: update CLI extension subcommands

* docs: fix indentation

* docs: fix grammar
2024-05-22 09:48:35 +03:00
renovate[bot] 70650921d8 chore(docutils): update dependency mkdocs-material to v9.5.24 2024-05-21 23:46:42 +00:00
renovate[bot] 465495ef2a fix(test-support): update dependency sinon to v18 (#20128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-21 15:43:15 +03:00
renovate[bot] 440708c876 chore(deps): update eslint-related packages to v7.10.0 (#20123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-21 11:18:00 +02:00
renovate[bot] c805155863 fix(universal-xml-plugin): update dependency fast-xml-parser to v4.4.0 (#20126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-21 11:17:18 +02:00
renovate[bot] 95be7dd477 fix(support): update dependency glob to v10 (#20127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-21 11:16:58 +02:00
Kazuaki Matsuo 2b2fb185a6 feat(appium): prepare setup subcommand as shortcut for drivers/plugins installation (#20102)
- add setup command
- add a couple of preset commands to install drivers/plugins
2024-05-20 23:05:02 -07:00
Kazuaki Matsuo f21e09fe72 docs(appium): update appium related tools section (#20116)
* docs(appium): update appium related  tools section
2024-05-20 18:43:44 -07:00
renovate[bot] 11510cb1a5 fix(support): update dependency axios to v1.7.1 2024-05-20 21:13:04 +00:00
renovate[bot] f764c38c29 fix(doctor): update dependency appium-adb to v12.3.2 2024-05-20 13:40:31 +00:00
renovate[bot] 5e51f6c5f2 chore(deps): update eslint-related packages to v7.9.0 2024-05-19 17:35:19 +00:00
renovate[bot] 4b20eca627 chore(deps): update dependency npm-run-all2 to v6.2.0 2024-05-19 12:28:25 +00:00
renovate[bot] b34ce3cff0 fix(support): update dependency teen_process to v2.1.3 2024-05-19 02:29:44 +00:00
Mykola Mokhnach 6f602d3e50 feat(appium): Add --show-debug-info CLI argument (#20108) 2024-05-18 23:12:56 +02:00
renovate[bot] 2ad91655c2 chore(support): update dependency sharp to v0.33.4 (#20109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-18 21:28:13 +03:00
renovate[bot] 1b4f36cebe fix(support): update dependency semver to v7.6.2 2024-05-18 16:35:05 +00:00
renovate[bot] a8d36b0a98 fix(driver-test-support): update definitelytyped 2024-05-18 09:10:31 +00:00
renovate[bot] 0598a81d09 chore(docutils): update dependency mkdocs-material to v9.5.23 2024-05-17 21:57:09 +00:00
renovate[bot] e972d668fe chore(deps): update dependency lerna to v8.1.3 2024-05-17 17:52:05 +00:00
renovate[bot] 3b43be1732 fix(types): update dependency type-fest to v4.18.2 (#20103)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 10:23:37 +03:00
zhangxh075 deb9548369 docs: translate some documents into Chinese (#20100)
* Change the directory of the introduction module

* Translate the introduction index pages
2024-05-17 10:22:21 +03:00
Kazuaki Matsuo 2cbf3af759 docs: add example command for driver/plugin versions (#20098) 2024-05-16 13:17:43 -07:00
Jonathan Lipps 233dbd22ff docs(appium): write sponsorship release blog 2024-05-14 12:06:40 -07:00
Jonathan Lipps 807183925c docs(appium): rename platinum sponsors to strategic partners 2024-05-14 12:06:40 -07:00
renovate[bot] 38a506bbcd chore(deps): update dependency rimraf to v5.0.7 2024-05-13 02:46:27 +00:00
renovate[bot] 5e67a15299 chore(deps): update dependency chai-as-promised to v7.1.2 2024-05-12 15:00:34 +00:00
renovate[bot] a722f48f14 chore(deps): update definitelytyped (#20070) 2024-05-09 08:10:30 +02:00
Mykola Mokhnach db9fd98e7d fix: Revert "chore(deps): update dependency conventional-changelog-conventionalcom…" (#20084)
https://github.com/semantic-release/release-notes-generator/issues/633
2024-05-09 00:18:54 +02:00
Edgars Eglītis 22f40f094e chore(github): add link to Appium forum when creating an issue (#20083) 2024-05-08 21:12:49 +03:00
renovate[bot] 3dd72b2d0c chore(deps): update dependency conventional-changelog-conventionalcommits to v8 (#20072)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 20:06:02 +02:00
renovate[bot] 2acf262482 fix(test-support): update dependency sinon to v17.0.2 (#20078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 20:05:43 +02:00
renovate[bot] e961a9b9c5 fix(doctor): update dependency appium-adb to v12.2.0 2024-05-08 15:23:54 +00:00
renovate[bot] b5fd5b6d2c fix(support): update dependency semver to v7.6.1 2024-05-08 09:44:19 +00:00
renovate[bot] fd63e9bdbd fix(doctor): update dependency appium-adb to v12.0.9 2024-05-04 17:26:16 +00:00
renovate[bot] eb6e0f82b3 chore(docutils): update dependency mkdocs-material to v9.5.21 2024-05-04 13:39:14 +00:00
renovate[bot] f6f51c4b9e chore(docutils): update dependency mike to v2.1.1 2024-05-04 09:35:05 +00:00
renovate[bot] 690bebe4bc chore(deps): update dependency @types/chai to v4.3.15 2024-05-04 00:15:22 +00:00
Mykola Mokhnach 0492fe49dc fix(appium): Do not crash the process if there was an exception in a winston transport (#20065) 2024-05-03 23:49:45 +02:00
renovate[bot] 8526cc0333 chore(deps): update dependency json-schema-to-typescript to v14.0.4 2024-05-02 11:16:24 +00:00
Edgars Eglītis 1bde482ac8 ci: add back Node 18 (#20059)
* ci: add back Node 18

* ci: use GH Action node-lts-versions

* ci: also run on versions that have not yet become LTS
2024-05-02 13:58:55 +03:00
Kazuaki Matsuo 4d634642c8 docs: remove unused files (#20057) 2024-05-02 00:20:22 -07:00
renovate[bot] 06fc841c6a chore(docutils): update dependency mike to v2.1.0 2024-05-02 06:42:50 +00:00
renovate[bot] a52ac2139e chore(deps): update dependency @types/node to v20.12.8 2024-05-02 06:40:58 +00:00
renovate[bot] 3d438eb6a8 chore(docutils): update dependency mkdocs-git-revision-date-localized-plugin to v1.2.5 2024-05-02 02:15:27 +00:00
Jonathan Lipps 21ba471eb7 docs(appium): add magicpod as a bronze sponsor (#20054) 2024-05-01 11:33:18 -07:00
renovate[bot] 395dc225e4 fix(appium): update dependency ws to v8.17.0 2024-04-30 21:20:45 +00:00
renovate[bot] 448e94ee50 fix(appium): update dependency ajv to v8.13.0 2024-04-30 19:27:48 +00:00
renovate[bot] f8d1fb7df7 fix(images-plugin): update dependency lru-cache to v10.2.2 (#20052)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 18:46:31 +03:00
renovate[bot] fe16faaacb chore(deps): update eslint-related packages to v7.8.0 2024-04-30 12:31:19 +00:00
renovate[bot] 0211174300 fix(docutils): update dependency yaml to v2.4.2 2024-04-30 09:24:13 +00:00
renovate[bot] bfa8cbf7ea chore(docutils): update dependency mkdocs-material to v9.5.20 2024-04-30 07:52:51 +00:00
Kazuaki Matsuo 36f9cd54ba docs: update commiteers (#20041)
* docs: update commiteers

* docs: update GOVERNANCE.md
2024-04-29 22:40:49 -07:00
Mykola Mokhnach 4e8c91c8f6 feat(base-driver): Add env variables to control applications cache (#20042) 2024-04-29 22:48:01 +02:00
Jonathan Lipps 05aedb20eb docs(appium): add sponsorship program information (#20037)
* docs(appium): add sponsorship program information

* add emeritus contribution section

* add forum contributors and fix emeritus section
2024-04-26 13:30:16 -07:00
renovate[bot] f645b50d9d fix(images-plugin): update dependency lru-cache to v10.2.1 (#20039)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 15:01:44 +03:00
renovate[bot] 799b743d72 chore(docutils): update dependencies mkdocs-material to v9.5.19 & mkdocs to v1.6.0 (#20038) 2024-04-25 20:01:11 +03:00
Mykola Mokhnach 3423fd9206 feat(base-driver): Add the original app link argument to configureApp callbacks (#20035) 2024-04-24 18:01:14 +02:00
renovate[bot] cf3910fdab chore(deps): update eslint-related packages to v7.7.1 2024-04-23 06:11:50 +00:00
Jonathan Lipps 6344d14665 chore: publish
- appium@2.5.4
 - @appium/base-driver@9.6.0
 - @appium/base-plugin@2.2.31
 - @appium/doctor@2.0.36
 - @appium/docutils@1.0.7
 - @appium/driver-test-support@0.4.23
 - @appium/execute-driver-plugin@3.0.28
 - @appium/fake-plugin@3.1.35
 - @appium/images-plugin@3.0.6
 - @appium/plugin-test-support@0.3.30
 - @appium/support@4.2.5
 - @appium/test-support@3.0.35
 - @appium/types@0.17.0
2024-04-21 14:04:02 -07:00
renovate[bot] 2c2141c8c3 chore(deps): update dependency @types/diff to v5.2.0 2024-04-21 02:46:27 +00:00
renovate[bot] 9d8d43c89a chore(deps): update dependency json-schema-to-typescript to v14 (#20023)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-20 12:29:56 +03:00
renovate[bot] 9ad20ff1c2 fix(execute-driver-plugin): update dependency webdriverio to v8.36.1 2024-04-20 09:15:26 +00:00
Mykola Mokhnach de7e10187c chore(support): Allow to customize shell option for non-windows OSs (#20020) 2024-04-19 23:13:49 +02:00
Mykola Mokhnach 77d2ef74bb chore(bass-driver): Improve capability deprecation warning (#20019) 2024-04-19 20:21:51 +02:00
renovate[bot] 2350c4cd2a chore(deps): update dependency eslint-plugin-mocha to v10.4.3 2024-04-19 15:47:15 +00:00
renovate[bot] 77a27ab16c fix(support): update dependency yauzl to v3.1.3 (#20017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-19 16:34:26 +03:00
Mykola Mokhnach 8cf3efdbed feat(base-driver): Add onDownload handler to the configureApp helper (#20015) 2024-04-19 13:21:24 +02:00
renovate[bot] 80542b1046 chore(deps): update eslint-related packages to v7.7.0 2024-04-19 05:42:33 +00:00
Mykola Mokhnach 270fd42a20 fix(support): Enable shell option for all npm-related commands on Windows (#20010) 2024-04-18 08:35:32 +02:00
两仪院水月 2205d1d41e docs(appium): update zh uiauto2-driver.md (#20012)
* Docs:Update  zh uiauto2-driver.md

* Update uiauto2-driver.md

delete useless lang usage.
2024-04-17 22:46:46 -07:00
两仪院水月 6738e3d9ee docs(appium): update zh test-py.md (#20011)
* docs: update zh Python Test doc

* Update test-py.md

* Update test-py.md

* Update test-py.md

* Update test-py.md

Make the text more relevant and considerate of Chinese developers, facilitating easier understanding.
2024-04-17 22:46:11 -07:00
renovate[bot] 732cc586c2 chore(docutils): update dependency mkdocs-material to v9.5.18 2024-04-17 11:21:17 +00:00
Jonathan Lipps 407706cf5e chore: publish
- appium@2.5.3
 - @appium/base-driver@9.5.4
 - @appium/base-plugin@2.2.30
 - @appium/doctor@2.0.35
 - @appium/docutils@1.0.6
 - @appium/execute-driver-plugin@3.0.27
 - @appium/fake-plugin@3.1.34
 - @appium/images-plugin@3.0.5
 - @appium/support@4.2.4
 - @appium/test-support@3.0.34
2024-04-16 12:03:27 -07:00
renovate[bot] 72f32848b6 fix(execute-driver-plugin): update dependency webdriverio to v8.36.0 (#19998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-14 09:00:07 +02:00
Mykola Mokhnach 572037a0e2 fix(support): Enable shell option on Windows (#19996) 2024-04-12 11:42:08 +02:00
renovate[bot] d7cf013401 fix(docutils): update dependency typescript to v5.4.5 (#19993)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 17:39:49 +02:00
renovate[bot] eb5ec8940a chore(deps): update dependency eslint-plugin-mocha to v10.4.2 2024-04-11 11:08:49 +00:00
Kazuaki Matsuo 9f655f6f85 fix: do not print deprecation errors for non-provided caps (#19986) 2024-04-10 09:14:47 -07:00
renovate[bot] 38ef95fe09 chore(deps): update dependency @types/node to v20.12.7 (#19989)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-10 14:01:21 +02:00
renovate[bot] 4d48010a30 chore(deps): update eslint-related packages to v7.6.0 2024-04-09 19:02:54 +00:00
renovate[bot] b4b20e05fd chore(deps): update dependency chai-webdriverio-async to v3 (#19983)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 19:58:05 +03:00
renovate[bot] 5be7f5d319 chore(deps): update dependency @types/node to v20.12.6 2024-04-09 10:36:39 +00:00
Jonathan Lipps d44e66977c chore: publish
- appium@2.5.2
 - @appium/base-driver@9.5.3
 - @appium/base-plugin@2.2.29
 - @appium/doctor@2.0.34
 - @appium/docutils@1.0.5
 - @appium/driver-test-support@0.4.22
 - @appium/eslint-config-appium-ts@0.3.3
 - @appium/execute-driver-plugin@3.0.26
 - @appium/fake-plugin@3.1.33
 - @appium/images-plugin@3.0.4
 - @appium/opencv@3.0.3
 - @appium/plugin-test-support@0.3.29
 - @appium/support@4.2.3
 - @appium/test-support@3.0.33
 - @appium/tsconfig@0.3.3
 - @appium/types@0.16.2
 - @appium/universal-xml-plugin@1.0.18
2024-04-08 12:29:59 -07:00
renovate[bot] 1f368828e6 fix(doctor): update dependency appium-adb to v12.0.8 2024-04-08 07:47:35 +00:00
renovate[bot] b8368bb666 fix(base-driver): update dependency path-to-regexp to v6.2.2 (#19979)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-08 10:29:32 +03:00
HQidea d55f13b2ed docs(appium): remove duplicated words in drivers.md (#19977) 2024-04-08 08:32:50 +02:00
renovate[bot] 5899c2db93 fix(docutils): update dependency typescript to v5.4.4 2024-04-07 20:50:49 +00:00
renovate[bot] 1be08eca81 chore(deps): update dependency @types/node to v20.12.5 2024-04-06 11:25:01 +00:00
Mykola Mokhnach d5af68ecdd chore(base-driver): Drop the obsolete es6-error import (#19974) 2024-04-06 10:20:30 +02:00
renovate[bot] 59ef09d955 fix(appium): update dependency ajv-formats to v3 (#19957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 17:07:32 +03:00
renovate[bot] ee8425a001 chore(deps): update dependency @types/node to v20.12.4 2024-04-04 13:14:34 +00:00
renovate[bot] 3936cb43dc fix(doctor): update dependency appium-adb to v12.0.7 2024-04-04 02:50:25 +00:00
renovate[bot] f88bd3cb88 chore(deps): update dependency @types/node to v20.12.3 2024-04-03 07:33:12 +00:00
renovate[bot] 665219b7e0 chore(deps): update eslint-related packages to v7.5.0 2024-04-02 11:21:35 +00:00
renovate[bot] b8f2dd8508 chore(deps): update dependency tsd to v0.31.0 (#19955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 14:03:14 +03:00
renovate[bot] b139a2d313 chore(docutils): update dependency mkdocs-material to v9.5.17 2024-04-02 09:46:16 +00:00
renovate[bot] 26ab0ef759 fix(doctor): update dependency appium-adb to v12.0.6 2024-04-02 06:13:07 +00:00
renovate[bot] 85d06086dd chore(deps): update dependency @types/node to v20.12.2 2024-03-31 20:39:47 +00:00
renovate[bot] a6d49c1ac8 fix(doctor): update dependency appium-adb to v12.0.5 2024-03-30 09:26:25 +00:00
fire332 dde504d501 docs(appium): fix json formatting in build-drivers guide (#19943) 2024-03-29 18:49:25 +01:00
renovate[bot] 9a0c059c3a fix(support): update dependency glob to v10.3.12 (#19937)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-29 14:08:40 +02:00
renovate[bot] c928a75f4a chore(deps): update eslint-related packages to v7.4.0 2024-03-27 20:14:45 +00:00
renovate[bot] b4369473ee chore(deps): update dependency mocha to v10.4.0 2024-03-27 15:37:59 +00:00
renovate[bot] 66626d26e5 fix(tsconfig): update dependency @tsconfig/node14 to v14.1.2 2024-03-27 12:57:23 +00:00
renovate[bot] 7cb1621e80 fix(base-driver): update dependency express to v4.19.2 2024-03-27 10:28:34 +00:00
renovate[bot] 03f8dc9b18 fix(appium): update dependency winston to v3.13.0 2024-03-27 08:52:48 +00:00
renovate[bot] 63d7550d02 fix(execute-driver-plugin): update dependency webdriverio to v8.35.1 2024-03-25 05:55:15 +00:00
renovate[bot] a74132cc96 fix(base-driver): update dependency express to v4.19.1 2024-03-24 10:21:23 +00:00
renovate[bot] 5f9aa955f1 chore(support): update dependency sharp to v0.33.3 (#19918)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-24 12:03:07 +02:00
renovate[bot] de057fa8b0 fix(tsconfig): update dependency @tsconfig/node14 to v14.1.1 2024-03-24 09:26:00 +00:00
renovate[bot] cf792279b1 fix(docutils): update dependency typescript to v5.4.3 2024-03-24 08:54:56 +00:00
renovate[bot] 2687fa47a0 fix(appium): update definitelytyped 2024-03-23 11:06:56 +00:00
renovate[bot] 984e54a7ae chore(docutils): update dependency mkdocs-material to v9.5.15 2024-03-23 07:36:30 +00:00
renovate[bot] cf17ec7a80 chore(deps): update eslint-related packages to v7.3.1 2024-03-22 23:44:56 +00:00
renovate[bot] 17e0dc03f4 chore(deps): update definitelytyped 2024-03-20 09:42:13 +00:00
renovate[bot] caa4e586b1 chore(docutils): update dependency mkdocs-material to v9.5.14 2024-03-19 20:51:35 +00:00
renovate[bot] 7fc7446612 fix(execute-driver-plugin): update dependency webdriverio to v8.34.1 2024-03-17 19:07:05 +00:00
renovate[bot] 111b05c922 fix(universal-xml-plugin): update dependency fast-xml-parser to v4.3.6 2024-03-17 17:28:06 +00:00
renovate[bot] bd6ab81c94 fix(support): update dependency axios to v1.6.8 2024-03-17 13:13:56 +00:00
renovate[bot] 3ce4f96e0b chore(deps): update dependency @types/node to v20.11.28 2024-03-17 09:04:03 +00:00
renovate[bot] 471e95504c chore(deps): update dependency @types/node to v20.11.27 2024-03-15 05:59:59 +00:00
renovate[bot] 47765747b6 fix(driver-test-support): update definitelytyped 2024-03-13 07:42:50 +00:00
renovate[bot]andMykola Mokhnach 2448fa0145 fix(docutils): update dependency typescript to v5.4.2 (#19876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
2024-03-13 08:25:33 +01:00
renovate[bot] e7df8823e8 chore(deps): update eslint-related packages to v7.2.0 2024-03-13 06:58:56 +00:00
renovate[bot] b126df6234 fix(support): update dependency archiver to v7.0.1 2024-03-11 05:42:16 +00:00
renovate[bot] 0e6c3eede2 fix(execute-driver-plugin): update dependency webdriverio to v8.33.1 (#19877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-09 12:20:51 +01:00
renovate[bot] 3da17b6ecd fix(support): update dependency yauzl to v3 (#19878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-09 12:20:39 +01:00
renovate[bot] 636d6b3802 fix(docutils): update dependency yaml to v2.4.1 2024-03-09 11:08:13 +00:00
Jonathan Lipps 97c8ab5384 docs(appium): add stubs for ja and zh blogs 2024-03-08 12:43:42 -08:00
Jonathan Lipps 79378e4c20 docs(appium): add blog system to docs (#19868) 2024-03-08 12:41:54 -08:00
renovate[bot] df07665509 fix(doctor): update dependency appium-adb to v12.0.4 2024-03-08 19:56:54 +00:00
renovate[bot] 68456b8aea fix(appium): update definitelytyped 2024-03-08 15:22:02 +00:00
renovate[bot] 8529e360be chore(deps): update dependency eslint-plugin-mocha to v10.4.1 2024-03-08 13:58:18 +00:00
renovate[bot] 91bb539420 chore(docutils): update dependency mkdocs-material to v9.5.13 2024-03-08 10:31:33 +00:00
renovate[bot] 3f6c61a084 chore(deps): update eslint-related packages 2024-03-07 21:32:54 +00:00
Kazuaki Matsuo 82b024c77e docs(base-driver): update the warning format (#19859)
* add **`Deprecated`** for sessions that has no vendor path like se/appium

* Update base-driver.md
2024-03-04 23:33:17 -08:00
Kazuaki Matsuoandrenovate[bot] 7f7939dc62 docs(appium): add an example for getSessions endpoint and add Deprecated for endpoionts which have no vendor key in the path and not in w3c spec (#19851)
* docs(appium): add example of getSessions endpoint

* docs(appium): tweak

* add **`Deprecated`** for sessions that has no vendor path like se/appium

* Update base-driver.md

* fix(execute-driver-plugin): update dependency webdriverio to v8.32.4

* tweak bad rebase

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-04 23:30:39 -08:00
renovate[bot] 8eb4e888f6 fix(appium): update dependency winston to v3.12.0 2024-03-05 04:50:35 +00:00
renovate[bot] 7516d4135a fix(execute-driver-plugin): update dependency webdriverio to v8.32.4 2024-03-04 11:03:29 +00:00
renovate[bot] c4ef218006 chore(deps): update dependency @types/node to v20.11.24 2024-02-29 19:03:55 +00:00
renovate[bot] 917084ccca fix(base-driver): update dependency express to v4.18.3 2024-02-29 17:26:36 +00:00
renovate[bot] c905be032f fix(support): update dependency archiver to v7 (#19844)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-29 16:31:59 +02:00
renovate[bot] e1ccdd2d48 fix(support): update dependency yauzl to v3.1.1 (#19845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-29 16:13:05 +02:00
renovate[bot] dcf58168d6 chore(docutils): update dependency mkdocs-material to v9.5.12 2024-02-29 12:17:28 +00:00
renovate[bot] 7bee9ccc89 chore(deps): update dependency @types/node to v20.11.22 2024-02-29 10:10:11 +00:00
renovate[bot] e4ae2772ac fix(support): update dependency archiver to v6.0.2 2024-02-28 16:21:35 +00:00
renovate[bot] ef673786f4 chore(deps): update dependency @types/node to v20.11.21 2024-02-28 14:40:33 +00:00
renovate[bot] 98017937f7 chore(deps): update eslint-related packages to v7.1.0 2024-02-28 11:41:57 +00:00
renovate[bot] 26ded7a4cc fix(docutils): update dependency yaml to v2.4.0 2024-02-27 08:36:36 +00:00
renovate[bot] d1705e2818 fix(support): update dependency @types/semver to v7.5.8 2024-02-25 10:08:33 +00:00
renovate[bot] 32677efe87 chore(deps): update dependency tsd to v0.30.7 (#19830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-25 11:50:54 +02:00
renovate[bot] 1fd29c7012 chore(deps): update dependency eslint to v8.57.0 2024-02-25 00:40:39 +00:00
Kazuaki Matsuo 0d5a0a5727 fix(appium): make --log-filters work (#19825) 2024-02-24 13:35:25 -08:00
renovate[bot] f59e84e24c fix(universal-xml-plugin): update dependency fast-xml-parser to v4.3.5 2024-02-24 19:24:08 +00:00
renovate[bot] 39cb9069a6 chore(deps): update dependency @types/chai to v4.3.12 2024-02-24 12:04:22 +00:00
renovate[bot] e808f14bf6 chore(docutils): update dependency mkdocs-material to v9.5.11 2024-02-24 10:40:36 +00:00
renovate[bot] f837a6a9ea fix(execute-driver-plugin): update dependency webdriverio to v8.32.3 2024-02-23 09:09:09 +00:00
renovate[bot] 1c6b3216ab chore(deps): update dependency @types/node to v20.11.20 2024-02-23 07:30:13 +00:00
renovate[bot] d49289b0ae chore(deps): update dependency tsd to v0.30.6 (#19824)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 09:12:50 +02:00
Kazuaki Matsuo 7a23f11aab docs: add LTS recommendation (#19817) 2024-02-21 10:03:18 -08:00
renovate[bot] f4055bced2 chore(deps): update dependency tsd to v0.30.5 (#19812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-20 17:03:38 +02:00
renovate[bot] ed8a91e721 chore(deps): update eslint-related packages to v7.0.2 2024-02-20 10:16:34 +00:00
两仪院水月 f890d15de9 docs: update zh quickstart test-js.md (#19811)
* docs: update zh Doc  test-js.md

* docs:use suitable ”Capabilities“ zh translation and explanation
2024-02-20 09:55:23 +02:00
renovate[bot] e04e4e902a fix(docutils): update dependency lilconfig to v3.1.1 2024-02-20 01:29:59 +00:00
JumBê b25e0fd576 docs: fix typo in description of defaultImageTemplateScale setting (#19810) 2024-02-19 23:58:04 +02:00
renovate[bot] 6c034aa84a fix(execute-driver-plugin): update dependency webdriverio to v8.32.2 (#19807)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 12:39:45 +01:00
kkb912002 e21785a5e4 chore(types): add type of wheel action (#19805) 2024-02-19 11:55:27 +01:00
renovate[bot] bd7b42007d fix(support): update dependency yauzl to v3 (#19809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-19 11:54:55 +01:00
renovate[bot] 28f0926bf8 chore(docutils): update dependency mkdocs-material to v9.5.10 2024-02-19 10:40:27 +00:00
Mykola Mokhnach d722ecc292 docs(appium): Provide a tutorial for local PRs validations (#19803) 2024-02-18 17:07:02 +01:00
两仪院水月 670a77b021 docs: update zh Doc java application test-java.md (#19802) 2024-02-18 00:49:06 -08:00
renovate[bot] 0755246be7 chore(deps): update dependency eslint-plugin-mocha to v10.3.0 2024-02-17 10:34:04 +00:00
renovate[bot] 41cb869453 fix(support): update dependency yauzl to v3 (#19790)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-17 12:16:16 +02:00
renovate[bot] ea8c74b372 fix(execute-driver-plugin): update dependency webdriverio to v8.32.1 2024-02-17 05:11:02 +00:00
renovate[bot] 50d6181187 chore(deps): update dependency @types/node to v20.11.19 2024-02-16 10:56:27 +00:00
renovate[bot]andMykola Mokhnach a059b12cb4 chore(eslint-config-appium-ts): update eslint-related packages to v7 (major) (#19779)
* chore(eslint-config-appium-ts): update eslint-related packages to v7

* bump deps

* Bump eslint

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
2024-02-15 17:35:46 +01:00
renovate[bot] d25a0fca9b fix(execute-driver-plugin): update dependency webdriverio to v8.32.0 2024-02-15 16:17:49 +00:00
renovate[bot] 0db8dc7790 chore(deps): update dependency @types/node to v20.11.18 2024-02-15 14:05:47 +00:00
renovate[bot] f92640a824 fix(docutils): update dependency lilconfig to v3.1.0 2024-02-15 10:54:01 +00:00
Jonathan Lipps 42c0bd370e chore: publish
- appium@2.5.1
 - @appium/base-driver@9.5.2
 - @appium/base-plugin@2.2.28
 - @appium/doctor@2.0.33
 - @appium/docutils@1.0.4
 - @appium/execute-driver-plugin@3.0.25
 - @appium/fake-driver@5.5.1
 - @appium/fake-plugin@3.1.32
 - @appium/images-plugin@3.0.3
 - @appium/support@4.2.2
 - @appium/test-support@3.0.32
2024-02-13 11:26:55 -08:00
renovate[bot] 383fee4e11 chore(workflows): update egmacke/action-check-label action to v3 (#19780)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-13 14:49:10 +02:00
renovate[bot] 5951027ce7 chore(workflows): update fuxingloh/multi-labeler action to v4 (#19781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-13 14:44:58 +02:00
Kazuaki Matsuo 889a533eef fix(fake-driver): fix dependencies (#19782) 2024-02-13 01:08:37 -08:00
renovate[bot] d83d436d01 fix(docutils): update dependency diff to v5.2.0 2024-02-13 08:36:59 +00:00
renovate[bot] bd8a92f588 fix(support): update dependency @types/semver to v7.5.7 2024-02-12 22:48:47 +00:00
renovate[bot] db5a6323e6 chore(workflows): update rinchsan/renovate-config-validator action to v0.2.0 (#19774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-11 12:56:49 +02:00
renovate[bot] 2f56b05619 chore(docutils): update dependency mkdocs-material to v9.5.9 2024-02-11 08:58:57 +00:00
renovate[bot] 1e5201afad chore(deps): update dependency mocha to v10.3.0 2024-02-10 05:23:07 +00:00
renovate[bot] 9ef18310da chore(deps): update dependency @types/node to v20.11.17 2024-02-09 09:37:02 +00:00
renovate[bot] db0eec05c5 fix(execute-driver-plugin): update dependency webdriverio to v8.31.1 2024-02-09 04:17:22 +00:00
renovate[bot] fc9a93fee0 chore(docutils): update dependency mkdocs-material to v9.5.8 2024-02-08 05:27:36 +00:00
renovate[bot] 7b40a3225e fix(support): update dependency semver to v7.6.0 2024-02-06 21:41:41 +00:00
Jonathan Lipps 9cc598a92c chore: publish
- appium@2.5.0
 - @appium/base-driver@9.5.1
 - @appium/base-plugin@2.2.27
 - @appium/doctor@2.0.32
 - @appium/docutils@1.0.3
 - @appium/driver-test-support@0.4.21
 - @appium/execute-driver-plugin@3.0.24
 - @appium/fake-driver@5.5.0
 - @appium/fake-plugin@3.1.31
 - @appium/images-plugin@3.0.2
 - @appium/opencv@3.0.2
 - @appium/plugin-test-support@0.3.28
 - @appium/support@4.2.1
 - @appium/test-support@3.0.31
 - @appium/types@0.16.1
 - @appium/universal-xml-plugin@1.0.17
2024-02-06 12:21:16 -08:00
renovate[bot] 91320ddd02 fix(execute-driver-plugin): update dependency webdriverio to v8.30.0 2024-02-06 19:07:45 +00:00
renovate[bot] 23dc3d56ce chore(deps): update eslint-related packages to v6.21.0 2024-02-06 15:42:15 +00:00
renovate[bot] 35742f0962 chore(deps): update dependency lerna to v8.1.2 2024-02-06 12:56:31 +00:00
renovate[bot] 52a6f96e08 fix(execute-driver-plugin): update dependency webdriverio to v8.29.7 2024-02-05 07:41:24 +00:00
renovate[bot] d064dd1e8c chore(deps): update dependency prettier to v3.2.5 2024-02-05 05:42:36 +00:00
renovate[bot] 7bf4d694d4 chore(docutils): update dependency mkdocs-git-revision-date-localized-plugin to v1.2.4 2024-02-04 11:57:15 +00:00
renovate[bot] cdc7c09421 chore(docutils): update dependency mkdocs-material to v9.5.7 2024-02-03 10:53:51 +00:00
renovate[bot] 17c7a7cb29 chore(deps): update dependency @types/node to v20.11.16 2024-02-02 04:58:11 +00:00
renovate[bot] 3032b0009c chore(deps): update dependency npm-run-all2 to v6.1.2 2024-02-01 09:38:54 +00:00
renovate[bot] 6dacb5e70c fix(execute-driver-plugin): update dependency webdriverio to v8.29.3 2024-02-01 05:29:46 +00:00
renovate[bot] 5a8af1302f chore(deps): update dependency @types/node to v20.11.13 2024-01-31 09:24:52 +00:00
renovate[bot] 569db839f1 fix(universal-xml-plugin): update dependency fast-xml-parser to v4.3.4 2024-01-31 05:12:39 +00:00
renovate[bot] 32e9191431 chore(deps): update dependency npm-run-all2 to v6 (#19736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 14:25:21 +02:00
renovate[bot] 21b808d94f chore(deps): update eslint-related packages to v6.20.0 2024-01-30 09:41:29 +00:00
renovate[bot] 83cc668596 chore(deps): update dependency npm-run-all2 to v5.0.2 (#19735)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 09:37:44 +02:00
renovate[bot] b92ab24a25 chore(deps): replace dependency npm-run-all with npm-run-all2 5.0.0 (#19726)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 09:27:55 +02:00
renovate[bot] 4c7661dd13 chore(deps): update dependency @types/node to v20.11.10 2024-01-29 12:22:46 +00:00
renovate[bot] b14c03f38a chore(docutils): update dependency mkdocs-material to v9.5.6 2024-01-28 17:45:27 +00:00
renovate[bot] 0e1eb95006 chore(deps): update dependency @types/node to v20.11.9 2024-01-28 14:32:21 +00:00
Mykola Mokhnach edb490f359 chore: Remove commitlint and husky (#19724) 2024-01-27 20:53:14 +01:00
renovate[bot] 202da83449 fix(images-plugin): update dependency lru-cache to v10 (#19723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-27 08:56:56 +01:00
Edgars Eglītis d10b4ba2c4 chore(docutils): update consola to 3.2.3 (#19655) 2024-01-27 08:56:32 +01:00
renovate[bot] 6cd2c547de fix(doctor): update dependency appium-adb to v12.0.3 (#19722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-27 08:55:41 +01:00
renovate[bot] 95e3fd2612 chore(deps): update commitlint monorepo to v18.6.0 2024-01-26 19:57:27 +00:00
renovate[bot] 795092a97f fix(support): update dependency axios to v1.6.7 2024-01-26 17:45:56 +00:00
renovate[bot] 5936d53d78 fix(doctor): update dependency appium-adb to v12.0.2 2024-01-26 13:06:36 +00:00
renovate[bot] 5f75d8c8ce chore(deps): update definitelytyped 2024-01-26 11:01:07 +00:00
multicatch 214e922c3e docs: add Rust client (#19702) 2024-01-25 20:13:52 +02:00
两仪院水月 30425f9038 docs: Update zh quickstart next-steps.md (#19701)
docs: update Chinese translation for next-steps.md
2024-01-25 20:10:56 +02:00
renovate[bot] 6313704ee5 fix(support): update dependency axios to v1.6.6 2024-01-25 14:20:29 +00:00
renovate[bot] fb0f8f776c fix(execute-driver-plugin): update dependency webdriverio to v8.29.1 2024-01-25 10:20:45 +00:00
renovate[bot] faff8dc199 chore(docutils): update dependency mkdocs-material to v9.5.5 2024-01-24 15:36:42 +00:00
renovate[bot] 501395c948 fix(types): update dependency type-fest to v4.10.1 (#19703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-24 15:32:57 +02:00
renovate[bot] 759e06a940 chore(deps): update dependency @types/node to v20.11.6 2024-01-24 10:19:44 +00:00
renovate[bot] 966d305e5e fix(types): update dependency type-fest to v4.10 (#19694)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-23 19:34:11 +02:00
两仪院水月 f3b212ce05 docs: Update zh quickstart install.md (#19689)
* docs: Update zh install.md

Update Chinese translation install.md

* Update install.md

delete space line

* Update install.md

rollback original code

* docs: update zh install.md
2024-01-23 19:23:16 +02:00
renovate[bot] 6f0101eb63 fix(execute-driver-plugin): update dependency webdriverio to v8.29.0 2024-01-23 12:56:28 +00:00
renovate[bot] 9e4cff1595 chore(deps): update eslint-related packages to v6.19.1 2024-01-23 11:31:12 +00:00
两仪院水月 63ef7eb2fb docs: Update zh quickstart index.md (#19688) 2024-01-22 17:26:27 +02:00
两仪院水月 3dcbd6afe7 docs: Update zh resources.md (#19687)
* docs: Update zh resources.md

update Chinese translation for resources.md

* Update resources.md

return original code

* docs: Update zh resources.md

update right update zh resources

* correct space line

* correct space line

* delete line 

delete
2024-01-22 17:23:51 +02:00
renovate[bot] 45abac485b chore(deps): update commitlint monorepo to v18.5.0 2024-01-22 14:27:38 +00:00
renovate[bot] 1fdf117c63 fix(execute-driver-plugin): update dependency webdriverio to v8.28.8 2024-01-20 09:39:20 +00:00
Edgars Eglītis d9711b4191 fix(docutils): change default alias type to symlink (#19681)
* fix(docutils): change default docs alias type to symlink

* fix(docutils): adjust order of mike arguments
2024-01-19 22:06:19 +02:00
两仪院水月 9b16f0d9ad docs: update zh Doc Introduction index.md (#19675)
* Update index.md

add China Doc introduction explanation

* docs: update new doc to lastest version

if has some question , just @unlimitedcodeG , leave my message.

* docs: update correct file index.md
2024-01-19 15:44:07 +02:00
renovate[bot] da84efc42d fix(execute-driver-plugin): update dependency webdriverio to v8.28.6 2024-01-18 11:11:19 +00:00
renovate[bot] 7733b0de3b chore(deps): update dependency tsd to v0.30.4 (#19673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 09:51:49 +02:00
renovate[bot] e8e0444bd2 fix(execute-driver-plugin): update dependency webdriverio to v8.28.0 2024-01-17 18:06:36 +00:00
renovate[bot] c3bea4cf14 chore(deps): update dependency prettier to v3.2.4 2024-01-17 15:51:53 +00:00
renovate[bot] b85a6b939f fix(doctor): update dependency appium-adb to v12.0.1 2024-01-17 14:16:15 +00:00
renovate[bot] 0e94a33240 chore(deps): update dependency @types/node to v20.11.5 2024-01-17 09:16:13 +00:00
Dor Blayzer 4efd0c5cad docs(appium): Add update command in install.md (#19660) 2024-01-16 10:30:30 -08:00
renovate[bot] fcb42f0809 chore(deps): update dependency @types/node to v20.11.4 2024-01-16 13:38:51 +00:00
renovate[bot] 882bd06d1c chore(deps): update eslint-related packages to v6.19.0 2024-01-16 11:08:31 +00:00
renovate[bot] a6d6480074 chore(docutils): update dependency mkdocs-material to v9.5.4 2024-01-15 15:13:30 +00:00
renovate[bot] 45f5660b94 chore(deps): update dependency @types/node to v20.11.1 2024-01-15 11:06:31 +00:00
renovate[bot] 7aabbc3115 chore(support): update dependency sharp to v0.33.2 (#19645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-14 17:59:57 +02:00
renovate[bot] 2ef9cc5983 chore(deps): update dependency prettier to v3.2.2 2024-01-14 13:49:46 +00:00
renovate[bot] 6ce45cf4f8 chore(deps): update dependency json-schema-to-typescript to v13.1.2 2024-01-14 11:06:36 +00:00
renovate[bot] 9a21dbacf2 chore(deps): update dependency prettier to v3.2.1 2024-01-13 12:52:42 +00:00
renovate[bot] 9617974481 fix(doctor): update dependency appium-adb to v12 (#19648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-13 11:25:33 +01:00
renovate[bot] ca54b4f79a fix(driver-test-support): update dependency chai to v4.4.1 2024-01-13 09:29:42 +00:00
renovate[bot] 35f1dbabf6 fix(execute-driver-plugin): update dependency webdriverio to v8.27.2 2024-01-12 10:24:09 +00:00
renovate[bot] c3dfade284 chore(deps): update dependency @types/node to v20.11.0 2024-01-11 10:14:42 +00:00
renovate[bot] cbc1f500bc fix(doctor): update dependency appium-adb to v11.1.0 2024-01-10 18:14:24 +00:00
renovate[bot] 293c8031d9 chore(deps): update eslint-related packages to v6.18.1 2024-01-10 17:45:47 +00:00
renovate[bot] 43690a4c77 chore(deps): update definitelytyped 2024-01-10 13:57:08 +00:00
renovate[bot] 40873fb655 fix(universal-xml-plugin): update dependency fast-xml-parser to v4.3.3 2024-01-10 10:18:55 +00:00
Dor Blayzer 7d9065cf31 chore: grammar fix (#19627) 2024-01-08 22:50:48 +01:00
Dor Blayzer 06218c0c6a docs(types): Update README.md with Alerts (#19628) 2024-01-08 22:49:52 +01:00
Dor Blayzer 348b297578 docs(docutils): Update docutils README.md (#19626) 2024-01-08 22:48:43 +01:00
renovate[bot] 314e1b468a chore(deps): update dependency @types/node to v20.10.7 2024-01-08 10:14:33 +00:00
Dor Blayzer 16a7899154 docs: Update warning section in the doctor/README.md (#19622)
* Update Warning Section in doctor/README.md

* add space
2024-01-08 09:19:45 +02:00
Mykola Mokhnach cc24a26c6a docs(doctor): Add deprecation notice (#19621) 2024-01-07 20:00:04 +01:00
renovate[bot] 0f1c12d859 chore(deps): update eslint-related packages to v6.18.0 2024-01-07 09:44:06 +00:00
Mykola Mokhnach f4011f17d4 feat(appium): Set a proper exit code if any of required doctor checks fails (#19617) 2024-01-06 19:48:50 +01:00
renovate[bot] f7e47316c0 fix(driver-test-support): update dependency chai to v4.4.0 2024-01-06 15:17:17 +00:00
renovate[bot] d2666f9eb5 chore(deps): update dependency lerna to v8.0.2 2024-01-06 13:13:10 +00:00
renovate[bot] ac73522351 fix(support): update dependency axios to v1.6.5 (#19616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-06 11:07:59 +01:00
Kazuaki Matsuo 5aaca9b11c docs(appium): add links to the sample repository urls (#19613) 2024-01-05 10:02:46 -08:00
Peter Schröder 9733c7715e docs(appium): fix incorrect filetype in Ruby quickstart example (#19608)
* fix filename

* via bundler test-rb.md
2024-01-05 09:16:09 -08:00
Mykola Mokhnach 5cd9ca5c21 fix(appium): Tune warning messages about installed extensions (#19612) 2024-01-05 11:27:17 +01:00
renovate[bot] 7084d7cfdc chore(deps): update commitlint monorepo to v18.4.4 2024-01-05 09:46:20 +00:00
Mykola Mokhnach b5460fc131 fix(support): Prefer semver.minVersion to semver.coerce API (#19610) 2024-01-05 08:43:11 +01:00
Jonathan Lipps fc3ea5caa2 test(appium): fix race condition in bidi test 2024-01-04 12:05:14 -08:00
renovate[bot] 332cc48a09 fix(support): update dependency axios to v1.6.4 2024-01-04 12:05:14 -08:00
renovate[bot] 83f24acd39 chore(deps): update dependency tsd to v0.30.3 (#19604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-04 19:22:38 +02:00
Jonathan Lipps b08210a6f8 chore: publish
- appium@2.4.1
2024-01-04 08:01:04 -08:00
Mykola Mokhnach 474f3ce092 fix(appium): Properly handle version check for aliases 2024-01-04 08:00:16 -08:00
Jonathan Lipps 9ef2533256 docs(appium): make appium doctor guide more visible 2024-01-03 16:30:50 -08:00
404 changed files with 20527 additions and 15913 deletions
+2 -2
View File
@@ -61,8 +61,8 @@ body:
value: |
- Operating system:
- Appium server version (output of `appium --version`):
- Appium driver(s) and their version(s):
- Appium plugin(s) and their version(s):
- Appium driver(s) and their version(s) (`appium driver list`):
- Appium plugin(s) and their version(s) (`appium plugin list`):
- Node.js version (output of `node --version`):
- `npm` version (output of `npm --version`):
- Last component(s) version which did _not_ exhibit the problem:
+5
View File
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: ❓ Question
url: https://discuss.appium.io/
about: Please use the Appium forum for questions
+2 -2
View File
@@ -16,11 +16,11 @@ _Put an `x` in the boxes that apply_
_Put an `x` in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code._
- [ ] I have read the [CONTRIBUTING](https://github.com/appium/appium/blob/master/CONTRIBUTING.md) doc
- [ ] I have read the [Contributing Guide](https://appium.io/docs/en/latest/contributing/)
- [ ] I have signed the CLA
- [ ] Lint and unit tests pass locally with my changes
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] I have added necessary documentation (if appropriate)
- [ ] I have added the necessary documentation (if appropriate)
- [ ] Any dependent changes have been merged and published in downstream modules
## Further comments
+20 -15
View File
@@ -48,16 +48,6 @@ labels:
matcher:
files: ['packages/base-driver/**']
- label: '@appium/eslint-config-appium'
sync: true
matcher:
files: ['packages/eslint-config-appium/**']
- label: '@appium/eslint-config-appium-ts'
sync: true
matcher:
files: ['packages/eslint-config-appium-ts/**']
- label: '@appium/base-plugin'
sync: true
matcher:
@@ -78,6 +68,16 @@ labels:
matcher:
files: ['packages/driver-test-support/**']
- label: '@appium/eslint-config-appium'
sync: true
matcher:
files: ['packages/eslint-config-appium/**']
- label: '@appium/eslint-config-appium-ts'
sync: true
matcher:
files: ['packages/eslint-config-appium-ts/**']
- label: '@appium/execute-driver-plugin'
sync: true
matcher:
@@ -98,6 +98,11 @@ labels:
matcher:
files: ['packages/images-plugin/**']
- label: '@appium/logger'
sync: true
matcher:
files: ['packages/logger/**']
- label: '@appium/opencv'
sync: true
matcher:
@@ -123,6 +128,11 @@ labels:
matcher:
files: ['packages/support/**']
- label: '@appium/strongbox'
sync: true
matcher:
files: ['packages/strongbox/**']
- label: '@appium/test-support'
sync: true
matcher:
@@ -142,8 +152,3 @@ labels:
sync: true
matcher:
files: ['packages/universal-xml-plugin/**']
- label: '@appium/strongbox'
sync: true
matcher:
files: ['packages/strongbox/**']
+1 -1
View File
@@ -13,4 +13,4 @@ jobs:
name: Auto-Label PRs
runs-on: ubuntu-latest
steps:
- uses: fuxingloh/multi-labeler@v2
- uses: fuxingloh/multi-labeler@v4
+3 -3
View File
@@ -53,11 +53,11 @@ jobs:
prepare_matrix:
runs-on: ubuntu-latest
outputs:
versions: ${{ steps.generate-matrix.outputs.versions }}
versions: ${{ steps.generate-matrix.outputs.active }}
steps:
- name: Select 2 most recent LTS versions of Node.js
- name: Select all active LTS versions of Node.js
id: generate-matrix
run: echo "versions=$(curl -s https://endoflife.date/api/nodejs.json | jq -c '[[.[] | select(.lts != false)][:2] | .[].cycle | tonumber]')" >> "$GITHUB_OUTPUT"
uses: msimerson/node-lts-versions@v1
test:
needs:
+3 -3
View File
@@ -12,11 +12,11 @@ jobs:
prepare_matrix:
runs-on: ubuntu-latest
outputs:
versions: ${{ steps.generate-matrix.outputs.versions }}
versions: ${{ steps.generate-matrix.outputs.active }}
steps:
- name: Select 2 most recent LTS versions of Node.js
- name: Select all active LTS versions of Node.js
id: generate-matrix
run: echo "versions=$(curl -s https://endoflife.date/api/nodejs.json | jq -c '[[.[] | select(.lts != false)][:2] | .[].cycle | tonumber]')" >> "$GITHUB_OUTPUT"
uses: msimerson/node-lts-versions@v1
check:
needs:
+1 -1
View File
@@ -44,7 +44,7 @@ jobs:
useRollingCache: true
install-command: npm ci
- name: Install dependencies (Python)
run: pip install -r packages/docutils/requirements.txt
run: pip install -r packages/docutils/requirements.txt --break-system-packages
- name: Configure Git User
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check for "On Hold" label
uses: egmacke/action-check-label@v2
uses: egmacke/action-check-label@v3
with:
label: On Hold
state: absent
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
useRollingCache: true
install-command: npm ci
- name: Install dependencies (Python)
run: pip install -r packages/docutils/requirements.txt
run: pip install -r packages/docutils/requirements.txt --break-system-packages
- name: Publish docs
run: |
cd packages/appium
+1 -1
View File
@@ -25,6 +25,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Validate Renovate Config
uses: rinchsan/renovate-config-validator@v0.0.12
uses: rinchsan/renovate-config-validator@v0.2.0
with:
pattern: '{.renovaterc.json,renovate/default.json}'
+4
View File
@@ -37,6 +37,9 @@ certificate.key
*.pdb
.vs
#vscode
.history
old
.tern-project
coverage
@@ -60,5 +63,6 @@ appium.zip
**/build-fixtures/**
*.tsbuildinfo
packages/*/LICENSE
\!packages/*/LICENSE
local_appium_home
*.tgz
-4
View File
@@ -1,4 +0,0 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npm run lint:commit -- --edit ${1}
-4
View File
@@ -1,4 +0,0 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npm run lint:staged
+1 -1
View File
@@ -3,7 +3,7 @@
'use strict';
module.exports = {
require: [require.resolve('./test/setup.js')],
require: ['ts-node/register'],
// forbids use of .only() in CI
forbidOnly: Boolean(process.env.CI),
color: true,
+4 -1
View File
@@ -1,6 +1,9 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["github>appium/appium//renovate/default"],
"schedule": ["after 10pm and before 5:00am"],
"schedule": [
"after 10pm",
"before 5:00am"
],
"timezone": "America/Vancouver"
}
-78
View File
@@ -1,78 +0,0 @@
'use strict';
module.exports = (wallaby) => {
return {
compilers: {
'**/*.js': wallaby.compilers.typeScript({
allowJs: true,
allowSyntheticDefaultImports: true,
resolveJsonModule: true,
isolatedModules: true,
}),
'**/*.ts?(x)': wallaby.compilers.typeScript(),
},
debug: true,
env: {
type: 'node',
},
files: [
'./packages/*/build/**/*',
'./packages/*/lib/**/*.js',
'./packages/*/lib/**/*.ts',
'./packages/*/test/**/*helper*.js',
'./packages/*/test/**/*helper*.ts',
'./packages/*/test/**/*mock*.js',
'./packages/*/test/**/*mock*.ts',
'./packages/*/package.json',
'./packages/*/tsconfig*.json',
'./packages/*/test/**/fixture?(s)/**/*',
{
binary: true,
pattern: './packages/support/test/unit/assets/sample_binary.plist',
},
{
instrument: false,
pattern: './packages/support/test/unit/assets/sample_text.plist',
},
{
instrument: false,
pattern: './packages/base-driver/static/**/*',
},
{
instrument: false,
pattern: './packages/*/test/**/__snapshots__/**/*',
},
'!./packages/*/test/**/*-specs.js',
'!./packages/*/test/**/*.e2e.spec.js',
'!./packages/*/test/**/*.e2e.spec.ts',
'!**/local_appium_home/**',
],
testFramework: 'mocha',
tests: [
'./packages/*/test/unit/**/*.spec.js',
'./packages/*/test/unit/**/*.spec.ts',
'!**/local_appium_home/**',
],
workers: {
// restart: true,
},
setup(wallaby) {
// copied out of `./test/setup.js`
const chai = require('chai');
const chaiAsPromised = require('chai-as-promised');
const sinonChai = require('sinon-chai');
// The `chai` global is set if a test needs something special.
// Most tests won't need this.
global.chai = chai.use(chaiAsPromised).use(sinonChai);
// `should()` is only necessary when working with some `null` or `undefined` values.
global.should = chai.should();
const mocha = wallaby.testFramework;
mocha.timeout(10000);
},
runMode: 'onsave',
};
};
+2 -2
View File
@@ -4,7 +4,7 @@ Appium contains many different modules and supports a variety of drivers, plugin
## Main Appium Module
* ### [Appium 2.0 Changelog](packages/appium/CHANGELOG.md)
* ### [Appium 2 Changelog](packages/appium/CHANGELOG.md)
* [Appium 1.x Changelog](https://github.com/appium/appium/blob/1.x/CHANGELOG.md)
## Appium Drivers / Clients / Plugins
@@ -23,6 +23,7 @@ Appium contains many different modules and supports a variety of drivers, plugin
* [fake-driver](packages/fake-driver/CHANGELOG.md)
* [fake-plugin](packages/fake-plugin/CHANGELOG.md)
* [images-plugin](packages/images-plugin/CHANGELOG.md)
* [logger](packages/logger/CHANGELOG.md)
* [opencv](packages/opencv/CHANGELOG.md)
* [plugin-test-support](packages/plugin-test-support/CHANGELOG.md)
* [relaxed-caps-plugin](packages/relaxed-caps-plugin/CHANGELOG.md)
@@ -31,6 +32,5 @@ Appium contains many different modules and supports a variety of drivers, plugin
* [support](packages/support/CHANGELOG.md)
* [test-support](packages/test-support/CHANGELOG.md)
* [tsconfig](packages/tsconfig/CHANGELOG.md)
* [typedoc-plugin-appium](packages/typedoc-plugin-appium/CHANGELOG.md)
* [types](packages/types/CHANGELOG.md)
* [universal-xml-plugin](packages/universal-xml-plugin/CHANGELOG.md)
-63
View File
@@ -1,63 +0,0 @@
# Contributing to Appium
There are a lot of different ways to contribute to Appium. See below for
everything you can do and the processes to follow for each contribution method.
Note that no matter how you contribute, your participation is governed by our
[Code of Conduct](CONDUCT.md).
### Make changes to the Appium code or docs
Fork the project, make a change, and send a pull request! Please have a look at
our [Style Guide](/docs/en/contributing-to-appium/style-guide.md) before
getting to work. Please make sure the unit and functional tests pass before
sending a pull request; for more information on how to run tests, keep reading!
Make sure you read and follow the setup instructions in the README first. And note
that all participation in the Appium community (including code submissions) is
governed by our [Code of Conduct](CONDUCT.md). Then, have a look at our
[running from source doc](/docs/en/contributing-to-appium/appium-from-source.md) for more
information on how to get set up to run tests and start slinging code.
You will probably also want to have a look at this more in-depth [Developer's
Overview](/docs/en/contributing-to-appium/developers-overview.md) of the Appium
project, how Appium is architected, how to make changes to modules, and so on.
Finally, before we accept your code, you will need to have signed our
[Contributor License
Agreement](https://cla.js.foundation/appium/appium).
### Become an Appium Triager
You can help us manage our issue tracker! All you need is enough familiarity
with Appium to try and reproduce bugs. We triage issues by having conversations
with the issue creator and then either closing the issue or moving it into the
[Bugs](https://github.com/appium/appium/milestones/Bugs) or
[Features](https://github.com/appium/appium/milestones/Features) milestone. We
use these buckets as the backlogs for our upcoming releases.
We use this "algorithm" for triaging issues, which anyone can jump in and follow:
1. If issue is a feature request, discuss amongst Appium devs.
* If we decide to build it, add to the Features milestone.
* If we decide not to build it, just close.
2. If issue is a bug report, attempt to verify
* If it's a duplicate, close with link to bug already reported.
* If it ultimately can't be verified, close until we have enough information to verify (e.g., in most cases we need a full set of Appium logs to help diagnose an issue).
* If the user hasn't provided enough information, keep asking for enough information to verify.
* If it's a verified new bug, add it to the Bugs milestone.
* If we have been waiting for a reply from the user for over 3 weeks, close.
If you're interested in joining our triage rotation, contact
[@jlipps](https://github.com/jlipps) or
[@imurchie](https://github.com/imurchie).
### Help out on our forums
We can always use help on our forums at
[discuss.appium.io](https://discuss.appium.io)! Hop on over and see if there
are any questions that you can answer.
### Submit bug reports or feature requests
Just use the GitHub issue tracker to submit your bug reports and feature
requests. If you are submitting a bug report, please follow the [issue template](https://github.com/appium/appium/issues/new).
+126 -49
View File
@@ -15,12 +15,8 @@ The project is officially led by a Technical Committee (TC), currently
consisting of:
* [@jlipps](https://github.com/jlipps)
* [@bootstraponline](https://github.com/bootstraponline)
* [@penguinho](https://github.com/penguinho)
* [@dandoveralba](https://github.com/dandoveralba)
* [@mykola-mokhnach](https://github.com/mykola-mokhnach)
* [@imurchie](https://github.com/imurchie)
* [@TikhomirovSergey](https://github.com/TikhomirovSergey)
* [@eglitise](https://github.com/eglitise)
* [@KazuCocoa](https://github.com/KazuCocoa)
They all represent different companies and different types of contribution to
@@ -31,7 +27,7 @@ changes to the project's governance processes.
* Membership in the TC is granted by unanimous vote of current TC members.
* TC members can step down at any time.
* No more than 1/3 of TC members may belong to the same company.
* No more than 1/3 (or 2, whichever is higher) of TC members may belong to the same company.
* Changes to project governance require unanimous vote of the TC.
### Project Committers
@@ -50,55 +46,104 @@ and so on.
* Any committer can decide to close a PR or issue if they determine the change doesn't suit the project.
* Appium has a large ecosystem of repositories. Some are 'core' in the sense of being central subpackages with a lot of traffic like `appium/appium` or `appium/appium-ios-driver`. Others are 'peripheral' in the sense of receiving few changes, being maintained by 1 person or no one, etc..., like `appium/ruby_lib` or `appium/appium_thor` For 'core' repos, committers should not merge their own code straightaway. Like all contributors they should open a PR and get a +1 from another committer. For 'peripheral' repos for which they are the sole maintainer or for which they have a good understanding, it is obtuse to insist on another contributor's +1 and this rule should be relaxed in that case. In sum: use good judgment and don't ram code through without a review when you can help it.
The current committers are (in addition to the TC members above):
The current committers are (along with their primary areas(s) of ownership or maintenance):
* [@hugs](https://github.com/hugs)
* [@filmaj](https://github.com/filmaj)
* [@aluedeke](https://github.com/aluedeke)
* [@sebv](https://github.com/sebv)
* [@vgrigoruk](https://github.com/vgrigoruk)
* [@DylanLacey](https://github.com/DylanLacey)
* [@maudineormsby](https://github.com/maudineormsby)
* [@titusfortner](https://github.com/titusfortner)
* [@bayandin](https://github.com/bayandin)
* [@jdeff](https://github.com/jdeff)
* [@moizjv](https://github.com/moizjv)
* [@gempesaw](https://github.com/gempesaw)
* [@Jonahss](https://github.com/Jonahss)
* [@JamieEdge](https://github.com/JamieEdge)
* [@saikrishna321](https://github.com/saikrishna321)
* [@sravanmedarapu](https://github.com/sravanmedarapu)
* [@peepa](https://github.com/peepa)
* [@scottdixon](https://github.com/scottdixon)
* [@drpy](https://github.com/drpy)
* [@Astro03](https://github.com/Astro03)
* [@sbonebrake](https://github.com/sbonebrake)
* [@SrinivasanTarget](https://github.com/SrinivasanTarget)
* [@triager](https://github.com/triager)
* [@ddkjin](https://github.com/ddkjin)
* [@stuartbrussell-intuit](https://github.com/stuartbrussell-intuit)
* [@vmaxim](https://github.com/vmaxim)
* [@Dan-Maor](https://github.com/Dan-Maor)
* [@laolubenson](https://github.com/laolubenson)
* [@Dor-bl](https://github.com/Dor-bl)
* [@boneskull](https://github.com/boneskull)
* [@mwakizaka](https://github.com/mwakizaka)
* [@rerorero](https://github.com/rerorero)
* [@tomriddly](https://github.com/tomriddly)
* [@eglitise](https://github.com/eglitise)
* [@dan-maor](https://github.com/Dan-Maor) - XCUITest driver and iOS internals
* [@dor-bl](https://github.com/Dor-bl) - DotNet client
* [@eglitise](https://github.com/eglitise) - Appium server, Inspector
* [@jlipps](https://github.com/jlipps) - Appium server, Inspector
* [@kazucocoa](https://github.com/KazuCocoa) - all Appium projects
* [@laolubenson](https://github.com/laolubenson) - DotNet client
* [@mwakizaka](https://github.com/mwakizaka) - XCUITest driver
* [@mykola-mokhnach](https://github.com/mykola-mokhnach) - all Appium projects
* [@rerorero](https://github.com/rerorero) - XCUITest/UIA2 driver
* [@saikrishna321](https://github.com/saikrishna321) - Java client
* [@srinivasantarget](https://github.com/SrinivasanTarget) - Java client
* [@tomriddly](https://github.com/tomriddly) - appium-ios-device
* [@valfirst](https://github.com/valfirst) - Java client
### Contributors
See [Emeritus Contributors](#emeritus-contributors) below for a list of people who formerly made
significant contributions to the project but are no longer actively committing.
Other, less formal, kinds of contribution are outlined in our
[CONTRIBUTING](/CONTRIBUTING.md) doc.
### Other Contributors
Other, less formal, kinds of contribution are outlined in our [Contributing Guide](https://appium.io/docs/en/latest/contributing/).
We also very much appreciate those who spend their valuable time assisting with the [Appium forums](https://discuss.appium.io).
Current high-level forum contributors and mods include:
* [aleksei](https://discuss.appium.io/u/aleksei/summary)
* [wreed](https://discuss.appium.io/u/wreed/summary)
### Sponsorship
The Appium project welcomes sponsorship of various organizations. Specific
details are not yet available but in general we will accept monetary donations,
contribution of code, contribution of dedicated committers, or donations of
other goods or service (internet hosting, etc...). To begin the conversation,
reach out to one of the TC members.
The Appium project welcomes the sponsorship of individuals and organizations. There are two types
of sponsorship: those related to contributions of Appium maintenance and leadership, and those
related to contributions of funds. Both are extremely important to the ongoing health of the
project. Financial sponsorship is mediated through our [OpenCollective page](https://opencollective.com/appium).
Sponsorship tiers and benefits are described below:
- **Development Partners**: The primary need of any open source project is for sustained maintenance and contributorship. Companies that officially sponsor such development with dedicated employee time are recognized as Development Partners, and receive the same benefits as the highest tier of financial sponsorship. To be considered a Development Partner, a company must devote at least 50% of a full-time employee's time to Appium maintenance. This means that the contributors designated by the company must have been appointed as "committers" in good standing of one or more core Appium repositories. (See above for a description of how to become a committer).
- **Strategic Partners**: Representing the highest tier of ongoing financial support for the project, Strategic Partners are what make our compensation scheme for contributors possible, and we thank them for their significant investment into the project! More than financial contribution, Strategic Partners help elevate Appium's position in the industry through marketing and evangelism efforts, and partner with the Appium team to help make Appium better. Along with the Development Partners, Strategic Partners have their logos displayed prominently on our website, and have the ability to link to their Appium-related products in a few relevant places in our documentation.
- **Gold, Silver, and Bronze Sponsors**: these sponsorship levels correspond to different amounts of recurring financial contribution that generously support our contributor compensation scheme. Sponsors at these levels also have the opportunity to display their logo on our website.
- **Backers**: individuals who benefit from the Appium project can also donate on a one-time or recurring basis, at any amount, and will be recognized as Backers for their contribution!
To become a sponsor at one of these levels, follow the process indicated at the [OpenCollective
page](https://opencollective.com/appium).
### Compensation Scheme
With funds received through sponsorship, the Appium project wants to incentivize contributions of
code, documentation efforts, maintenance, and project leadership. We have developed a scheme
(inspired by one developed at the [WebdriverIO](https://github.com/webdriverio/webdriverio)
project) for disbursing funds on a monthly basis to those who contribute to the project, as well as
some other "upstream" open source projects.
Each month, 15% of sponsorship funds received will be donated to upstream projects, based on the
discretion of the current TC. At this point, no attempt will be made to formalize quantitative
notions of relevance. If you manage a project upstream of Appium and would like to be considered as
part of this donation group, give us a shout!
Of the remaining 85% of sponsorship funds, 70% (roughly 60% of the original total) will go to
project Committers (i.e., those in a role of maintenance), and 30% (roughly 25% of the original
total) will go to Contributors (i.e., those making one-off or periodic contributions). The way that
Committers and Contributors are paid for their efforts differs.
For Committers, each Committer will keep a monthly time sheet of hours contributed to the project.
At the end of each month, the hours tracked from all Committers will be totalled, and then the
Committer-allocated funds will be disbursed (via OpenCollective) on a pro rata basis. Within this
scheme, Committers agree not to submit hours worked as part of their employment with a Development
Partner (since this is part of the "sponsorship" contribution of the Development Partner).
For Contributors, when they make contributions which are successfully merged into the project,
a Committer can discretionarily assign a "value tier" to the contribution. The "value tiers" and
corresponding payouts are as follows:
- XS: a trivial change (e.g. a typo change or applying of an automatically suggested security
patch). \$0.
- S: a small but useful change. \$25.
- M: a medium-small or slightly more complex change. \$50.
- L: a very valuable or sizable change. \$100.
- XL: a massive change or set of changes. \$500.
At the end of each month, Committers will total up the number of changes receiving potential
payout. If the total amount of funds allocated for Contributor payout exceeds the total amount to
be paid, then each Contributor will receive an OpenCollective link to claim their funds. If not
enough funds exist to cover all payouts, then the payout amounts will be scaled down in a pro rata
fashion.
The scope for Committer or Contributor payouts is work completed within any "core" Appium
repository (i.e., those officially maintained by the Appium team, residing within the Appium
organization on GitHub, under `https://github.com/appium`).
Some disclaimers: Payments will happen exclusively via OpenCollective. Recipients of funds are
responsible for maintaining their OpenCollective account in a fashion where funds can be disbursed,
and are responsible for any and all tax, financial, or legal consequences of receiving money in
this way. Receipt of funds from this scheme holds the Appium project and the OpenJS Foundation free
of any claim or obligation. While this document exists to clearly and publicly lay out the terms
under which payments are generally made, the TC retains the right to grant or withhold funding on
a discretionary of special basis. Basically, this scheme is run at the project's discretion, and is
not a public service. Making contributions to the project under this scheme does not obligate the
project to pay you for such work, or otherwise compensate you in any way.
### Raising Issues Related to Governance
@@ -106,3 +151,35 @@ This governance model necessarily leaves many situations unspecified. If
questions arise as to how a given situation should proceed according to the
overall goals of the project, the best thing to do is to open a GitHub issue
and ping the TC members.
### Emeritus Contributors
* [@aluedeke](https://github.com/aluedeke)
* [@astro03](https://github.com/Astro03)
* [@bayandin](https://github.com/bayandin)
* [@boneskull](https://github.com/boneskull)
* [@bootstraponline](https://github.com/bootstraponline)
* [@dandoveralba](https://github.com/dandoveralba)
* [@ddkjin](https://github.com/ddkjin)
* [@drpy](https://github.com/drpy)
* [@dylanLacey](https://github.com/DylanLacey)
* [@filmaj](https://github.com/filmaj)
* [@gempesaw](https://github.com/gempesaw)
* [@hugs](https://github.com/hugs)
* [@imurchie](https://github.com/imurchie)
* [@jamieEdge](https://github.com/JamieEdge)
* [@jdeff](https://github.com/jdeff)
* [@jonahss](https://github.com/Jonahss)
* [@maudineormsby](https://github.com/maudineormsby)
* [@moizjv](https://github.com/moizjv)
* [@peepa](https://github.com/peepa)
* [@penguinho](https://github.com/penguinho)
* [@sbonebrake](https://github.com/sbonebrake)
* [@scottdixon](https://github.com/scottdixon)
* [@sebv](https://github.com/sebv)
* [@sravanmedarapu](https://github.com/sravanmedarapu)
* [@stuartbrussell-intuit](https://github.com/stuartbrussell-intuit)
* [@tikhomirovSergey](https://github.com/TikhomirovSergey)
* [@titusfortner](https://github.com/titusfortner)
* [@vgrigoruk](https://github.com/vgrigoruk)
* [@vmaxim](https://github.com/vmaxim)
+39 -2
View File
@@ -2,18 +2,22 @@
<p align="center">
<a href="https://appium.io/">
<img alt="Appium" src="https://raw.githubusercontent.com/appium/appium/master/packages/appium/docs/assets/images/appium-logo-horiz.png" width="500">
<img alt="Appium" src="https://raw.githubusercontent.com/appium/appium/master/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png" width="500">
</a>
</p>
<p align="center">
Cross-platform test automation for native, hybrid, mobile web and desktop apps.
</p>
<div align="center">
[![NPM version](https://badge.fury.io/js/appium.svg)](https://npmjs.org/package/appium)
[![Monthly Downloads](https://img.shields.io/npm/dm/appium.svg)](https://npmjs.org/package/appium)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_shield)
[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/)
</div>
***
<p align="center"><b>
@@ -21,7 +25,7 @@
<a href="https://appium.io/docs/en/latest/intro/">Get Started</a> |
<a href="https://appium.io/docs/en/latest/ecosystem/">Ecosystem</a> |
<a href="https://github.com/appium/appium/blob/master/packages/appium/CHANGELOG.md">Changelog</a> |
<a href="https://github.com/appium/appium/blob/master/ROADMAP.md">Roadmap</a> |
<a href="https://appium.io/docs/en/latest/contributing/">Contributing Guide</a> |
<a href="https://discuss.appium.io">Discussion Forum</a>
</b></p>
@@ -178,8 +182,41 @@ cross-platform native app automation, for mobile and beyond!
If you are looking for a more comprehensive description of what this is all about, please read our
documentation on [How Does Appium Work?](https://appium.io/docs/en/latest/intro/appium/).
## Sponsors
Appium has a [Sponsorship Program](GOVERNANCE.md#sponsorship)! If you or your company uses Appium
and wants to give back financially to the project, we use these funds to [encourage development and
contributions](GOVERNANCE.md#compensation-scheme), as well as support other open source projects we
rely on. [Become a sponsor](https://opencollective.com/appium) via our OpenCollective page.
### Development and Strategic Partners
Appium is incredibly grateful to our Development and Strategic Partners for their sustained
contribution of project development and leadership!
<p align="center">
<a href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">
<picture>
<source srcset="packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png" media="(prefers-color-scheme: dark)"/>
<source srcset="packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png" media="(prefers-color-scheme: light)"/>
<img src="packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png" width="300" alt="Browserstack"/>
</picture>
</a>
</p>
<p align="center">
<a href="https://saucelabs.com/resources/blog/appium-strategic-partner"><img src="packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png"
width="300" alt="Sauce Labs" /></a>
</p>
### Other Sponsors
A full list of sponsors is available at our [Sponsors page](https://appium.io/docs/en/latest/sponsors/).
## License
[Apache-2.0](./LICENSE)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_large)
`@appium/logger` package is under [ISC](./packages/logger/LICENSE) License.
+3
View File
@@ -0,0 +1,3 @@
# Sponsors & Backers
Please check [Sponsors & Backers](https://appium.io/docs/en/latest/sponsors/)
-11
View File
@@ -1,11 +0,0 @@
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'body-leading-blank': [0],
'body-max-line-length': [0],
'footer-max-line-length': [0],
'header-max-length': [0],
'subject-case': [0],
'subject-full-stop': [0],
},
};
+28
View File
@@ -0,0 +1,28 @@
This documentation is a note for the opencollective payout.
1. Select `Submit expense`
<img width="200" alt="Screenshot 2024-09-17 at 11 04 32 PM" src="https://github.com/user-attachments/assets/5d598a46-8aa3-41e0-aadc-ce3f34b10f6b">
2. Select `Invoice`
3. Type proper account name in `Who is being paid for this expense?`
- The form depends on the target user
4. Select `Next`
5. Input expense info and complete the form. Then, the user will recieve the expense info.
- Expense title: `<year-month> contribution payout`
- e.g. `2024-07 contribution payout`
- Description in "Set invoice details"
- for TCs:
- `<year-month> contribution as a TC https://github.com/appium/appium/blob/master/GOVERNANCE.md#the-technical-committee and maintaining Appium project itself (development, review etc)`
- i.e. `2024-07 contribution as a TC https://github.com/appium/appium/blob/master/GOVERNANCE.md#the-technical-committee and maintaining Appium project itself (development, review etc)`
- for individuals
- `PR contribution: <PRs>` for PRs. `Community contribution in Q&A forum at https://discuss.appium.io/` for appium forums
- E.g.
- `PR contribution: https://github.com/appium/dotnet-client/pull/810, https://github.com/appium/dotnet-client/pull/808`
- `PR contribution: https://github.com/appium/java-client/pull/2206, https://github.com/appium/java-client/pull/2203 and a few PRs`
- `Community contribution in Q&A forum at https://discuss.appium.io/`
- Amount
- Type the amount in `USD`
6. Approve each expense after getting response for each expense
<img width="500" alt="Screenshot 2024-09-11 at 8 40 35 PM" src="https://github.com/user-attachments/assets/462cda69-1ce7-458c-b319-dda87cf10d65">
+6784 -13246
View File
File diff suppressed because it is too large Load Diff
+43 -53
View File
@@ -42,15 +42,13 @@
"dev:docs": "npm run -w packages/appium dev:docs",
"docs": "npm run -w packages/appium build:docs",
"docs:preview": "npm run -w packages/appium build:docs:preview",
"docs:publish": "npm run -w packages/appium publish:docs",
"doctor": "node ./packages/doctor",
"generate-docs": "npm run --workspace=packages/appium generate-docs",
"husky-install": "husky install",
"install-docs-deps": "npm run -w packages/appium install-docs-deps",
"lint": "eslint .",
"lint:ci": "eslint --quiet .",
"lint:commit": "commitlint",
"lint:fix": "run-s \"lint -- --fix\"",
"lint:staged": "lint-staged",
"prepare": "run-p husky-install rebuild",
"prepare": "run-p rebuild",
"prepublishOnly": "run-s rebuild",
"preversion": "run-s rebuild",
"version": "run-s sync-pkgs stage-synced-pkgs",
@@ -62,12 +60,13 @@
"start": "appium",
"sync-pkgs": "run-p sync-pkgs:*",
"sync-pkgs:appium-readme": "sync-monorepo-packages --force --no-package-json --packages=packages/appium README.md",
"sync-pkgs:common-fields": "sync-monorepo-packages --fields=author,license,bugs,homepage,engines",
"sync-pkgs:common-fields:default": "sync-monorepo-packages --packages=\"!packages/logger\" --fields=author,license,bugs,homepage,engines",
"sync-pkgs:common-fields:logger": "sync-monorepo-packages --packages=\"packages/logger\" --fields=author,bugs,homepage,engines",
"sync-pkgs:keywords": "sync-monorepo-packages --field=keywords --packages=\"packages/*\" --packages=\"!packages/eslint-config-appium\" --packages=\"!packages/types\" --packages=\"!packages/eslint-config-appium-ts\" ",
"sync-pkgs:license": "sync-monorepo-packages --force --no-package-json LICENSE",
"sync-pkgs:license": "sync-monorepo-packages --force --no-package-json --packages=\"!packages/logger\" LICENSE",
"test": "run-s test:quick",
"test:ci": "run-s test:smoke test:unit test:types test:e2e",
"test:e2e": "lerna run --concurrency=2 test:e2e",
"test:e2e": "lerna run test:e2e",
"test:quick": "run-s lint test:unit test:types",
"test:slow": "run-s test:quick test:smoke test:e2e",
"test:smoke": "smoker --all test:smoke",
@@ -84,64 +83,55 @@
},
"devDependencies": {
"@colors/colors": "1.6.0",
"@commitlint/cli": "18.4.3",
"@commitlint/config-conventional": "18.4.3",
"@tsconfig/node14": "14.1.0",
"@types/chai": "4.3.11",
"@types/chai-as-promised": "7.1.8",
"@types/diff": "5.0.9",
"@types/mocha": "10.0.6",
"@types/node": "20.10.6",
"@types/semver": "7.5.6",
"@types/sinon": "17.0.2",
"@types/sinon-chai": "3.2.12",
"@tsconfig/node14": "14.1.2",
"@types/chai": "5.0.0",
"@types/chai-as-promised": "8.0.1",
"@types/diff": "5.2.3",
"@types/mocha": "10.0.9",
"@types/node": "20.16.11",
"@types/semver": "7.5.8",
"@types/sinon": "17.0.3",
"@types/sinon-chai": "4.0.0",
"@types/source-map-support": "0.5.10",
"@types/teen_process": "2.0.4",
"@types/ws": "8.5.10",
"@types/yargs": "17.0.32",
"@typescript-eslint/eslint-plugin": "6.17.0",
"@typescript-eslint/parser": "6.17.0",
"@types/ws": "8.5.12",
"@types/yargs": "17.0.33",
"@typescript-eslint/eslint-plugin": "7.18.0",
"@typescript-eslint/parser": "7.18.0",
"asyncbox": "3.0.0",
"chai": "4.3.10",
"chai-as-promised": "7.1.1",
"chai-webdriverio-async": "2.8.0",
"chai": "5.1.1",
"chai-as-promised": "8.0.0",
"conventional-changelog-conventionalcommits": "7.0.2",
"cpy-cli": "5.0.0",
"eslint": "8.56.0",
"eslint": "8.57.1",
"eslint-config-prettier": "9.1.0",
"eslint-find-rules": "4.1.0",
"eslint-import-resolver-typescript": "3.6.1",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-mocha": "10.2.0",
"eslint-plugin-promise": "6.1.1",
"fancy-log": "2.0.0",
"finalhandler": "1.2.0",
"eslint-find-rules": "4.2.0",
"eslint-import-resolver-typescript": "3.6.3",
"eslint-plugin-import": "2.31.0",
"eslint-plugin-mocha": "10.5.0",
"eslint-plugin-promise": "6.6.0",
"finalhandler": "1.3.1",
"get-port": "5.1.1",
"husky": "8.0.3",
"json-schema-to-typescript": "13.1.1",
"lerna": "8.0.1",
"lint-staged": "15.2.0",
"json-schema-to-typescript": "15.0.2",
"lerna": "8.1.8",
"log-symbols": "4.1.0",
"midnight-smoker": "8.0.0",
"mjpeg-consumer": "2.0.0",
"mjpeg-server": "0.3.1",
"mocha": "10.2.0",
"mocha-chai-jest-snapshot": "1.1.4",
"npm-run-all": "4.1.5",
"prettier": "3.1.1",
"mocha": "10.7.3",
"npm-run-all2": "6.2.3",
"prettier": "3.3.3",
"rewiremock": "3.14.5",
"rimraf": "5.0.5",
"serve-static": "1.15.0",
"sinon": "17.0.1",
"sinon-chai": "3.7.0",
"rimraf": "5.0.10",
"serve-static": "1.16.2",
"sinon": "19.0.2",
"sync-monorepo-packages": "1.0.2",
"through2": "4.0.2",
"ts-node": "10.9.2",
"tsd": "0.30.2",
"typescript": "5.2.2",
"tsd": "0.31.2",
"typescript": "5.6.3",
"validate.js": "0.13.1",
"webdriverio": "8.27.0",
"ws": "8.16.0",
"webdriverio": "8.40.6",
"ws": "8.18.0",
"yaml-js": "0.3.1"
},
"engines": {
@@ -153,10 +143,10 @@
},
"overrides": {
"@sidvind/better-ajv-errors": {
"ajv": "8.12.0"
"ajv": "8.17.1"
},
"ajv-formats": {
"ajv": "8.12.0"
"ajv": "8.17.1"
},
"http-cache-semantics": "4.1.1"
}
+324
View File
@@ -3,6 +3,330 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.12.0](https://github.com/appium/appium/compare/appium@2.11.5...appium@2.12.0) (2024-10-15)
### Features
* **appium:** Make server graceful shutdown timeout configurable via command line args ([#20641](https://github.com/appium/appium/issues/20641)) ([5661888](https://github.com/appium/appium/commit/56618886ed007df3c28ce98beb4ff91bc47da2a2))
### Bug Fixes
* **appium:** update dependency winston to v3.15.0 ([ab12235](https://github.com/appium/appium/commit/ab12235483262a1c5a1dd8a32b1792a4b096bfc6))
* **docutils:** support Python 3.12+ ([#20666](https://github.com/appium/appium/issues/20666)) ([8d7cec9](https://github.com/appium/appium/commit/8d7cec96d8df60644493a7e2f735b4bb0d3783be))
* **docutils:** update dependency yaml to v2.6.0 ([ed6c6dd](https://github.com/appium/appium/commit/ed6c6dd5441e26fc1eb58de9b78def49d930a128))
* **execute-driver-plugin:** update dependency webdriverio to v8.40.6 ([796ca9f](https://github.com/appium/appium/commit/796ca9f98f69616b9c890325bbfb0c573a8bc765))
## [2.11.5](https://github.com/appium/appium/compare/appium@2.11.4...appium@2.11.5) (2024-09-26)
### Bug Fixes
* **appium:** Return hostname as web socket url for BiDi if a broadcast address is assigned to the server ([#20603](https://github.com/appium/appium/issues/20603)) ([f0de55d](https://github.com/appium/appium/commit/f0de55da0da2fc0305876a948704c1f0a2a5990f))
## [2.11.4](https://github.com/appium/appium/compare/appium@2.11.3...appium@2.11.4) (2024-09-16)
### Bug Fixes
* **appium:** Fix the condition for secure websocket ([#20497](https://github.com/appium/appium/issues/20497)) ([efdb1ce](https://github.com/appium/appium/commit/efdb1ce6ce1de5120f2f35ebe84abfa73ed5198a))
* **appium:** update dependency @sidvind/better-ajv-errors to v3 ([#20552](https://github.com/appium/appium/issues/20552)) ([0ee7716](https://github.com/appium/appium/commit/0ee7716cf0644cfc6795f0949d8253d4c0b36597))
* **appium:** update dependency winston to v3.14.2 ([#20465](https://github.com/appium/appium/issues/20465)) ([893fc04](https://github.com/appium/appium/commit/893fc040e16ec07c83d12c7c89180d962b0f6e68))
* **base-driver:** Add a server flag to check if it operates a secure protocol ([#20449](https://github.com/appium/appium/issues/20449)) ([622b245](https://github.com/appium/appium/commit/622b245ea38793280d9785a59a0416ce025862fe))
* **docutils:** update dependency yaml to v2.5.1 ([750872a](https://github.com/appium/appium/commit/750872af4756d2efcd19fe98762f82ecaa59d59a))
* **execute-driver-plugin:** update dependency webdriverio to v8.40.3 ([4608563](https://github.com/appium/appium/commit/46085635a92c3a2b2b1b3ecf3966a174248a2829))
* **execute-driver-plugin:** update dependency webdriverio to v8.40.5 ([dcb6de2](https://github.com/appium/appium/commit/dcb6de22eaabdcea2517cd9b7db120d681f0e38e))
* **support:** update dependency axios to v1.7.4 ([d17d022](https://github.com/appium/appium/commit/d17d0222245ab94a78e578c0398734e65a89ba68))
* **support:** update dependency axios to v1.7.5 ([fedabb1](https://github.com/appium/appium/commit/fedabb1fdc7af10f9e4b06ea23815c4bc7c6bf5e))
* **support:** update dependency axios to v1.7.7 ([7fe67a2](https://github.com/appium/appium/commit/7fe67a286a15a917ce3b1b47a08e982e65bbd9e4))
* **types:** update dependency type-fest to v4 ([#20467](https://github.com/appium/appium/issues/20467)) ([482a1f7](https://github.com/appium/appium/commit/482a1f7bbfbf6478ee09bb1668b830ddbf13b143))
* **types:** update dependency type-fest to v4 ([#20471](https://github.com/appium/appium/issues/20471)) ([9a66f48](https://github.com/appium/appium/commit/9a66f4800141cc86c90d58ca1103bab0066081bc))
* **types:** update dependency type-fest to v4 ([#20548](https://github.com/appium/appium/issues/20548)) ([5b8cb76](https://github.com/appium/appium/commit/5b8cb76ea3cda75095e79c91539be73feeadf869))
* **types:** update dependency type-fest to v4.26.0 ([#20511](https://github.com/appium/appium/issues/20511)) ([8f20c97](https://github.com/appium/appium/commit/8f20c973f4a6d3380163b6afd7f113808453a62d))
## [2.11.3](https://github.com/appium/appium/compare/appium@2.11.2...appium@2.11.3) (2024-08-07)
### Bug Fixes
* **appium:** update dependency ajv to v8.17.1 ([7528971](https://github.com/appium/appium/commit/75289711ee344ac9a11a572f13ddb0471e2cbf79))
* **appium:** update dependency winston to v3.13.1 ([dcfec17](https://github.com/appium/appium/commit/dcfec17d1ceab90939b5f199854ba630829e3d1f))
* **docutils:** update dependency yaml to v2.5.0 ([0c755f5](https://github.com/appium/appium/commit/0c755f503c49e459315616e51be0c0776089b2bb))
* **execute-driver-plugin:** update dependency webdriverio to v8.40.0 ([#20442](https://github.com/appium/appium/issues/20442)) ([b4612e0](https://github.com/appium/appium/commit/b4612e0c7a21902a3cab658fbdc05f3b48c55d0d))
* **logger:** update dependency lru-cache to v10.4.3 ([#20364](https://github.com/appium/appium/issues/20364)) ([8d79467](https://github.com/appium/appium/commit/8d79467da8a0733ac3e49b9152bd6905989a57ca))
* **support:** update dependency axios to v1.7.3 ([1ca77c6](https://github.com/appium/appium/commit/1ca77c6dedbff4552aba9c97cf5406c7552d1a01))
* **support:** update dependency semver to v7.6.3 ([5a9ab97](https://github.com/appium/appium/commit/5a9ab9792402e31d3903fb1a3b08329a67b6a2a2))
* **types:** update dependency type-fest to v4.22.0 ([#20387](https://github.com/appium/appium/issues/20387)) ([47405dd](https://github.com/appium/appium/commit/47405dda8a5de17c72fb721b0c043e0dd4f6b35a))
* **types:** update dependency type-fest to v4.23.0 ([#20396](https://github.com/appium/appium/issues/20396)) ([0e8e3c7](https://github.com/appium/appium/commit/0e8e3c71441d02d22f015f08df5223909f5fbb93))
## [2.11.2](https://github.com/appium/appium/compare/appium@2.11.1...appium@2.11.2) (2024-07-10)
### Bug Fixes
* **appium:** update dependency ws to v8.18.0 ([44e4231](https://github.com/appium/appium/commit/44e423110ad6c8bd7d846cc334fafe931fea43f9))
* **execute-driver-plugin:** update dependency webdriverio to v8.39.1 ([c2f3a61](https://github.com/appium/appium/commit/c2f3a618e413c7f21057ba6d9002dc1fe4507e6f))
* **support:** update dependency teen_process to v2.1.10 ([86f843b](https://github.com/appium/appium/commit/86f843b9e1fc56576d7a08bf95838a58971e98b3))
* **support:** update dependency teen_process to v2.1.7 ([5226fa8](https://github.com/appium/appium/commit/5226fa897b90e9fec9be3e79a7d48fc7b4e0016d))
* **support:** update dependency teen_process to v2.2.0 ([06607da](https://github.com/appium/appium/commit/06607da92e93d015747fd6d6d5bdabe1b3ac58d2))
* **types:** update dependency type-fest to v4.21.0 ([#20335](https://github.com/appium/appium/issues/20335)) ([8894b9a](https://github.com/appium/appium/commit/8894b9adf709646108cc8d6426bbb690550609f2))
## [2.11.1](https://github.com/appium/appium/compare/appium@2.11.0...appium@2.11.1) (2024-06-28)
### Bug Fixes
* **images-plugin:** update dependency lru-cache to v10.3.0 ([#20306](https://github.com/appium/appium/issues/20306)) ([e43c7a4](https://github.com/appium/appium/commit/e43c7a4dce1f50fbd4d028cbeac5677422210b20))
## [2.11.0](https://github.com/appium/appium/compare/appium@2.10.3...appium@2.11.0) (2024-06-27)
### Features
* **appium:** Improve context logging ([#20250](https://github.com/appium/appium/issues/20250)) ([f675abc](https://github.com/appium/appium/commit/f675abc27b3e6beac2431cc71afb5fc2c2f70534))
* **appium:** show extension update info message for newer major versions ([#20283](https://github.com/appium/appium/issues/20283)) ([f2c8b69](https://github.com/appium/appium/commit/f2c8b696085ba862553476f23509cac0674a447c))
* **appium:** show spinner during extension uninstall ([#20282](https://github.com/appium/appium/issues/20282)) ([f250793](https://github.com/appium/appium/commit/f25079354bfd646810813ae47244a1e2e962dbfb))
### Bug Fixes
* **appium:** update dependency ws to v8.17.1 ([d2b24da](https://github.com/appium/appium/commit/d2b24daba056373160d680ec5f017b28e9cbde1a))
* **execute-driver-plugin:** update dependency webdriverio to v8.39.0 ([faf9623](https://github.com/appium/appium/commit/faf9623a65868a6330d062076074da7c1c3acb2a))
* **support:** update dependency teen_process to v2.1.5 ([bc388db](https://github.com/appium/appium/commit/bc388db1116f411f4b241105f5feae30418c9a27))
* **support:** update dependency teen_process to v2.1.6 ([5412461](https://github.com/appium/appium/commit/541246184dc7521c825ec1902775e681ea6f0db3))
* **types:** update dependency type-fest to v4.20.1 ([#20255](https://github.com/appium/appium/issues/20255)) ([1984553](https://github.com/appium/appium/commit/19845531f558e2b16dfae807c768e1b9f2cab25d))
## [2.10.3](https://github.com/appium/appium/compare/appium@2.10.2...appium@2.10.3) (2024-06-11)
**Note:** Version bump only for package appium
## [2.10.2](https://github.com/appium/appium/compare/appium@2.10.1...appium@2.10.2) (2024-06-11)
**Note:** Version bump only for package appium
## [2.10.1](https://github.com/appium/appium/compare/appium@2.10.0...appium@2.10.1) (2024-06-11)
**Note:** Version bump only for package appium
## [2.10.0](https://github.com/appium/appium/compare/appium@2.9.0...appium@2.10.0) (2024-06-10)
### Features
* **appium:** Add a possibility to print logs in json format ([#20224](https://github.com/appium/appium/issues/20224)) ([1e86537](https://github.com/appium/appium/commit/1e86537e944f6beb7dbe72b35c267ae1dd9ebd36))
* **appium:** Add session signature to all logs ([#20202](https://github.com/appium/appium/issues/20202)) ([#20214](https://github.com/appium/appium/issues/20214)) ([0363aab](https://github.com/appium/appium/commit/0363aab8ba4fe0ec49845db2f493001aa873578b)), closes [#20222](https://github.com/appium/appium/issues/20222)
* **logger:** Add the debug level to the default logger ([#20219](https://github.com/appium/appium/issues/20219)) ([8ee7d07](https://github.com/appium/appium/commit/8ee7d07af4e2375d2eb7c23badaaac34685bc59c))
* **support:** Move SecureValuesPreprocessor to @appum/logger ([#20228](https://github.com/appium/appium/issues/20228)) ([dbc3b66](https://github.com/appium/appium/commit/dbc3b668a0a7a815d23f1cae4207d435fc09034d))
### Bug Fixes
* **docutils:** update dependency lilconfig to v3.1.2 ([1828501](https://github.com/appium/appium/commit/1828501c66d0c5f8f295c67cd12d6691f8020780))
* **docutils:** update dependency yaml to v2.4.5 ([6a08c95](https://github.com/appium/appium/commit/6a08c95fc9bda5cf39b8a6d98e5394658355a38e))
* **types:** update dependency type-fest to v4.20.0 ([#20227](https://github.com/appium/appium/issues/20227)) ([ea00626](https://github.com/appium/appium/commit/ea00626091e3ce87f6e3ed7a61003295272835e3))
## [2.9.0](https://github.com/appium/appium/compare/appium@2.8.0...appium@2.9.0) (2024-06-06)
### Features
* **appium:** Add session signature to all logs ([#20202](https://github.com/appium/appium/issues/20202)) ([b3f8a47](https://github.com/appium/appium/commit/b3f8a47c2d3fa029bdb5592d7130c6d1664e53b5))
### Bug Fixes
* **appium:** Revert changes in 20203 and 20202 ([#20209](https://github.com/appium/appium/issues/20209)) ([40def9d](https://github.com/appium/appium/commit/40def9dbdbde64706111900967d66735257b7404)), closes [#20202](https://github.com/appium/appium/issues/20202) [#20203](https://github.com/appium/appium/issues/20203)
## [2.8.0](https://github.com/appium/appium/compare/appium@2.7.0...appium@2.8.0) (2024-06-06)
### Features
* **logger:** Add the 'debug' level to the default logger ([#20203](https://github.com/appium/appium/issues/20203)) ([7fd9d5f](https://github.com/appium/appium/commit/7fd9d5f6261b385c234580c2bfee4d576905458b))
### Bug Fixes
* add logger dependencies in package.json ([#20205](https://github.com/appium/appium/issues/20205)) ([3fbc4f1](https://github.com/appium/appium/commit/3fbc4f1fe07eadf9c7a2ef8fc9f4ba78dc3486a3))
## [2.7.0](https://github.com/appium/appium/compare/appium@2.6.0...appium@2.7.0) (2024-06-06)
### Features
* **appium:** Replace npmlog with the local fork ([#20190](https://github.com/appium/appium/issues/20190)) ([8915934](https://github.com/appium/appium/commit/8915934270243bfb46c4d104a098ce1cc481b0ff))
* **base-driver:** Make addition of search query params to cache optional ([#20195](https://github.com/appium/appium/issues/20195)) ([21316e9](https://github.com/appium/appium/commit/21316e94d05b2f97aa0349a82da229713e92446c))
### Bug Fixes
* **appium:** ensure ws close code is valid ([#20178](https://github.com/appium/appium/issues/20178)) ([65c47ac](https://github.com/appium/appium/commit/65c47acf5954bbf1947e896ef79c81a9b3c712a5))
* **appium:** update dependency ajv to v8.16.0 ([ae7f74a](https://github.com/appium/appium/commit/ae7f74a0144d233653443622a84d49b1cb4e6222))
* **docutils:** update dependency yaml to v2.4.3 ([848eb00](https://github.com/appium/appium/commit/848eb00afbd1cab76a6a1c3d0f4a2a0b1acee0d0))
* **execute-driver-plugin:** update dependency webdriverio to v8.38.2 ([c8f9979](https://github.com/appium/appium/commit/c8f997973cc21673f95d02c92d43a2981b8713b8))
* **support:** update dependency teen_process to v2.1.4 ([96a7a3f](https://github.com/appium/appium/commit/96a7a3f23bead7c1d18700550138cd2d70ce5e3c))
* **types:** update dependency type-fest to v4.19.0 ([#20193](https://github.com/appium/appium/issues/20193)) ([db62358](https://github.com/appium/appium/commit/db62358dbac25de2a75fdc7493338d98b1422c84))
## [2.6.0](https://github.com/appium/appium/compare/appium@2.5.4...appium@2.6.0) (2024-05-27)
### Features
* **appium:** Add --show-debug-info CLI argument ([#20108](https://github.com/appium/appium/issues/20108)) ([6f602d3](https://github.com/appium/appium/commit/6f602d3e501dbd9d44f6e7ba220f45ff1d4dfde8))
* **appium:** prepare setup subcommand as shortcut for drivers/plugins installation ([#20102](https://github.com/appium/appium/issues/20102)) ([2b2fb18](https://github.com/appium/appium/commit/2b2fb185a6bc882717e4aa0580b0136bf5ae2942))
* **base-driver:** Add env variables to control applications cache ([#20042](https://github.com/appium/appium/issues/20042)) ([4e8c91c](https://github.com/appium/appium/commit/4e8c91c8f647e545344d5b49282628413e1ccb19))
### Bug Fixes
* **appium:** Do not crash the process if there was an exception in a winston transport ([#20065](https://github.com/appium/appium/issues/20065)) ([0492fe4](https://github.com/appium/appium/commit/0492fe49dc34b3ef345a988bf56e49daf8dfcffe))
* **appium:** update dependency ajv to v8.13.0 ([448e94e](https://github.com/appium/appium/commit/448e94ee50fa127ae93e657a3958726aa13e7df8))
* **appium:** update dependency ajv to v8.14.0 ([e3dcd66](https://github.com/appium/appium/commit/e3dcd66714be603a8acbb3364f538c60772e76bd))
* **appium:** update dependency ws to v8.17.0 ([395dc22](https://github.com/appium/appium/commit/395dc225e4d7f47dc55134fba9fb9306cabf7e19))
* **docutils:** update dependency yaml to v2.4.2 ([0211174](https://github.com/appium/appium/commit/0211174300cf91c1cad2364d8ce3de7100139f5c))
* **execute-driver-plugin:** update dependency webdriverio to v8.37.0 ([27ff9a0](https://github.com/appium/appium/commit/27ff9a00ef65a66aea8da8e3be5ffebb6d8c65e1))
* **execute-driver-plugin:** update dependency webdriverio to v8.38.0 ([e80b682](https://github.com/appium/appium/commit/e80b6826efbe14ecfa6c0ff1f6aceb4db99b82d8))
* **support:** update dependency axios to v1.7.1 ([11510cb](https://github.com/appium/appium/commit/11510cb1a5d50a20ced884e5404d0be1e04ff142))
* **support:** update dependency axios to v1.7.2 ([a876f11](https://github.com/appium/appium/commit/a876f112b51dd25f70094b9e75330b9558050e42))
* **support:** update dependency semver to v7.6.1 ([b5fd5b6](https://github.com/appium/appium/commit/b5fd5b6d2c585be8391b80ac67207da610e8ea64))
* **support:** update dependency semver to v7.6.2 ([1b4f36c](https://github.com/appium/appium/commit/1b4f36cebe7aaf99976f24346b2d1325b79fc55c))
* **support:** update dependency teen_process to v2.1.3 ([b34ce3c](https://github.com/appium/appium/commit/b34ce3cff0279be5bb5dcb9228f7e058d27a5e72))
* **types:** update dependency type-fest to v4.18.2 ([#20103](https://github.com/appium/appium/issues/20103)) ([3b43be1](https://github.com/appium/appium/commit/3b43be17321f2ca16bac0abedabf9ef8cffa098a))
* **types:** update dependency type-fest to v4.18.3 ([#20149](https://github.com/appium/appium/issues/20149)) ([d5369f8](https://github.com/appium/appium/commit/d5369f8b08e7439282c5a211e684b154cc9f0051))
## [2.5.4](https://github.com/appium/appium/compare/appium@2.5.3...appium@2.5.4) (2024-04-21)
### Bug Fixes
* **execute-driver-plugin:** update dependency webdriverio to v8.36.1 ([9ad20ff](https://github.com/appium/appium/commit/9ad20ff1c266923f3efe50bfe2ae4b1ab8ecb20a))
## [2.5.3](https://github.com/appium/appium/compare/appium@2.5.2...appium@2.5.3) (2024-04-16)
### Bug Fixes
* **execute-driver-plugin:** update dependency webdriverio to v8.36.0 ([#19998](https://github.com/appium/appium/issues/19998)) ([72f3284](https://github.com/appium/appium/commit/72f32848b68e6ef8c047f700ffd0be7d68c49aba))
## [2.5.2](https://github.com/appium/appium/compare/appium@2.5.1...appium@2.5.2) (2024-04-08)
### Bug Fixes
* **appium:** make --log-filters work ([#19825](https://github.com/appium/appium/issues/19825)) ([0d5a0a5](https://github.com/appium/appium/commit/0d5a0a572787d913412bbfd70835e5ba8f94334c))
* **appium:** update definitelytyped ([2687fa4](https://github.com/appium/appium/commit/2687fa47a0c2f11983e5ccb2ee17eaae9279469d))
* **appium:** update definitelytyped ([68456b8](https://github.com/appium/appium/commit/68456b8aea3c6ae7225814748fb36d9d4117cc9f))
* **appium:** update dependency ajv-formats to v3 ([#19957](https://github.com/appium/appium/issues/19957)) ([59ef09d](https://github.com/appium/appium/commit/59ef09d9558f1a6a9f4ee3d81d4cb0b7218706b4))
* **appium:** update dependency winston to v3.12.0 ([8eb4e88](https://github.com/appium/appium/commit/8eb4e888f624acfc1d42977eeda2d4c1ae139efc))
* **appium:** update dependency winston to v3.13.0 ([03f8dc9](https://github.com/appium/appium/commit/03f8dc9b18f226975f025ceda7e1d907de8b45d5))
* **docutils:** update dependency lilconfig to v3.1.0 ([f92640a](https://github.com/appium/appium/commit/f92640a824644545b680e23c7f3ec7f51de9df98))
* **docutils:** update dependency lilconfig to v3.1.1 ([e04e4e9](https://github.com/appium/appium/commit/e04e4e902a212cf17ca79b3edc0b7545a1af507b))
* **docutils:** update dependency typescript to v5.4.2 ([#19876](https://github.com/appium/appium/issues/19876)) ([2448fa0](https://github.com/appium/appium/commit/2448fa0145620657ccc72b5637f1b7737fe52580))
* **docutils:** update dependency yaml to v2.4.0 ([26ded7a](https://github.com/appium/appium/commit/26ded7a4cce1fa9bca28521e4b60cad0edacbe96))
* **docutils:** update dependency yaml to v2.4.1 ([636d6b3](https://github.com/appium/appium/commit/636d6b3802268ec6532f9f3a958f304c6760d172))
* **execute-driver-plugin:** update dependency webdriverio to v8.32.0 ([d25a0fc](https://github.com/appium/appium/commit/d25a0fca9b3a94880525fd956068f59427a40b26))
* **execute-driver-plugin:** update dependency webdriverio to v8.32.1 ([ea8c74b](https://github.com/appium/appium/commit/ea8c74b372e73e88cf0303aa17db943014416e64))
* **execute-driver-plugin:** update dependency webdriverio to v8.32.2 ([#19807](https://github.com/appium/appium/issues/19807)) ([6c034aa](https://github.com/appium/appium/commit/6c034aa84af573d36fa934c71d3d4ff328772553))
* **execute-driver-plugin:** update dependency webdriverio to v8.32.3 ([f837a6a](https://github.com/appium/appium/commit/f837a6a9eaf34914ffdbfddcc3cb2f7e7427bc63))
* **execute-driver-plugin:** update dependency webdriverio to v8.32.4 ([7516d41](https://github.com/appium/appium/commit/7516d4135a1eec37ba298f407254d825961795af))
* **execute-driver-plugin:** update dependency webdriverio to v8.33.1 ([#19877](https://github.com/appium/appium/issues/19877)) ([0e6c3ee](https://github.com/appium/appium/commit/0e6c3eede250193fad390387ec494918367176d9))
* **execute-driver-plugin:** update dependency webdriverio to v8.34.1 ([7fc7446](https://github.com/appium/appium/commit/7fc7446612f3257fa421dfec006d02730df10f59))
* **execute-driver-plugin:** update dependency webdriverio to v8.35.1 ([63d7550](https://github.com/appium/appium/commit/63d7550d02f049a5c3bea5d27e7e8385d7698a4f))
* **support:** update dependency @types/semver to v7.5.8 ([d1705e2](https://github.com/appium/appium/commit/d1705e2818d435b4c37cb70753af1de5427378e2))
* **support:** update dependency axios to v1.6.8 ([bd6ab81](https://github.com/appium/appium/commit/bd6ab81c9408ab0f90fc25fc112f9257ec2973ad))
## [2.5.1](https://github.com/appium/appium/compare/appium@2.5.0...appium@2.5.1) (2024-02-13)
### Bug Fixes
* **execute-driver-plugin:** update dependency webdriverio to v8.31.1 ([db0eec0](https://github.com/appium/appium/commit/db0eec05c58fe970351a309a01507cad824bdad2))
* **support:** update dependency @types/semver to v7.5.7 ([bd8a92f](https://github.com/appium/appium/commit/bd8a92f588d40c97fbe51f8bd3b7835c96e9fe8f))
* **support:** update dependency semver to v7.6.0 ([7b40a32](https://github.com/appium/appium/commit/7b40a3225ebe0f5976a26d05db2f22ba7b13a130))
## [2.5.0](https://github.com/appium/appium/compare/appium@2.4.1...appium@2.5.0) (2024-02-06)
### Features
* **appium:** Set a proper exit code if any of required doctor checks fails ([#19617](https://github.com/appium/appium/issues/19617)) ([f4011f1](https://github.com/appium/appium/commit/f4011f17d4d03bc854c43462848a4c38427acb85))
### Bug Fixes
* **appium:** Tune warning messages about installed extensions ([#19612](https://github.com/appium/appium/issues/19612)) ([5cd9ca5](https://github.com/appium/appium/commit/5cd9ca5c21393c70d259f7525d2c9d35b7eeb2a2))
* **execute-driver-plugin:** update dependency webdriverio to v8.27.2 ([35f1dba](https://github.com/appium/appium/commit/35f1dbabf6e852c4ae84ec128879bc7e61321a16))
* **execute-driver-plugin:** update dependency webdriverio to v8.28.0 ([e8e0444](https://github.com/appium/appium/commit/e8e0444bd28d94963090065a813a4b10be665caa))
* **execute-driver-plugin:** update dependency webdriverio to v8.28.6 ([da84efc](https://github.com/appium/appium/commit/da84efc42dd62b2be07a52dd4379791e2cef6eb2))
* **execute-driver-plugin:** update dependency webdriverio to v8.28.8 ([1fdf117](https://github.com/appium/appium/commit/1fdf117c63f6e9871f4de3c0bd93ecbdb13a9235))
* **execute-driver-plugin:** update dependency webdriverio to v8.29.0 ([6f0101e](https://github.com/appium/appium/commit/6f0101eb6343eb8b372e00a6b71d2b2ee909404c))
* **execute-driver-plugin:** update dependency webdriverio to v8.29.1 ([fb0f8f7](https://github.com/appium/appium/commit/fb0f8f776c6a03174f4569efa60d817a930809cf))
* **execute-driver-plugin:** update dependency webdriverio to v8.29.3 ([6dacb5e](https://github.com/appium/appium/commit/6dacb5e70ca3529a080f629f5245c2b676746e2c))
* **execute-driver-plugin:** update dependency webdriverio to v8.29.7 ([52a6f96](https://github.com/appium/appium/commit/52a6f96e085ff13acdf8d5013673861b7e0da818))
* **execute-driver-plugin:** update dependency webdriverio to v8.30.0 ([91320dd](https://github.com/appium/appium/commit/91320ddd02dca89a8cec258d0ab44a49d344d71c))
* **support:** update dependency axios to v1.6.4 ([332cc48](https://github.com/appium/appium/commit/332cc48a09b5532a8d51f85f3a24785e2c754e00))
* **support:** update dependency axios to v1.6.5 ([#19616](https://github.com/appium/appium/issues/19616)) ([ac73522](https://github.com/appium/appium/commit/ac73522351b31bd6c11972c61daa8b6b8d18fb91))
* **support:** update dependency axios to v1.6.6 ([6313704](https://github.com/appium/appium/commit/6313704ee5a8ee3aee726eb512ef259b6fa1041c))
* **support:** update dependency axios to v1.6.7 ([795092a](https://github.com/appium/appium/commit/795092a97f6d7569cccc4b5c166f52fef821514b))
* **types:** update dependency type-fest to v4.10 ([#19694](https://github.com/appium/appium/issues/19694)) ([966d305](https://github.com/appium/appium/commit/966d305e5eade9369a3875243bcad951df88545c))
* **types:** update dependency type-fest to v4.10.1 ([#19703](https://github.com/appium/appium/issues/19703)) ([501395c](https://github.com/appium/appium/commit/501395c9489320b84ab49ff78af4270f66070d62))
## [2.4.1](https://github.com/appium/appium/compare/appium@2.4.0...appium@2.4.1) (2024-01-04)
### Bug Fixes
* **appium:** Properly handle version check for aliases ([474f3ce](https://github.com/appium/appium/commit/474f3ce092c68981655d9deba546a6202acea141))
## [2.4.0](https://github.com/appium/appium/compare/appium@2.3.0...appium@2.4.0) (2024-01-03)
+39 -2
View File
@@ -2,18 +2,22 @@
<p align="center">
<a href="https://appium.io/">
<img alt="Appium" src="https://raw.githubusercontent.com/appium/appium/master/packages/appium/docs/assets/images/appium-logo-horiz.png" width="500">
<img alt="Appium" src="https://raw.githubusercontent.com/appium/appium/master/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png" width="500">
</a>
</p>
<p align="center">
Cross-platform test automation for native, hybrid, mobile web and desktop apps.
</p>
<div align="center">
[![NPM version](https://badge.fury.io/js/appium.svg)](https://npmjs.org/package/appium)
[![Monthly Downloads](https://img.shields.io/npm/dm/appium.svg)](https://npmjs.org/package/appium)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_shield)
[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/)
</div>
***
<p align="center"><b>
@@ -21,7 +25,7 @@
<a href="https://appium.io/docs/en/latest/intro/">Get Started</a> |
<a href="https://appium.io/docs/en/latest/ecosystem/">Ecosystem</a> |
<a href="https://github.com/appium/appium/blob/master/packages/appium/CHANGELOG.md">Changelog</a> |
<a href="https://github.com/appium/appium/blob/master/ROADMAP.md">Roadmap</a> |
<a href="https://appium.io/docs/en/latest/contributing/">Contributing Guide</a> |
<a href="https://discuss.appium.io">Discussion Forum</a>
</b></p>
@@ -178,8 +182,41 @@ cross-platform native app automation, for mobile and beyond!
If you are looking for a more comprehensive description of what this is all about, please read our
documentation on [How Does Appium Work?](https://appium.io/docs/en/latest/intro/appium/).
## Sponsors
Appium has a [Sponsorship Program](GOVERNANCE.md#sponsorship)! If you or your company uses Appium
and wants to give back financially to the project, we use these funds to [encourage development and
contributions](GOVERNANCE.md#compensation-scheme), as well as support other open source projects we
rely on. [Become a sponsor](https://opencollective.com/appium) via our OpenCollective page.
### Development and Strategic Partners
Appium is incredibly grateful to our Development and Strategic Partners for their sustained
contribution of project development and leadership!
<p align="center">
<a href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">
<picture>
<source srcset="packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png" media="(prefers-color-scheme: dark)"/>
<source srcset="packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png" media="(prefers-color-scheme: light)"/>
<img src="packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png" width="300" alt="Browserstack"/>
</picture>
</a>
</p>
<p align="center">
<a href="https://saucelabs.com/resources/blog/appium-strategic-partner"><img src="packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png"
width="300" alt="Sauce Labs" /></a>
</p>
### Other Sponsors
A full list of sponsors is available at our [Sponsors page](https://appium.io/docs/en/latest/sponsors/).
## License
[Apache-2.0](./LICENSE)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_large)
`@appium/logger` package is under [ISC](./packages/logger/LICENSE) License.
+1
View File
@@ -1,3 +1,4 @@
en/latest
en/assets
ja/assets
zh/assets
@@ -1,6 +0,0 @@
.md-source__fact--version {
display: none;
}
.md-source__fact:nth-child(1n + 2):before {
margin-left: 0 !important;
}
+7 -1
View File
@@ -8,8 +8,12 @@ copyright: Copyright &copy; 2012 OpenJS Foundation - <a href="#__consent">Change
theme:
logo: assets/images/appium-logo-white.png
favicon: assets/images/appium-logo.png
custom_dir: overrides
plugins:
blog:
enabled: true
post_excerpt: required
redirects:
redirect_maps:
'intro/requirements.md': 'quickstart/requirements.md'
@@ -21,6 +25,8 @@ plugins:
'reference/commands/images-plugin.md': 'commands/images-plugin.md'
'reference/commands/relaxed-caps-plugin.md': 'commands/relaxed-caps-plugin.md'
'reference/commands/universal-xml-plugin.md': 'commands/universal-xml-plugin.md'
'contributing/config-system.md': 'developing/config-system.md'
'contributing/develop.md': 'contributing.md'
extra_css:
- assets/stylesheets/extra.css
@@ -34,7 +40,7 @@ extra:
link: https://twitter.com/AppiumDevs
alternate:
- name: English
link: /docs/en/
link: /docs/en/
lang: en
- name: 日本
link: /docs/ja/
+19
View File
@@ -0,0 +1,19 @@
authors:
jlipps:
name: 'Jonathan Lipps'
description: 'Appium project lead. Learn more about Jonathan at https://jlipps.com'
avatar: 'https://gravatar.com/avatar/fdaadd825d92709bcf7fe76dffa12c40681c6108c67bcddf19478b2d00e3794b.jpg'
slug: 'jlipps'
url: 'https://jlipps.com'
srini:
name: 'Srinivasan Sekar'
description: 'Appium Maintainer'
avatar: 'https://avatars.githubusercontent.com/u/8896549?v=4'
slug: 'srini'
url: 'https://srini.codes'
sai:
name: 'Sai krishna'
description: 'Appium Maintainer'
avatar: 'https://avatars.githubusercontent.com/u/4045041?v=4'
slug: 'sai'
url: 'https://saikrishna.tech'
+2
View File
@@ -0,0 +1,2 @@
# Appium Blog
@@ -0,0 +1,45 @@
---
authors:
- srini
- sai
date: 2024-07-13
---
# Appium Conf 2024: Call for Proposals Now Open!
We're thrilled to announce that Appium Conf is back and going online for 2024! This is the official Appium conference where you can learn all about what's new in Appium 2.0 and explore the latest in automating tests for devices, mobile apps, and desktop applications.
<!-- more -->
<div style="text-align:center;width:100%">
<a href="https://confengine.com/conferences/appium-conf-2024/proposals?utm_medium=referal&utm_source=appium.io&utm_campaign=launch">
<img id="image-36-42" alt="Appium Conf logo" src="https://appiumconf.com/wp-content/uploads/2021/06/Appium-Conf-Logo.svg" data-src="https://appiumconf.com/wp-content/uploads/2021/06/Appium-Conf-Logo.svg" decoding="async">
</a>
</div>
## Mark Your Calendars: September 13, 2024
Join us on September 13, 2024, for a full day of inspiring and practical talks from the Appium team and the world's top mobile testing and automation experts. With Appium 2.0 now well-established, this is your opportunity to dive deep and learn how to maximize its potential.
## Why Attend Appium Conf 2024?
1. **Gain Insights**: Hear interesting insights and inspiring case studies from global experts and the core Appium team.
2. **Improve Your Strategy**: Gain valuable knowledge to enhance your own automation strategy.
3. **Network**: Make connections with Appium users from around the globe.
4. **Learn from Specialists**: Benefit from Appium specialists' expertise on a variety of topics.
## Call for Proposals: Share Your Knowledge!
We're looking for a diverse range of speakers from around the globe who are eager to share innovative ideas and use-cases of mobile test automation. If you have experience with Appium and insights that could benefit the community of test practitioners, we want to hear from you!
Don't miss this chance to contribute to the Appium community and showcase your expertise on a global stage.
## How to Submit Your Proposal
Visit our website at [https://appiumconf.com/](https://appiumconf.com/) and [Submit a Proposal](https://confengine.com/conferences/appium-conf-2024/proposals?utm_medium=referal&utm_source=appium.io&utm_campaign=launch). We're excited to see your innovative ideas and experiences with Appium!
## Stay Tuned
Keep an eye on our website and social media channels for updates on the conference schedule, keynote speakers, and more exciting details about Appium Conf 2024.
Join us in shaping the future of mobile and device test automation. Submit your proposal today and be part of this exciting event!
@@ -0,0 +1,46 @@
---
authors:
- jlipps
date: 2024-06-10
---
# Announcing BrowserStack as Appium's Strategic Partner
We have another exciting announcement for you! As part of our recently-announced [sponsorship and
contributor compensation
program](https://appium.io/docs/en/latest/blog/2024/05/14/announcing-appiums-sponsorship-program/),
we are obviously in need of significant funding to support giving back to our contributor
community. We are therefore extremely happy to announce one of our brand new exclusive Strategic Partners: <a
href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">BrowserStack</a>!
<!-- more -->
<div style="text-align:center;width:100%">
<a href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">
<img src="/docs/en/latest/assets/images/sponsor-logo-browserstack-dark.png#only-dark" width="300" />
<img src="/docs/en/latest/assets/images/sponsor-logo-browserstack-light.png#only-light" width="300" />
</a>
</div>
BrowserStack has long been recognized in the industry as having extensive support for Appium,
allowing you to run functional and visual regression tests for your native and hybrid apps at scale
across a variety of devices and platforms.
As a token of this collaboration, BrowserStack is extending a special premium access of
BrowserStack App Automate product to Appium users. Discover more about this special offer at
[browserstack.com](https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium&utm_term=partannouncement)
With the decision to come on board as Strategic Partner, BrowserStack is making a huge investment
in Appium and the Appium community. BrowserStack is very interested in supporting the development
of the Appium contributor base, and is proud to be a key part of our contributor compensation
scheme. Without Strategic Partners like BrowserStack, we would not be able to maintain such
a program! We welcome them with gratitude!
**About BrowserStack**
<em>BrowserStack is the world’s leading software testing platform powering over two million tests every
day across 19 global data centers. BrowserStack helps Tesco, Shell, NVIDIA, Discovery, Wells Fargo,
and over 50,000 customers deliver quality software at speed by moving testing to their Cloud.
BrowserStack’s platform provides instant access to 20,000+ real mobile devices on a highly reliable
cloud infrastructure that effortlessly scales as testing needs grow. With BrowserStack, Dev and QA
teams can move fast while delivering an amazing experience for every customer.</em>
@@ -0,0 +1,47 @@
---
authors:
- jlipps
date: 2024-06-06
---
# Announcing HeadSpin as Appium's Development Partner
Recently, we announced a new [sponsorship and contributor compensation program](https://appium.io/docs/en/latest/blog/2024/05/14/announcing-appiums-sponsorship-program/) for the Appium
project. As part of this program, we felt it was important to have a place to recognize those
companies who make an extremely valuable kind of contribution to the project: dedicated maintainer
time. Appium only survives because of the tireless efforts of the core maintainers, and some of us
are only able to do this work because it is donated on behalf of our day jobs. We're therefore very
excited to announce our first Development Partner: <a
href="https://www.headspin.io/solutions/appium-mobile-test-automation">HeadSpin</a>!
<!-- more -->
<div style="text-align:center;width:100%">
<a href="https://www.headspin.io/solutions/appium-mobile-test-automation"><img
src="/docs/en/latest/assets/images/sponsor-logo-headspin.png" style="width: 300px"/></a>
</div>
HeadSpin is a real device performance and UX analysis cloud, with full support for Appium. When you
run your Appium tests on HeadSpin, you get access to comprehensive performance reports about your
app, including potential network, system resource, or user experience issues. HeadSpin supports
a variety of complex testing modes, including hooking up your own devices to the cloud, injecting
and receiving video and audio to/from devices, working with media (streaming) platforms, and more.
HeadSpin has been one of the Appium project's biggest supporters for a long time, and currently
employs two of Appium's core maintainers, donating a significant portion of their time towards the
development, maintenance, support, and leadership of open source Appium repos. HeadSpin has also
worked hard towards Appium's vision of a robust Appium ecosystem, contributing several
HeadSpin-maintained Appium drivers and plugins to the community:
- A [Roku TV driver](https://github.com/headspinio/appium-roku-driver)
- A [Tizen TV driver](https://github.com/headspinio/appium-tizen-tv-driver/)
- A [LG webOS TV driver](https://github.com/headspinio/appium-lg-webos-driver/)
- A [Unity game automation plugin](https://github.com/headspinio/appium-altunity-plugin)
These are all free and open source Appium components that HeadSpin has donated to the community
with the goal of fostering collaboration in these areas of media app automation.
Looking to the future, HeadSpin plans to continue supporting Appium in significant ways, both as
a Development Partner and a significant contributor to the Appium ecosystem. The Appium project is
deeply indebted to HeadSpin for all of its support, and is proud to take this moment to recognize
HeadSpin as our first official Development Partner!
@@ -0,0 +1,36 @@
---
authors:
- jlipps
date: 2024-06-10
---
# Announcing Sauce Labs as Appium's Strategic Partner
The good news surrounding our new [sponsorship and contributor compensation
program](https://appium.io/docs/en/latest/blog/2024/05/14/announcing-appiums-sponsorship-program/)
just keeps coming! Effective immediately we are fortunate and excited to be able to welcome a new Strategic Partner to
the Appium project: <a href="https://saucelabs.com/resources/blog/appium-strategic-partner">Sauce Labs</a>!
<!-- more -->
<div style="text-align:center;width:100%">
<a href="https://saucelabs.com/resources/blog/appium-strategic-partner"><img src="/docs/en/latest/assets/images/sponsor-logo-sauce.png" style="width: 300px"/></a>
</div>
Sauce Labs has a long history of support for the Appium project. In fact, Appium was initially
incubated at Sauce Labs under the direction of [@jlipps](https://github.com/jlipps), in the early
days of mobile automation. Sauce Labs always envisioned Appium as being a project for and by the
community, and cemented this perspective in 2016 with the donation of Appium to the JS Foundation
(now the [OpenJS Foundation](https://openjsf.org/)). To this day, developers associated with Sauce
Labs continue to help maintain various parts of the Appium project.
Now, Sauce Labs is making a further commitment to support Appium financially as a way to enable
our new contributor compensation program. We're very excited about this program as a vehicle for
getting more people involved in Appium's development and maintenance. With the help of Strategic
Partners like Sauce Labs, our project will be better able to meet the needs of our constantly
growing userbase, and attract new developers (like you?) to build the Appium ecosystem together.
Needless to say, we are extremely grateful for Sauce Labs's support!
**About Sauce Labs**
<em>Sauce Labs is the leader in continuous quality. Our Platform for Test helps organizations transform software testing from a chore to a competitive advantage. With decades of expertise and deep roots in the Selenium and Appium open source communities, high performing software teams use our platform to execute any testing workload across thousands of different devices, browsers, and operating systems—anywhere, any time, and at any scale. For more information, please visit [saucelabs.com](https://saucelabs.com).</em>
@@ -0,0 +1,48 @@
---
authors:
- jlipps
date: 2024-05-14
---
# Announcing Appium's Sponsorship Program
Over the last several months, the Appium team has been working on a sponsorship program that is
designed to help give back to Appium's contributors as well as to recognize important partner
individuals or companies in the industry. This program is now officially launching! Let's dive into
some of the details.
<!-- more -->
First of all, the details and fine print will always be available at Appium's [Governance
document](https://github.com/appium/appium/blob/master/GOVERNANCE.md), which outlines how the
project is run, who makes project decisions, etc... This document will be kept up to date with the
latest details of the program, so that's the place to bookmark for reference!
As of now, Appium has opened up sponsorship opportunities via our [OpenCollective
page](https://opencollective.com/appium). OpenCollective is a service which allows people to donate
to open source groups. We've defined a number of giving tiers for donations, within a very wide
range, and welcome any financial amount with gratitude! Based on the donation tier, sponsorship
comes with a variety of benefits, including recognition at different places in the Appium repo,
docs, and website. In addition to financial sponsorship, the project has decided to recognize
significant donations of project leadership and maintenance efforts from companies who have
invested heavily into Appium with their employees' time (we call these "Development Partners").
What will the project do with the funds raised through this sponsorship program? We aim to give it
all back to the Appium community! With the details again available at our [Governance document](https://github.com/appium/appium/blob/master/GOVERNANCE.md),
we have implemented a scheme very much inspired by our friends at [WebdriverIO](https://webdriver.io/blog/2024/02/15/new-contributor-stipend-program) (thanks WDIO
friends!) There are three groups of contributors to Appium that this scheme supports: (1) project
maintainers (those who devote consistent time to leading the project), (2) project contributors
(anyone in the wider community that contributes code or documentation), and (3) upstream projects
(other open source projects Appium relies heavily on to work well). Each month, the funds raised
via sponsorship will be distributed in different amounts to each of these groups. So if you
make a valuable contribution to Appium moving forward, you'll be eligible to get some cash as
a thank-you! (You'll need to have your own OpenCollective account in good standing to receive
funds).
We're very excited about this new program, and hope that it helps existing and new contributors to
feel even better about donating their time to making Appium better. And of course, none of this
would be possible without the amazing Partners and Sponsors we hope to attract! On that note, stay
tuned over the next few weeks as we unveil some of our initial program launch Partners! And if you
or your company would like to participate by supporting Appium financially, you are most welcome.
Just head over to our OpenCollective page and choose the tier that reflects your desired
contribution level.
@@ -0,0 +1,15 @@
---
authors:
- jlipps
date: 2024-03-07
---
# Hello World!
This is the first post in the Appium blog. There's not much to see here yet. We're creating this
space so we can make announcements or post other news, or information about events, that don't
really fit inside the documentation itself.
<!-- more -->
Stay tuned for more!
+16 -4
View File
@@ -27,23 +27,25 @@ below.
|`--base-path`|Base path to use as the prefix for all webdriver routes running on the server|string|`""`|`-pa`|
|`--callback-address`|Callback IP address (default: same as `--address`)|string||`-ca`|
|`--callback-port`|Callback port (default: same as `--port`) (Value must be between `1` and `65535`)|integer|`4723`|`-cp`|
|`--config`|Path to an [Appium configuration JSON file](../guides/config.md)|string|||
|`--debug-log-spacing`|Add exaggerated spacing in logs to help with visual inspection|boolean|`false`||
|`--default-capabilities`|Set the default desired capabilities, which will be set on each session unless overridden by received capabilities. If a string, a path to a JSON file containing the capabilities, or raw JSON.|object||`-dc`|
|`--deny-insecure`|Set which insecure features are not allowed to run in this server's sessions. Features are defined on a driver level; see documentation for more details. Features listed here will not be enabled even if also listed in `--allow-insecure`, and even if `--relaxed-security` is enabled. If string, a path to a text file containing policy or a comma-delimited list.|array<string>|`[]`||
|`--driver`|Driver-specific configuration. Keys should correspond to driver package names|object|||
|`--drivers-import-chunk-size`|The maximum amount of drivers that could be imported in parallel on server startup|number|`3`||
|`--keep-alive-timeout`|Number of seconds the Appium server should apply as both the keep-alive timeout and the connection timeout for all requests. Setting this to `0` disables the timeout.|integer|`600`|`-ka`|
|`--local-timezone`|Use local timezone for timestamps|boolean|`false`||
|`--log`|Also send log output to this file|string||`-g`|
|`--log-filters`|One or more log filtering rules|array|||
|`--log-level`|Log level (console[:file]) (Value must be one of: `info`, `info:debug`, `info:info`, `info:warn`, `info:error`, `warn`, `warn:debug`, `warn:info`, `warn:warn`, `warn:error`, `error`, `error:debug`, `error:info`, `error:warn`, `error:error`, `debug`, `debug:debug`, `debug:info`, `debug:warn`, `debug:error`)|string|`debug`||
|`--log-format`|Log format (Value must be to one of: `text`, `json`, `pretty_json`). If logs are printed as JSON then the text coloring is always disabled.|string|`text`||
|`--log-no-colors`|Do not use color in console output|boolean|`false`||
|`--log-timestamp`|Show timestamps in console output|boolean|`false`||
|`--plugins-import-chunk-size`|The maximum amount of plugins that could be imported in parallel on server startup|number|`7`||
|`--drivers-import-chunk-size`|The maximum amount of drivers that could be imported in parallel on server startup|number|`3`||
|`--long-stacktrace`|Add long stack traces to log entries. Recommended for debugging only.|boolean|`false`||
|`--no-perms-check`|Skip various permission checks on the server startup if set to true|boolean|`false`||
|`--nodeconfig`|Path to configuration JSON file to register Appium as a node with Selenium Grid 3; otherwise the configuration itself|object|||
|`--no-perms-check`|Skip various permission checks on the server startup|boolean|`false`||
|`--nodeconfig`|Path to configuration JSON file to register Appium as a node with Selenium Grid 3; otherwise the configuration itself|string|||
|`--plugin`|Plugin-specific configuration. Keys should correspond to plugin package names|object|||
|`--plugins-import-chunk-size`|The maximum amount of plugins that could be imported in parallel on server startup|number|`7`||
|`--port`|Port to listen on (Value must be between `1` and `65535`)|integer|`4723`|`-p`|
|`--relaxed-security`|Disable additional security checks, so it is possible to use some advanced features, provided by drivers supporting this option. Only enable it if all the clients are in the trusted network and it's not the case if a client could potentially break out of the session sandbox. Specific features can be overridden by using `--deny-insecure`|boolean|`false`||
|`--session-override`|Enables session override (clobbering)|boolean|`false`||
@@ -55,3 +57,13 @@ below.
|`--use-drivers`|A list of drivers to activate. By default, all installed drivers will be activated.|array<string>|`[]`||
|`--use-plugins`|A list of plugins to activate. To activate all plugins, the value should be an array with a single item `"all"`.|array<string>|`[]`||
|`--webhook`|Also send log output to this http listener|string||`-G`|
The following arguments are used for information retrieval, after which the server will automatically exit. They are therefore meant for reference or debug purposes.
|<div style="width:10em">Argument</div>|Description|Alias|
|--|--|--|
|`--help`|Print instructions on using the Appium command-line. This argument can also be used for any Appium subcommands.|`-h`|
|`--show-build-info`|Print detailed information on the Appium server version||
|`--show-config`|Print the current Appium server configuration details||
|`--show-debug-info`|Print information on the current environment: details about the operating system, Node.js, and Appium itself||
|`--version`|Print the Appium server version|`-v`|
+5
View File
@@ -19,3 +19,8 @@ environment variables that the Appium server understands:
|`APPIUM_PORT`|Same as the `--port` CLI arg|
|`APPIUM_RELOAD_EXTENSIONS`|Set to `1` to cause Appium to re-require extensions when new sessions are created. This is mostly useful for [building extensions](../developing/build-drivers.md)|
|`APPIUM_OMIT_PEER_DEPS`|Adds `--omit=peer` to all the NPM commands run internally by Appium. Mostly an internal feature.|
|`APPIUM_APPS_CACHE_MAX_AGE`|Allows to set the maximum age (in minutes) for [cached applications](../guides/caching.md). The default value is `60 * 24` (24 hours). Do not set it to a lower number than the duration of a single session startup.|
|`APPIUM_APPS_CACHE_MAX_ITEMS`|Allows to set the maximum amount of [cached applications](../guides/caching.md). The default value is `1024`. Do not set it to a lower number than the amount of apps in all parallel sessions per process.|
|`APPIUM_APPS_CACHE_IGNORE_URL_QUERY`| If the above option is enabled then the 'search' part of the app URL will be cut off from cache keys. See the corresponding
[feature request](https://discuss.appium.io/t/regarding-app-caching-when-using-aws-s3-presigned-urls/42713)
for more details. Disabled by default.|
+52 -45
View File
@@ -30,28 +30,34 @@ All Extension CLI commands can take an optional `--json` argument, which will re
the command as a machine-readable JSON string rather than the standard output, which is colourized
and tuned for human consumption.
### `list`
### `doctor`
List installed and available extensions. "Available" extensions include those which are officially
recognized by the Appium team, but you are not limited to installing only the extensions displayed
in this list.
Run doctor checks for the given extension, which validate whether the extension has its prerequisites
configured correctly. Note that not all extensions include doctor checks. See the
[Building Doctor Checks](../developing/build-doctor-checks.md) tutorial for more details on
how to create them.
Usage:
```
appium <ext-type> list [--installed] [--updates] [--json]
appium <ext-type> doctor <ext-name>
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension whose doctor checks you want to run
Optional arguments:
- `--installed`: show only installed extensions, not installed plus available extensions
- `--updates`: for extensions installed via NPM, display a message if there are any updates
- `--json`: return the result in JSON format
Example (run doctor checks for the UiAutomator2 driver):
```
appium driver doctor uiautomator2
```
### `install`
Install an extension. If successful, respond with the short name of the extension which can be used
@@ -124,46 +130,26 @@ by `npm install`:
appium plugin install --source=local /path/to/my/plugin
```
### `update`
### `list`
Update one or more extensions that have been installed via NPM. By default, Appium will not
automatically update any extension that has a revision in its major version, so as to prevent
unintended breaking changes.
List installed and available extensions. "Available" extensions include those which are officially
recognized by the Appium team, but you are not limited to installing only the extensions displayed
in this list.
Usage:
```
appium <ext-type> update <ext-name> [--unsafe] [--json]
appium <ext-type> list [--installed] [--updates] [--json]
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension to update, or the string `installed` (which will update
all installed extensions)
Optional arguments:
- `--unsafe`: direct Appium to go ahead and update passed a major version boundary
- `--json`: return the result in JSON format
### `uninstall`
Remove an installed extension.
Usage:
```
appium <ext-type> uninstall <ext-name> [--json]
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension to uninstall
Optional arguments:
- `--installed`: show only installed extensions, not installed plus available extensions
- `--updates`: for extensions installed via NPM, display a message if there are any updates
- `--json`: return the result in JSON format
### `run`
@@ -187,7 +173,7 @@ Required arguments:
Optional arguments:
* `script-args`: any arguments that Appium does not interpret as belonging to its own set of
- `script-args`: any arguments that Appium does not interpret as belonging to its own set of
arguments will be passed along to the extension script
- `--json`: return the result in JSON format
@@ -197,23 +183,44 @@ Example (run the `reset` script included with the UiAutomator2 driver):
appium driver run uiautomator2 reset
```
### `doctor`
### `update`
Run doctor checks for the given extension if it has any. Extension authors can include
runnable scripts that assist with driver or plugin preconditions validations. These scripts
must be valid Node.js sources, must be listed in the package manifest, and must export
class instances that comply to the particular requirements.
See the [Building Doctor Checks](../developing/build-doctor-checks.md) tutorial for more
details on these requirements.
Update one or more extensions that have been installed via NPM. By default, Appium will not
automatically update any extension past a major version boundary, so as to prevent
unintended breaking changes.
Usage:
```
appium <ext-type> doctor <ext-name>
appium <ext-type> update <ext-name> [--unsafe] [--json]
```
Example (run doctor checks for the UiAutomator2 driver):
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension to update, or the string `installed` (which will update
all installed extensions)
Optional arguments:
- `--unsafe`: direct Appium to go ahead and update past a major version boundary
- `--json`: return the result in JSON format
### `uninstall`
Remove an installed extension.
Usage:
```
appium driver doctor uiautomator2
appium <ext-type> uninstall <ext-name> [--json]
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension to uninstall
Optional arguments:
- `--json`: return the result in JSON format
+5 -3
View File
@@ -11,14 +11,16 @@ the Appium server. This section of the Appium documentation describes how to use
To start off, you can run `appium -v` or `appium --version` to return the installed version,
or run `appium -h` or `appium --help` to return the help message.
The main `appium` executable provides 3 subcommands:
The main `appium` executable provides the following subcommands:
1. `appium server` (or simply `appium`) - launch an Appium server
- [See here for accepted arguments](./args.md)
- For advanced features, [see here for accepted environment variables](./env-vars.md)
2. `appium driver` - manage Appium drivers
- [See here for accepted arguments](./extensions.md)
- [See here for details](./extensions.md)
3. `appium plugin` - manage Appium plugins
- [See here for accepted arguments](./extensions.md)
- [See here for details](./extensions.md)
4. `appium setup` - batch install a preset of drivers and plugins
- [See here for details](./setup.md)
Like the main command, you can also run each subcommand with the `-h` or `--help` flag to learn more about it.
+28
View File
@@ -0,0 +1,28 @@
---
hide:
- toc
title: Setup Command-Line Usage
---
The `setup` command aims to simplify the initial procedure of setting up Appium. It allows to install
multiple extensions (drivers/plugins) in one go, without the need to run
`appium <ext-name> install <ext-name>` multiple times.
The command has several presets that can be used to install different sets of extensions.
The presets are as follows:
|Preset|Installation Command|Included Drivers|Included Plugins|
|--|--|--|--|
|Mobile|`appium setup mobile` or `appium setup`|`uiautomator2`, `xcuitest`[^1], `espresso`|`images`|
|Desktop application|`appium setup desktop`|`mac2`[^1], `windows`[^2]|`images`|
|Desktop browser|`appium setup browser`|`safari`[^1], `gecko`, `chromium`|`images`|
Attempting to install a preset while already having one or more of its included extensions installed
will only install the missing extensions.
Refer to the [Ecosystem documentation](../ecosystem/index.md) to learn more about the extensions
listed above.
[^1]: Only installed if the host machine is running macOS.
[^2]: Only installed if the host machine is running Windows.
@@ -217,6 +217,10 @@ A possibly empty list of elements inside the shadow root matching the selector
Get the log for a given log type.
!!! warning "Deprecated"
Please use the `/session/:sessionId/se/log` endpoint instead
<!-- comment source: method-signature -->
#### Parameters
@@ -273,6 +277,10 @@ The event history for the session
Get available log types as a list of strings
!!! warning "Deprecated"
Please use the `/session/:sessionId/se/log/types` endpoint instead
<!-- comment source: method-signature -->
#### Response
@@ -319,9 +327,22 @@ Get data for all sessions running on an Appium server
#### Response
`MultiSessionData`<`C`\>[]
A list of session data objects.
Each session data object will be returned with `id` and the session's capabilities as `capabilities` keys like an example below:
A list of session data objects
```json
[
{
"id":"ba30c6da-c266-4734-8ddb-c16f5bb53e16",
"capabilities":{ "platformName":"ios","browserName":"safari","automationName":"xcuitest","platformVersion":"17.2","deviceName":"iPhone 15" }
},
{
"id":"1441110c-1ece-4e45-abbf-ebf404f45f0a",
"capabilities":{ "platformName":"ios","browserName":"safari","automationName":"xcuitest","platformVersion":"17.0","deviceName":"iPhone 14" }
},
...
]
```
### `getSettings`
@@ -465,7 +486,9 @@ Set the various timeouts associated with a session
Set the implicit wait timeout
**`Deprecated`**
!!! warning "Deprecated"
Please use the `/session/:sessionId/timeouts` endpoint instead
Use `timeouts` instead
@@ -506,7 +529,9 @@ Add a custom-named event to the Appium event log
Reset the current session (run the delete session and create session subroutines)
**`Deprecated`**
!!! warning "Deprecated"
Please use each driver's launch, activate, terminate or cleanup method.
Use explicit session management commands instead
+123
View File
@@ -0,0 +1,123 @@
---
hide:
- navigation
title: Contributing to Appium
---
The Appium project would not exist without the many contributions of code, documentation,
maintenance, and support from companies and volunteers. As such, we welcome contributions!
There are a lot of different ways to help the project - see below for everything you can do and the
processes to follow for each contribution method. Note that no matter how you contribute, your
participation is governed by our [Code of Conduct](https://github.com/appium/appium/blob/master/CONDUCT.md).
## Join the Discussion Forum
You don't need to know the internals of Appium to be able to contribute! If you have experience with
using Appium and feel like sharing your knowledge with others, consider helping out users on the
Appium forums at [discuss.appium.io](https://discuss.appium.io/). Hop on over and see if there are
any questions that you can answer.
## Report Bugs or Feature Requests
If you've encountered a bug, or have a cool feature in mind that you think Appium should support,
make sure to let us know at our [GitHub issue tracker](https://github.com/appium/appium/issues).
Please use the appropriate issue form template when creating your issue.
## Triage Issues
In addition to creating issues, you can also help us investigate already reported issues. All you
need is enough familiarity with Appium to try and reproduce bugs.
You can get started by checking our [GitHub issue tracker](https://github.com/appium/appium/issues)
for issues with labels such as `Needs Triage` or `Needs Info`, and leaving relevant comments:
- If the issue is a duplicate, drop a link to the original issue
- If the user has not provided enough information (such as Appium logs), ask them for more details
- If you can reproduce the problem on your own environment, provide all the information that you think
would help us track down the cause of the issue
For further information on triaging Appium issues (for any Appium project repository), please contact
any member of the [Technical Committee](https://github.com/appium/appium/blob/master/GOVERNANCE.md#the-technical-committee).
## Contribute Code
We are always open to pull requests for improving the Appium code or documentation!
!!! info
Developer information may not be kept up to date as frequently as user-facing information, or
it may be most relevant in its current form on the online repository, not in this published
version. Make sure to check the repo or discuss with maintainers. We would be glad to help
new contributors get started!
Start by cloning the repository (we recommend [forking](https://github.com/appium/appium/fork)
it first):
```sh
git clone https://github.com/appium/appium.git
cd appium
```
!!! info
If you are VS Code user, you can easily check out the project using [Runme](https://runme.dev/api/runme?repository=https%3A%2F%2Fgithub.com%2Fappium%2Fappium.git&fileToOpen=packages%2Fappium%2Fdocs%2Fen%2Fcontributing%2Findex.md).
Install dependencies:
```sh
npm install
```
From here on there are several things you can do.
Build the project:
```sh
npm run build
```
Build the project and watch for changes:
```sh
npm run dev
```
Start the locally built Appium server:
```sh
npm start
```
Run various tests:
```sh
npm run lint
npm run test:unit
npm run test:types
npm run test:smoke
npm run test:e2e
npm run test:quick # unit and types
npm run test:slow # everything
```
You can also run tests for specific workspaces, e.g.:
```sh
export APPIUM_WORKSPACE=@appium/base-driver
npm run test:unit -w $APPIUM_WORKSPACE
```
### Documentation
The documentation for this project is [available in the project repository itself](https://github.com/appium/appium/tree/master/packages/appium/docs).
It is contained in Markdown files, which are built by our documentation system in the
`@appium/docutils` module. This module is based on [MkDocs](https://www.mkdocs.org/) and therefore
requires [Python](https://www.python.org/) to be installed on your system.
Install Python dependencies:
```sh
npm run install-docs-deps
```
After making your changes, you can run the documentation server in dev mode:
```sh
npm run dev:docs
```
You can then view the documentation at `http://127.0.0.1:8000/docs/en`.
@@ -1,38 +0,0 @@
---
hide:
- toc
title: Contributing to Appium
---
Appium is open source, available under an Apache 2.0 license. Appium's copyright is held by the
[OpenJS Foundation](https://openjsf.org), and Appium receives contributions from many companies
across several software industries, regardless of their competitive status. (3rd-party drivers and
plugins are available under the licenses provided by their authors.)
As such, we welcome contributions! The project moves forward in relation to the investment of
contributions of code, documentation, maintenance, and support from companies and volunteers.
This section of Appium's documentation is for those who are interested in contributing to Appium's
development. It contains developer overviews, guides, and notes. Use the navigation menu to find
a specific topic. All the information in these guides assumes in-depth familiarity with Appium
already.
!!! warning
Developer information may not be kept up to date as frequently as user-facing information, or
it may be most relevant in its current form on the online repository, not in this published
version. Always be sure to check the repo or discuss with maintainers. We're always happy to
help new contributors get started!
## Ways to Contribute
The project offers a variety of ways to contribute, e.g.:
- [contributing code](./develop.md)
- improving documentation
- creating educational content (blog posts, tutorials, videos, etc.)
- spreading the good word about the project (e.g. via Twitter)
- filing bugs if you discover them while using Appium
- making feature requests if you are missing something in the project or help triaging bugs
- supporting users in the [Appium forum](https://discuss.appium.io/)
@@ -58,20 +58,20 @@ work with certain versions of Appium). For Appium 2, for example, this would loo
Your `package.json` must contain an `appium` field, like this (we call this the 'Appium extension
metadata'):
```json
{
...,
"appium": {
"driverName": "fake",
"automationName": "Fake",
"platformNames": [
"Fake"
],
"mainClass": "FakeDriver"
},
...
}
```
```json
{
...,
"appium": {
"driverName": "fake",
"automationName": "Fake",
"platformNames": [
"Fake"
],
"mainClass": "FakeDriver"
},
...
}
```
The required subfields are:
@@ -130,12 +130,12 @@ like this:
```json
{
"devDependencies": {
...,
"appium": "^2.0.0",
"your-driver": "file:.",
...
}
"devDependencies": {
...,
"appium": "^2.0.0",
"your-driver": "file:.",
...
}
}
```
@@ -657,6 +657,13 @@ A couple notes about this system:
1. The `executeMethod` helper will reject with an error if a script name doesn't match one of the
script names defined as a command in `executeMethodMap`, or if there are missing parameters.
### Build Appium Doctor checks
Your users can run `appium driver doctor <driverName>` to run installation and health checks. Visit
the [Building Doctor Checks](./build-doctor-checks.md) guide for more information on this
capability.
### Implement handling of Appium settings
Appium users can send parameters to your driver via CLI args as well as via capabilities. But these
@@ -412,6 +412,12 @@ Overriding Execute Methods from drivers works as you'd expect: if your plugin de
Method with the same name as that of a driver, your command (in this case `plugMeIn`) will be
called first. You can choose to run the driver's original behaviour via `next` if you want.
### Build Appium Doctor checks
Your users can run `appium plugin doctor <pluginName>` to run installation and health checks. Visit
the [Building Doctor Checks](./build-doctor-checks.md) guide for more information on this
capability.
### Update the Appium server object
You probably don't normally need to update the Appium server object (which is an
@@ -31,6 +31,7 @@ These clients are not maintained by the Appium team and can be used with other l
|[WebdriverIO](https://webdriver.io/docs/appium)|Node.js|
|[Nightwatch.js](https://nightwatchjs.org/guide/mobile-app-testing/introduction.html)|Node.js|
|[RobotFramework](https://github.com/serhatbolsu/robotframework-appiumlibrary)|DSL|
|[multicatch's appium-client](https://github.com/multicatch/appium-client)|Rust|
In general, any W3C WebDriver spec-compatible client will also integrate well with Appium, though
some Appium-specific commands may not be implemented in other clients.
+4 -1
View File
@@ -27,6 +27,7 @@ These drivers are currently maintained by the Appium team:
|[Mac2](https://github.com/appium/appium-mac2-driver)|`mac2`|macOS|Native|
|[Safari](https://github.com/appium/appium-safari-driver)|`safari`|macOS, iOS|Web|
|[UiAutomator2](https://github.com/appium/appium-uiautomator2-driver)|`uiautomator2`|Android|Native, Hybrid, Web|
|[Windows](https://github.com/appium/appium-windows-driver)|`windows`|Windows|Native|
|[XCUITest](https://github.com/appium/appium-xcuitest-driver)|`xcuitest`|iOS|Native, Hybrid, Web|
### Other Drivers
@@ -36,13 +37,15 @@ These drivers are not maintained by the Appium team and can be used to target ad
|Driver|Installation Key|Platform(s)|Mode(s)|Supported By|
|--|--|--|--|--|
|[Flutter](https://github.com/appium/appium-flutter-driver)|`--source=npm appium-flutter-driver`|iOS, Android|Native|Community|
|[Flutter Integration](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver)|`--source=npm appium-flutter-integration-driver`|iOS, Android|Native|Community / `@AppiumTestDistribution`|
|[LG WebOS](https://github.com/headspinio/appium-lg-webos-driver)|`--source=npm appium-lg-webos-driver`|LG TV|Web|HeadSpin|
|[Linux](https://github.com/fantonglang/appium-linux-driver)|`--source=npm @stdspa/appium-linux-driver`|Linux|Native|`@fantonglang`|
|[Roku](https://github.com/headspinio/appium-roku-driver)|`--source=npm @headspinio/appium-roku-driver`|Roku|Native|HeadSpin|
|[Tizen](https://github.com/Samsung/appium-tizen-driver)|`--source=npm appium-tizen-driver`|Android|Native|Community / Samsung|
|[TizenTV](https://github.com/headspinio/appium-tizen-tv-driver)|`--source=npm appium-tizen-tv-driver`|Samsung TV|Web|HeadSpin|
|[Windows](https://github.com/appium/appium-windows-driver)|`--source=npm appium-windows-driver`|Windows|Native|Community / Microsoft|
|[Youi](https://github.com/YOU-i-Labs/appium-youiengine-driver)|`--source=npm appium-youiengine-driver`|iOS, Android, macOS, Linux, tvOS|Native|Community / You.i|
|[axe UiAutomator2](https://docs.deque.com/devtools-mobile/appium-setup)|`--source=npm @axe-devtools/axe-appium-uiautomator2-driver`|Android|Native|[Deque](https://www.deque.com)|
|[axe XCUITest](https://docs.deque.com/devtools-mobile/appium-setup)|`--source=npm @axe-devtools/axe-appium-xcuitest-driver`|iOS|Native|[Deque](https://www.deque.com)|
!!! note
+5 -2
View File
@@ -32,9 +32,12 @@ These plugins are not maintained by the Appium team and can provide additional f
|<div style="width:6em">Plugin</div>|<div style="width:19em">Installation Key</div>|Description|<div style="width:13em">Supported By</div>|
|---|---|---|---|
|[AltUnity](https://github.com/headspinio/appium-altunity-plugin)|`--source=npm appium-altunity-plugin`|Target Unity games and apps for automation with a new context, via the AltUnityTester framework|HeadSpin|
|[Device Farm](https://github.com/AppiumTestDistribution/appium-device-farm)|`--source=npm appium-device-farm`|Manage and create driver session on connected android devices and iOS Simulators.|`@AppiumTestDistribution`|
|[Device Farm](https://github.com/AppiumTestDistribution/appium-device-farm)|`--source=npm appium-device-farm`|Manage and create driver sessions on connected Android devices and iOS simulators|`@AppiumTestDistribution`|
|[Gestures](https://github.com/AppiumTestDistribution/appium-gestures-plugin)|`--source=npm appium-gestures-plugin`|Perform basic gestures using W3C Actions|`@AppiumTestDistribution`|
|[Interceptor](https://github.com/AppiumTestDistribution/appium-interceptor-plugin)|`--source=npm appium-interceptor`|Intercept and mock API requests and responses|`@AppiumTestDistribution`|
|[OCR](https://github.com/jlipps/appium-ocr-plugin)|`--source=npm appium-ocr-plugin`|Find elements via OCR text|`@jlipps`|
|[Reporter](https://github.com/AppiumTestDistribution/appium-reporter-plugin)|`--source=npm appium-reporter-plugin`|Generates standalone consolidated html report with screenshots. Reports can be fetched from appium server, without worrying about heavy lifting such as screenshot capturing, report generation etc.|`@AppiumTestDistribution`|
|[Reporter](https://github.com/AppiumTestDistribution/appium-reporter-plugin)|`--source=npm appium-reporter-plugin`|Generate standalone consolidated HTML reports with screenshots|`@AppiumTestDistribution`|
|[Wait](https://github.com/AppiumTestDistribution/appium-wait-plugin)|`--source=npm appium-wait-plugin`|Manage global element wait timeouts|`@AppiumTestDistribution`|
!!! note
+12 -6
View File
@@ -8,7 +8,7 @@ title: Appium-Related Tools
There are several Appium tools that have been created to to assist with things not directly related
to testing, such as Appium installation, test development, and more.
### Appium Inspector
### [Appium Inspector](https://appium.github.io/appium-inspector/latest/)
Appium has a graphical client which can be used to inspect application screenshots, view the
application hierarchy, run Appium commands, record app interactions, and more. It is very useful
@@ -18,14 +18,20 @@ Find downloads and more information on its GitHub page: [Appium Inspector](https
### Appium Doctor
The `appium-doctor` CLI tool can be used to validate proper environment setup for Android and iOS
automation, and identify any common configuration issues. It can be installed with `npm`:
Appium Doctor is a command-line tool built into Appium drivers and plugins.
The command is expected to be used to validate whether a driver or plugin has all of its prerequisites and other environment details set up correctly
if the driver/plugin author implemented the `doctor` command.
```sh
npm install -g @appium/doctor
For example, `uiautomator2` driver provides the `doctor` command below.
```
appium driver doctor uiautomator2
```
Learn more on its GitHub page: [Appium Doctor](https://github.com/appium/appium/tree/master/packages/doctor)
It shows no result if the driver/plugin author did not implement them.
More information on this command can be found in the [Command-Line Usage documentation](../cli/extensions.md#doctor).
For driver/plugin developers, please read [Building Doctor Checks](../developing/build-doctor-checks.md).
### Other Tools
@@ -0,0 +1,57 @@
---
title: Local Validation Of Extension PRs
---
Sometimes it might be necessary to validate if a remote driver or a plugin PR works for the particular local
environment before it is merged or published. This tutorial describes how to achieve that.
## Requirements
- Recent LTS version of NodeJS. Check [Node.js main page](https://nodejs.org) for the download link.
- Recent version of the Appium server. Use the following commands to ensure you have
the latest version installed: `npm uninstall appium` and `npm install -g appium`.
- [Git](https://git-scm.com/) should be available locally.
## Installation
- [Check out]((https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally)) the PR locally.
There is also an option (although it is less flexible, because you won't be able to easily fetch
any changes to this PR later) to simply [download](https://docs.github.com/en/repositories/working-with-files/using-files/downloading-source-code-archives) and unzip the sources
locally. If you choose the later option then no `git` tool would be necessary.
- Navigate to the local driver or plugin folder and run `npm i` from that folder.
- Make sure you don't have the given driver or plugin already installed. Use the `appium driver uninstall <driver_name>`
or `appium plugin uninstall <plugin_name>` CLI in order to delete any leftovers. The value of
`<driver_name>`/`<plugin_name>` depends on the actual driver or plugin name the PR has been prepared for.
If you are not sure which name you need to use then check the content of the `package.json` manifest,
which must be always located under the root folder of the fetched sources. You should be looking for
the `"appium" -> "driverName"` entry value there.
- Change the current folder to the one, which is NOT the driver/plugin folder root or its subfolder.
Also, make sure your current working folder does not contain any extra `package.json` file. If
it does then simply navigate to any other folder that does not.
- Run the following command in order to link the driver/plugin sources to the Appium server:
`appium driver install --source=local <full_path_to_driver_folder_with_fetched_sources>` or
`appium plugin install --source=local <full_path_to_plugin_folder_with_fetched_sources>`.
- Stop the Appium server if it is running and start it again (`appium server --use-drivers=<driver_name>`)
to check the list of loaded drivers. If the linking succeeded then you must see the driver name and the path to its
parent folder in the server logs. In case of a plugin it is required to explicitly request
this plugin to be loaded upon server startup: `appium server --use-plugins=<plugin_name>`.
## Update
After you have tested the PR and there are issues it might be necessary to update the local branch with
the recent changes from Git. Follow the next steps for that:
- Navigate to the parent folder of your local driver/plugin and run `git pull`.
- Stop Appium server if it is running.
- Run `npm i` in the parent folder of your local driver/plugin to rebuild it and update any dependencies if necessary.
- Start Appium server again similarly to how this is done in the corresponding [Installation](#installation) step above.
## Switching Back To a Stable Release
After the PR is merged there is no need to use the local plugin/driver deployment anymore, and it makes sense
to switch back to the package managed by NPM. Follow the next steps for that:
- Unlink the installed driver/plugin from the server by running `appium driver uninstall <driver_name>` or
`appium plugin uninstall <driver_name>`.
- Delete the local source folder (`rm -rf <full_path_to_plugin_or_driver_folder_with_fetched_sources>`).
- Install the driver or the plugin from NPM. Check the component README in order to find a proper command for that.
+25 -15
View File
@@ -16,7 +16,8 @@ bundle for each test.
Caching could be applied to application bundles generated by
[`configureApp`](https://github.com/appium/appium/blob/master/packages/base-driver/lib/basedriver/helpers.js#L107) helper call.
Inherited drivers can customize their caching logic by providing own `onPostProcess` property definition, but the general
Inherited drivers can customize their caching logic by providing own `onPostProcess`
(or both `inDownload` and `onPostProcess`) property definition, but the general
rule of thumb is that we need to cache locally all application bundles need to be downloaded and/or extracted
first before they could be actually installed on the device under test. On iOS, for example, these are `.ipa` or
`.zip` compressed application bundles, or .`aab` on Android.
@@ -26,18 +27,17 @@ first before they could be actually installed on the device under test. On iOS,
In order to validate whether an app bundle downloaded from the given URL could be (re)used from the cache the following
steps are applied:
1. The script is sending `HEAD` request to the given link in order to only fetch response headers. If this request fails/
times out then no caching is applied.
2. The following header values are being extracted: `Last-Modified`, `Cache-Control`. If no `Last-Modified` header is present
or the header value cannot be parsed as a valid datetime then no caching is applied.
3. The script checks if the given URL is already present in the cache. If the app is not cached yet then it gets downloaded
and its current header values along with hashsum are added to the cache.
4. If the URL was already in the cache then the script verifies that:
- the current `Last-Modified` datetime is not different from the previous one
- the difference between the current `Last-Modified` datetime and the cached one is not greater than max-age (if present)
- the hashsum of the cached file/folder is not changed (e.g. it was not corrupted while sitting in the cache)
5. If all validations above succeed then the cached build is returned, otherwise the currently cached entry gets
deleted and a new one is downloaded instead.
1. The script checks if the given URL is already present in the cache.
If yes then it tries to fetch previously remembered
[Last-Modified](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified)
or [ETag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) header values for it.
2. If `ETag` value is present then it is put into
[If-None-Match request header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match).
Else if `Last-Modified` header value is present then it is put into
[If-Modified-Since request header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since).
Otherwise, no caching is applied.
3. If the response status is equal to `304` then the previously cached binary is used,
otherwise the cached entry is reset and refreshed.
## Caching of Local Application Bundles
@@ -55,9 +55,19 @@ The cache where the base driver keeps all application bundles is located in the
on per-process basis, so each test session initialized in scope of the same Appium server process takes advantages
of it. It is a [LRU Cache](https://www.npmjs.com/package/lru-cache) with the following limitations:
- Max items: 1024
- Max time to live (TTL) for each entry: 24 hours
- Max items: 1024. You may customize it by providing a new value to
the [APPIUM_APPS_CACHE_MAX_ITEMS](../cli/env-vars.md) environment variable.
Do not set it to a lower number than the amount of apps in all parallel sessions per process.
- Max time to live (TTL) for each entry: 24 hours.
You may customize it by providing a new value to the
[APPIUM_APPS_CACHE_MAX_AGE](../cli/env-vars.md) environment variable.
Do not set it to a lower number than the duration of a single session startup.
- TTL is refreshed for each entry upon access
- By default the full application URL is used as cache key. You may change this behavior
by enabling the [APPIUM_APPS_CACHE_IGNORE_URL_QUERY](../cli/env-vars.md) environment variable.
If the above option is enabled then the 'search' part of the app URL will be cut off from cache keys.
See the corresponding [feature request](https://discuss.appium.io/t/regarding-app-caching-when-using-aws-s3-presigned-urls/42713)
for more details.
!!! warning
+1 -1
View File
@@ -42,7 +42,7 @@ property in your `package.json` and it will be automatically discovered.
Appium will search _up_ the directory tree from the current working directory for one of these
files. If it reaches the current user's home directory or filesystem root, it will stop looking.
To specify a _custom_ location for your config file, use `appium --config-file /path/to/config/file`.
To specify a _custom_ location for your config file, use `appium --config /path/to/config/file`.
#### Configuration File Format
+24 -2
View File
@@ -6,10 +6,12 @@ hide:
title: Welcome
---
<style>
.md-typeset h1 {
.md-typeset h1,
.appium-sponsor-thanks {
display: none;
}
</style>
<div style="text-align: center">
<img src="assets/images/appium-logo-horiz.png" style="max-width: 400px;" />
</div>
@@ -19,6 +21,26 @@ software, designed to facilitate UI automation of many app platforms, including
Android, Tizen), browser (Chrome, Firefox, Safari), desktop (macOS, Windows), TV (Roku, tvOS,
Android TV, Samsung), and more!
<div style="text-align: center; margin-top: 2rem; font-style: italic;">
Appium is extremely grateful for the support of its key partners! (Learn more about our
sponsorship program and contributor compensation scheme <a
href="https://github.com/appium/appium/blob/master/GOVERNANCE.md#sponsorship">here</a>)
<div class="homepageSponsors">
<div class="homepageSponsor">
<a href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">
<img src="assets/images/sponsor-logo-browserstack-dark.png#only-dark" style="width: 220px;" />
<img src="assets/images/sponsor-logo-browserstack-light.png#only-light" style="width: 220px;" />
</a>
</div>
<div class="homepageSponsor">
<a href="https://saucelabs.com/resources/blog/appium-strategic-partner">
<img src="assets/images/sponsor-logo-sauce.png" style="width: 200px;" />
</a>
</div>
</div>
</div>
## Explore the Documentation
<div class="grid cards" markdown>
@@ -31,6 +53,6 @@ Android TV, Samsung), and more!
- Read the different [__Guides__](./guides/migrating-1-to-2.md) for a variety of instructions, tips and tricks
- Check out various third-party [__Resources__](./resources.md) to explore Appium around the web
- For creating your own Appium extensions, see the [__Developer__](./developing/index.md) documentation
- For contributions to Appium itself, refer to the [__Contributing__](./contributing/index.md) page
- For contributions to Appium itself, refer to the [__Contributing__](./contributing.md) page
</div>
+3 -3
View File
@@ -40,14 +40,14 @@ but it is certainly a good one! So let's dive in.
## Appium's choice of API
Appium is very fortunate to have been preceded by a technology which has been a long-standing
pioneer in the field of UI automation, namely [Selenium](https://seleniumhq.org). The goal of the
pioneer in the field of UI automation, namely [Selenium](https://selenium.dev). The goal of the
Selenium project has been to support UI automation of web browsers, and in this way we can think of
it as occupying a subset of Appium's goals. Along the way, Selenium (and, after they merged,
another project called WebDriver) developed a relatively stable API for browser automation.
Over the years, Selenium worked with various web browser vendors and the [W3C](https://w3c.org)
Over the years, Selenium worked with various web browser vendors and the [W3C](https://w3.org)
standards group to turn its API into an official web browser standard, called the [WebDriver
specification](https://w3c.github.io/webdriver/webdriver-spec.html). All the main browsers now
specification](https://w3c.github.io/webdriver/). All the main browsers now
implement automation capabilities inline with the WebDriver spec, without the Selenium team having
to maintain any software that performs actual automation; standards for the win!
+1 -1
View File
@@ -6,7 +6,7 @@ title: Intro to Appium Clients
---
For all the reasons discussed in the [main Overview](./appium.md), Appium is based on the [W3C
WebDriver specification](https://w3c.github.io/webdriver/webdriver-spec.html). This means that
WebDriver specification](https://w3c.github.io/webdriver/). This means that
Appium implements a client-server architecture. The server (consisting of Appium itself along with
any drivers or plugins you are using for automation) is connected to the devices under test, and
is actually responsible for making automation happen on those devices. The client (driven by *you*,
+3 -3
View File
@@ -32,12 +32,12 @@ driver install`.
So, from a technical perspective, an Appium driver is just a bit of code that inherits from some
other Appium code. That's it! Now, inheriting from `BaseDriver` actually gives us a lot, because
`BaseDriver` is essentially an encapsulation of the entire WebDriver protocol. So all a driver
needs to do to do something useful is to *implement* Node.js methods with names corresponding to
needs to do something useful is to *implement* Node.js methods with names corresponding to
their WebDriver protocol equivalents.
So let's say I wanted to do something with this empty driver; first I have to decide which
WebDriver command I want to implement. For our example, let's take the [Navigate
To](https://www.w3.org/TR/webdriver1/#navigate-to) WebDriver command. Leave aside for the moment
To](https://w3c.github.io/webdriver/#navigate-to) WebDriver command. Leave aside for the moment
what I want to have the driver *do* when this command is executed. To tell Appium the driver can
handle the command, all we have to do is define a method like this in our driver class:[^1]
@@ -96,7 +96,7 @@ a driver becomes the task of mapping the WebDriver protocol to this underlying A
a set of different underlying APIs--for example, the UiAutomator2 driver relies not only on the
[UiAutomator2](https://developer.android.com/training/testing/other-components/ui-automator)
technology from Google, but also functions only available through
[ADB](https://developer.android.com/studio/command-line/adb), as well as functions only available
[ADB](https://developer.android.com/tools/adb), as well as functions only available
via the Android SDK inside a helper app). Tying it all together into a single, usable, WebDriver
interface is the incredibly useful (but incredibly challenging) art of driver development!
+2 -2
View File
@@ -137,8 +137,8 @@ already had well over 1,000 commits.
Appium began to grow and mature significantly. In May 2014,
we released Appium 1.0, which stood as a milestone in Appium's development.
Appium was given
[various](http://sauceio.com/index.php/2014/01/appium-selected-as-a-black-duck-open-source-rookie-of-the-year/)
[awards](http://sauceio.com/index.php/2014/10/appium-wins-a-bossy-award-from-infoworld/)
[various](https://www.prnewswire.com/news-releases/black-duck-announces-black-duck-open-source-rookies-of-the-year-winners-242383341.html)
[awards](https://www.infoworld.com/article/2241247/164642-bossie-awards-2014-the-best-open-source-application-development-tools.html)
and became the most popular open-source cross-platform mobile automation
framework. Stability improved, bugs were prioritized and fixed, and features
added. Sauce Labs increased the number of developers it donated to working
+4 -4
View File
@@ -12,10 +12,10 @@ running Appium and writing Appium scripts.
The basic plan for this quickstart is as follows:
1. Install Appium
1. Install an Appium driver and its dependencies (we'll be using the [UiAutomator2
driver](https://github.com/appium/appium-uiautomator2-driver) for these examples)
1. Install an Appium client library in your language of choice (this guide contains options for
JavaScript, Python, Java, Ruby, and .NET).
1. Install an Appium driver and its dependencies
- This guide provides instructions for the [UiAutomator2 driver](https://github.com/appium/appium-uiautomator2-driver)
1. Install an Appium client library in your language of choice
- This guide contains options for JavaScript, Python, Java, Ruby, and .NET
1. Write and run a simple Appium automation script using a sample application
### Requirements
+22 -7
View File
@@ -9,27 +9,42 @@ title: Install Appium
Before installing, make sure to check the [System Requirements](./requirements.md).
You can install Appium globally using `npm`:
Appium can be installed globally using `npm`:
```bash
npm i -g appium
npm install -g appium
```
!!! note
Other package managers are not currently supported.
After installation, you should be able to run Appium from the command line:
## Starting Appium
Appium can be started [using the command line](../cli/index.md):
```
appium
```
You should see some output that starts with a line like this:
This launches the Appium server process, which loads all the installed Appium drivers, and
begins waiting for new session requests from client connections (such as test automation scripts).
Since the server process is independent from its clients, it must be explicitly launched before
attempting to start a new session.
When the server is launched, the console log will list all the valid URLs that clients can use to
connect to this server:
```
[Appium] Welcome to Appium v2.0.0
[Appium] You can provide the following URLs in your client code to connect to this server:
[Appium] http://127.0.0.1:4723/ (only accessible from the same host)
(... any other URLs ...)
```
That's it! If you see this, the Appium server is up and running. Go ahead and quit
it (Ctrl-C) and move on to the [next step](./uiauto2-driver.md), where we'll install a driver for automating Android apps.
Once a client requests a new session, the Appium server process will start logging all details about
this session until its termination. Keep this in mind - if you ever encounter issues with Appium
tests, you can always check the server log for more details.
So what's next? Even though Appium is installed and running, it does not come bundled with any
drivers, which means it cannot automate anything yet. We will therefore set up automation for
Android - continue to [Installing the UiAutomator2 Driver](./uiauto2-driver.md).
@@ -9,6 +9,7 @@ The basic requirements for the Appium server are:
* A macOS, Linux, or Windows operating system
* [Node.js](https://nodejs.org) version in the [SemVer](https://semver.org) range `^14.17.0 || ^16.13.0 || >=18.0.0`
* LTS is recommended
* [`npm`](https://npmjs.com) version `>=8` (`npm` is usually bundled with Node.js, but can be upgraded
independently)
@@ -23,6 +24,6 @@ documentation of the [Appium driver(s)](../ecosystem/drivers.md) for that platfo
dependencies. It is almost universally the case that Appium drivers for a given platform will
require the developer toolchain and SDKs for that platform to be installed.
You may find it useful to use the `appium-doctor` tool for verifying if all driver requirements are
installed. It can check the prerequisites for Android and iOS drivers.
Learn more on its GitHub page: [Appium Doctor](https://github.com/appium/appium/tree/master/packages/doctor)
In order to assist with driver requirements, each (official) driver comes with the Appium Doctor tool,
which allows to verify if all requirements have been set up. Learn more about how to use this tool in
the [Command-Line Usage documentation](../cli/extensions.md#doctor).
@@ -47,6 +47,11 @@ contents:
[WebdriverIO documentation](https://webdriver.io/docs/gettingstarted) for a fuller explanation
of the various API commands you see and what their purpose is.
!!! note
The sample code is available from [GitHub Appium repository](https://github.com/appium/appium/tree/master/packages/appium/sample-code/quickstarts/js).
Basically, this code is doing the following:
1. Defining a set of "Capabilities" (parameters) to send to the Appium server so Appium knows what
@@ -68,4 +73,3 @@ If all goes well, you'll see the Settings app open up and navigate to the "Batte
app closes again.
Congratulations, you've started your Appium journey! Read on for some [next steps](./next-steps.md) to explore.
@@ -26,11 +26,17 @@ You usually do not need to worry about the prefix.
It's not within the scope of this guide to give a complete run-down on the Python client
library or everything that's happening here, so we'll leave the code itself unexplained in detail for now.
- You may want to read up particularly on Appium [Capabilities](../guides/caps.md).
- [functional test code](https://github.com/appium/python-client/tree/master/test/functional) in Python Client GitHub repository should help to find more working example.
- [Documentation](https://appium.github.io/python-client-sphinx/) also helps to find methods
defined in the Appium Python Client.
!!! note
The sample code is available from [GitHub Appium repository](https://github.com/appium/appium/tree/master/packages/appium/sample-code/quickstarts/py).
Basically, this code is doing the following:
1. Defining a set of "Capabilities" (parameters) to send to the Appium server so Appium knows what
+29 -5
View File
@@ -6,12 +6,32 @@ title: Write a Test (Ruby)
---
The [AppiumLib](https://github.com/appium/ruby_lib) and the [AppiumLibCore](https://github.com/appium/ruby_lib_core) (**recommended**) are official Appium client libraries in Ruby, which are available via gem under the [appium_lib](https://rubygems.org/gems/appium_lib) and the [appium_lib_core](https://rubygems.org/gems/appium_lib_core) package names. The appium_lib_core inherits from the Selenium Ruby Binding, and the appium_lib inherits from the appium_lib_core, so installing these libraries include the selenium binding. We recommend `appium_lib_core` if you need a less complex client-side solution. The `appium_lib` has some useful methods the core does not have, but for the cost of greater complexity.
The [AppiumLib](https://github.com/appium/ruby_lib) and the [AppiumLibCore](https://github.com/appium/ruby_lib_core) (**recommended**) are official Appium client libraries in Ruby, which are available via gem under the [appium_lib](https://rubygems.org/gems/appium_lib) and the [appium_lib_core](https://rubygems.org/gems/appium_lib_core) package names. The appium_lib_core inherits from the Selenium Ruby Binding, and the appium_lib inherits from the appium_lib_core, so installing these libraries include the selenium binding. We recommend `appium_lib_core` if you need a less complex client-side solution. The `appium_lib` has some useful methods the core does not have, but for the cost of greater complexity and historical methods which may not work in the latest environment.
As the first step, let's initialize a Gemfile to manage the dependency:
```bash
gem install appium_lib
bundle init
```
Then, you could add Appium Ruby Client dependency as below:
```bash
bundle add appium_lib_core
# or
gem install appium_lib_core
# bundle add appium_lib
```
Test code example below uses `test-unit` module, thus please run:
```bash
bundle add test-unit
```
Once these steps has done, your `Gemfile` file should include:
```ruby title="Gemfile"
--8<-- "./sample-code/quickstarts/rb/Gemfile"
```
The `appium_lib_core` is the main part as an Appium client.
@@ -21,7 +41,7 @@ The `appium_lib_core` is the main part as an Appium client.
This example is by the `appium_lib_core` with `test-unit` gem module.
Tes code in `appium_lib` should be similar.
```python title="test.py"
```ruby title="test.rb"
--8<-- "./sample-code/quickstarts/rb/test.rb"
```
@@ -34,6 +54,10 @@ Tes code in `appium_lib` should be similar.
- [functional test code](https://github.com/appium/ruby_lib_core/tree/master/test/functional) in the appium_lib_core GitHub repository should help to find more working example.
- Documentation [appium_lib_core](https://www.rubydoc.info/github/appium/ruby_lib_core) and [appium_lib](https://www.rubydoc.info/github/appium/ruby_lib) also helps to find available methods.
!!! note
The sample code is available from [GitHub Appium repository](https://github.com/appium/appium/tree/master/packages/appium/sample-code/quickstarts/rb).
Basically, this code is doing the following:
@@ -49,7 +73,7 @@ running in another terminal session, otherwise you'll get an error about not bei
to one. Then, you can execute the script:
```bash
bundle install
# Please run "bundle install" first if your environment has not run the installation command yet.
bundle exec ruby test.rb
```
@@ -60,8 +60,14 @@ set up on your system, so you can get busy making Android apps if you want!
## Install the driver itself
Since the UiAutomator2 driver is maintained by the core Appium team, it has an 'official' driver
name that you can use to install it easily via the [Appium Extension CLI](../cli/extensions.md):
### Standard Install
Like all Appium drivers, the UiAutomator2 driver is installed via the [Appium Extension CLI](../cli/extensions.md).
Since UiAutomator2 is maintained by the core Appium team, it has an 'official' driver name
(`uiautomator2`), which makes the installation simpler.
Before installing, make sure your Appium server is _not_ running (if it is, quit it with _Ctrl-C_).
Then run the following command:
```bash
appium driver install uiautomator2
@@ -77,11 +83,9 @@ Driver uiautomator2@2.0.5 successfully installed
- platformNames: ["Android"]
```
Running this command will locate and install the latest version of the UiAutomator2 driver, making
it available for automation. Note that when it is installed it tells you what platforms it is valid
for (in this case, `Android`), and what automation name (the `appium:automationName`
[capability](../guides/caps.md)) must be used to select this driver for use during an Appium
session (in this case, `UiAutomator2`).
Note how the installation process specifies what platforms is the driver valid for (in this case,
`Android`), and what automation name (the `appium:automationName` [capability](../guides/caps.md))
must be used to select this driver for use during an Appium session (in this case, `UiAutomator2`).
!!! note
@@ -90,6 +94,34 @@ session (in this case, `UiAutomator2`).
prefer to use `npm` to manage Appium and its connected drivers. To learn more about this
technique, visit the guide on [managing Appium extensions](../guides/managing-exts.md).
### Batch Install
You may want to use Appium with more than one driver. One way to accomplish this is to run
`appium driver install <driver-name>` for each individual driver, but you can also install multiple
drivers in one go:
```
appium setup
```
Running this will install Appium's mobile-specific drivers: UiAutomator2, [XCUITest](https://appium.github.io/appium-xcuitest-driver/)
(only if running macOS), and [Espresso](https://github.com/appium/appium-espresso-driver).
You can also use this command to batch install drivers for desktop applications or desktop browsers.
For more details on this, refer to the [Setup command documentation](../cli/setup.md).
### Validating the Install
The UiAutomator2 driver, like all official Appium drivers, comes with the Appium Doctor tool, which
allows validating whether all prerequisites have been set up correctly:
```
appium driver doctor uiautomator2
```
This guide has focused on essential requirements, so Appium Doctor may suggest one or more optional
fixes. But if you see `0 required fixes needed`, that means everything is set up!
Now, start the Appium server again (run `appium`), and you should see that the newly-installed
driver is listed as available:
+55
View File
@@ -0,0 +1,55 @@
---
hide:
- navigation
- toc
title: Sponsors & Backers
---
<style>
.appium-sponsor-thanks { display: none; }
</style>
Appium is an Apache-2 licensed open source project whose development is made possible entirely by
donations of time and money by individuals and companies who benefit from our software and our
mission. If you'd like to join this amazing group and help ensure Appium's continued development
and maintenance, you can contribute via [Appium's OpenCollective
Hub](https://opencollective.com/appium).
## Development Partners
We are very grateful for the support of our Development Partners, who donate Appium development and
maintenance as part of their employees' core job duties!
## Strategic Partners
We are very grateful for the financial and marketing support of our exclusive Strategic Partners,
who contribute a significant ongoing investment of funds to help the project attract and reward
contributors!
<a href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">
<picture>
<source srcset="../assets/images/sponsor-logo-browserstack-dark.png" media="(prefers-color-scheme: dark)"/>
<source srcset="../assets/images/sponsor-logo-browserstack-light.png" media="(prefers-color-scheme: light)"/>
<img src="../assets/images/sponsor-logo-browserstack-dark.png" width="250" alt="Browserstack"/>
</picture>
</a>
<a style="padding-left: 1em" href="https://saucelabs.com/resources/blog/appium-strategic-partner" target="_blank"><img src="../assets/images/sponsor-logo-sauce.png" width="250"/></a>
## Gold Sponsors
<a href="https://opencollective.com/appium" target="_blank"><img src="https://opencollective.com/appium/tiers/gold-sponsor.svg?avatarHeight=100&button=false&random=1"/></a>
[Become a Gold Sponsor](https://opencollective.com/appium/contribute/gold-sponsor-72877/checkout?interval=month&amount=500&contributeAs=me)
## Silver Sponsors
<a href="https://opencollective.com/appium" target="_blank"><img src="https://opencollective.com/appium/tiers/silver-sponsor.svg?avatarHeight=80&button=false&random=1"/></a>
[Become a Silver Sponsor](https://opencollective.com/appium/contribute/silver-sponsor-72876/checkout?interval=month&amount=250&contributeAs=me)
## Bronze Sponsors
<a href="https://opencollective.com/appium" target="_blank"><img src="https://opencollective.com/appium/tiers/sponsors.svg?avatarHeight=60&button=false&random=1"/></a>
[Become a Bronze Sponsor](https://opencollective.com/appium/contribute/sponsors-70690/checkout?interval=month&amount=100&contributeAs=me)
+2
View File
@@ -0,0 +1,2 @@
# Blog
+8 -4
View File
@@ -8,6 +8,7 @@ theme:
language: en
nav:
- Welcome: index.md
- Blog: blog/index.md
- Introduction:
- intro/index.md
- Background:
@@ -38,6 +39,7 @@ nav:
- cli/args.md
- cli/env-vars.md
- cli/extensions.md
- cli/setup.md
- Command Reference:
- commands/index.md
- commands/base-driver.md
@@ -50,6 +52,7 @@ nav:
- guides/migrating-1-to-2.md
- Server/Driver Configuration:
- guides/managing-exts.md
- guides/branch-testing.md
- guides/config.md
- guides/security.md
- guides/log-filters.md
@@ -68,7 +71,8 @@ nav:
- developing/build-drivers.md
- developing/build-plugins.md
- developing/build-docs.md
- Contributing:
- contributing/index.md
- contributing/develop.md
- contributing/config-system.md
- developing/build-doctor-checks.md
- Developer Reference:
- developing/config-system.md
- Contributing: contributing.md
- Sponsors: sponsors.md
+50 -28
View File
@@ -8,49 +8,71 @@ theme:
language: zh
nav:
- 首页: index.md
- 博客: blog/index.md
- 简介:
- 介绍 Appium:
- Appium 概述: intro/index.md
- intro/index.md
- 背景:
- intro/appium.md
- intro/drivers.md
- intro/clients.md
- intro/requirements.md
- 历史: intro/history.md
- intro/history.md
- 快速开始:
- quickstart/index.md
- quickstart/requirements.md
- quickstart/install.md
- quickstart/uiauto2-driver.md
- 编写测试:
- Write a Test:
- quickstart/test-js.md
- quickstart/test-py.md
- quickstart/test-java.md
- quickstart/test-rb.md
- quickstart/test-dotnet.md
- quickstart/next-steps.md
- 生态系统:
- ecosystem/index.md
- 开发 Appium 扩展:
- ecosystem/build-drivers.md
- ecosystem/build-plugins.md
- ecosystem/build-docs.md
- 命令行参考:
- ecosystem/drivers.md
- ecosystem/clients.md
- ecosystem/plugins.md
- ecosystem/tools.md
- CLI Reference:
- cli/index.md
- cli/args.md
- cli/env-vars.md
- cli/extensions.md
- cli/setup.md
- Command Reference:
- ../en/commands/base-driver.md
- ../en/commands/execute-driver-plugin.md
- ../en/commands/images-plugin.md
- ../en/commands/relaxed-caps-plugin.md
- ../en/commands/universal-xml-plugin.md
- commands/index.md
- commands/base-driver.md
- commands/execute-driver-plugin.md
- commands/images-plugin.md
- commands/relaxed-caps-plugin.md
- commands/universal-xml-plugin.md
- 指南:
- guides/migrating-1-to-2.md
- guides/managing-exts.md
- guides/config.md
- guides/security.md
- guides/caps.md
- guides/context.md
- guides/settings.md
- guides/execute-script-overload.md
- guides/event-timing.md
- guides/log-filters.md
- guides/grid.md
- 更多 Appium 资源: resources.md
- 贡献: contributing/index.md
- Migration:
- guides/migrating-1-to-2.md
- Server/Driver Configuration:
- guides/managing-exts.md
- guides/branch-testing.md
- guides/config.md
- guides/security.md
- guides/log-filters.md
- guides/grid.md
- guides/caching.md
- guides/tls.md
- Session Configuration:
- guides/caps.md
- guides/settings.md
- guides/execute-methods.md
- guides/context.md
- guides/event-timing.md
- 更多资源: resources.md
- 开发:
- developing/index.md
- developing/build-drivers.md
- developing/build-plugins.md
- developing/build-docs.md
- developing/build-doctor-checks.md
- 贡献:
- contributing/index.md
- contributing/develop.md
- contributing/config-system.md

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

@@ -0,0 +1,31 @@
.md-source__fact--version {
display: none;
}
.md-source__fact:nth-child(1n + 2):before {
margin-left: 0 !important;
}
.appium-sponsor-thanks {
width: 100%;
margin: 0.5rem 0.6rem auto 0.6rem;
display: flex;
align-items: center;
}
.appium-sponsor-thanks img {
margin: auto 6px;
height: 40px;
}
.homepageSponsors {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
margin: 10px auto;
max-width: 800px;
}
.homepageSponsor {
flex: 1;
}
@@ -0,0 +1,79 @@
<!-- Footer -->
<footer class="md-footer">
<!-- Link to previous and/or next page -->
{% if "navigation.footer" in features %}
{% if page.previous_page or page.next_page %}
{% if page.meta and page.meta.hide %}
{% set hidden = "hidden" if "footer" in page.meta.hide %}
{% endif %}
<nav
class="md-footer__inner md-grid"
aria-label="{{ lang.t('footer') }}"
{{ hidden }}
>
<!-- Link to previous page -->
{% if page.previous_page %}
{% set direction = lang.t("footer.previous") %}
<a
href="{{ page.previous_page.url | url }}"
class="md-footer__link md-footer__link--prev"
aria-label="{{ direction }}: {{ page.previous_page.title | e }}"
>
<div class="md-footer__button md-icon">
{% set icon = config.theme.icon.previous or "material/arrow-left" %}
{% include ".icons/" ~ icon ~ ".svg" %}
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
{{ direction }}
</span>
<div class="md-ellipsis">
{{ page.previous_page.title }}
</div>
</div>
</a>
{% endif %}
<!-- Link to next page -->
{% if page.next_page %}
{% set direction = lang.t("footer.next") %}
<a
href="{{ page.next_page.url | url }}"
class="md-footer__link md-footer__link--next"
aria-label="{{ direction }}: {{ page.next_page.title | e }}"
>
<div class="md-footer__title">
<span class="md-footer__direction">
{{ direction }}
</span>
<div class="md-ellipsis">
{{ page.next_page.title }}
</div>
</div>
<div class="md-footer__button md-icon">
{% set icon = config.theme.icon.next or "material/arrow-right" %}
{% include ".icons/" ~ icon ~ ".svg" %}
</div>
</a>
{% endif %}
</nav>
{% endif %}
{% endif %}
<!-- Further information -->
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<!-- Sponsor thanks -->
{% include "partials/sponsors.html" %}
{% include "partials/copyright.html" %}
<!-- Social links -->
{% if config.extra.social %}
{% include "partials/social.html" %}
{% endif %}
</div>
</div>
</footer>
@@ -0,0 +1,11 @@
<div class="appium-sponsor-thanks">
Supported by
<a href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">
<img src="/docs/en/latest/assets/images/sponsor-logo-browserstack-dark.png" />
</a>
<a href="https://saucelabs.com/resources/blog/appium-strategic-partner">
<img src="/docs/en/latest/assets/images/sponsor-logo-sauce.png" />
</a>
</div>
@@ -20,7 +20,6 @@ const {
DOCS_REMOTE,
LATEST_ALIAS,
} = require('./utils');
const copyAssets = require('./copy-assets');
const path = require('path');
const semver = require('semver');
const {version} = require('../../package.json');
@@ -35,8 +34,6 @@ const push = Boolean(process.env.APPIUM_DOCS_PUBLISH);
async function main() {
log.info(`Building Appium docs and committing to ${DOCS_BRANCH}`);
await copyAssets();
const semVersion = semver.parse(version);
if (!semVersion) {
throw new Error(`Could not parse Appium version "${version}" as semver`);
@@ -1,34 +0,0 @@
/**
* This script copies generic assets from `ASSETS_DIR` to each docs language dir.
*/
// @ts-check
// for simplicity this file is not transpiled and is run directly via an npm script
/* eslint-disable promise/prefer-await-to-callbacks */
/* eslint-disable promise/prefer-await-to-then */
const {fs} = require('@appium/support');
const {log, LANGS, DOCS_DIR, ASSETS_DIR} = require('./utils');
const path = require('path');
async function main() {
log.info('Copying generic assets to docs language dirs');
for (const lang of LANGS) {
const langPath = path.join(DOCS_DIR, lang);
const langAssetPath = path.join(langPath, 'assets');
log.info(`Deleting ${langAssetPath}`);
await fs.rimraf(langAssetPath);
log.info(`Copying assets into ${langAssetPath}`);
await fs.copyFile(ASSETS_DIR, langAssetPath);
}
}
if (require.main === module) {
main().catch((err) => {
throw err;
});
}
module.exports = main;
+19
View File
@@ -0,0 +1,19 @@
authors:
jlipps:
name: 'Jonathan Lipps'
description: 'Appium project lead. Learn more about Jonathan at https://jlipps.com'
avatar: 'https://gravatar.com/avatar/fdaadd825d92709bcf7fe76dffa12c40681c6108c67bcddf19478b2d00e3794b.jpg'
slug: 'jlipps'
url: 'https://jlipps.com'
srini:
name: 'Srinivasan Sekar'
description: 'Appium Maintainer'
avatar: 'https://avatars.githubusercontent.com/u/8896549?v=4'
slug: 'srini'
url: 'https://srini.codes'
sai:
name: 'Sai krishna'
description: 'Appium Maintainer'
avatar: 'https://avatars.githubusercontent.com/u/4045041?v=4'
slug: 'sai'
url: 'https://saikrishna.tech'
+2
View File
@@ -0,0 +1,2 @@
# 博客
@@ -0,0 +1,45 @@
---
authors:
- srini
- sai
date: 2024-07-13
---
# Appium Conf 2024: Call for Proposals Now Open!
We're thrilled to announce that Appium Conf is back and going online for 2024! This is the official Appium conference where you can learn all about what's new in Appium 2.0 and explore the latest in automating tests for devices, mobile apps, and desktop applications.
<!-- more -->
<div style="text-align:center;width:100%">
<a href="https://confengine.com/conferences/appium-conf-2024/proposals?utm_medium=referal&utm_source=appium.io&utm_campaign=launch">
<img id="image-36-42" alt="Appium Conf logo" src="https://appiumconf.com/wp-content/uploads/2021/06/Appium-Conf-Logo.svg" data-src="https://appiumconf.com/wp-content/uploads/2021/06/Appium-Conf-Logo.svg" decoding="async">
</a>
</div>
## Mark Your Calendars: September 13, 2024
Join us on September 13, 2024, for a full day of inspiring and practical talks from the Appium team and the world's top mobile testing and automation experts. With Appium 2.0 now well-established, this is your opportunity to dive deep and learn how to maximize its potential.
## Why Attend Appium Conf 2024?
1. **Gain Insights**: Hear interesting insights and inspiring case studies from global experts and the core Appium team.
2. **Improve Your Strategy**: Gain valuable knowledge to enhance your own automation strategy.
3. **Network**: Make connections with Appium users from around the globe.
4. **Learn from Specialists**: Benefit from Appium specialists' expertise on a variety of topics.
## Call for Proposals: Share Your Knowledge!
We're looking for a diverse range of speakers from around the globe who are eager to share innovative ideas and use-cases of mobile test automation. If you have experience with Appium and insights that could benefit the community of test practitioners, we want to hear from you!
Don't miss this chance to contribute to the Appium community and showcase your expertise on a global stage.
## How to Submit Your Proposal
Visit our website at [https://appiumconf.com/](https://appiumconf.com/) and [Submit a Proposal](https://confengine.com/conferences/appium-conf-2024/proposals?utm_medium=referal&utm_source=appium.io&utm_campaign=launch). We're excited to see your innovative ideas and experiences with Appium!
## Stay Tuned
Keep an eye on our website and social media channels for updates on the conference schedule, keynote speakers, and more exciting details about Appium Conf 2024.
Join us in shaping the future of mobile and device test automation. Submit your proposal today and be part of this exciting event!
@@ -0,0 +1,46 @@
---
authors:
- jlipps
date: 2024-06-10
---
# Announcing BrowserStack as Appium's Strategic Partner
We have another exciting announcement for you! As part of our recently-announced [sponsorship and
contributor compensation
program](https://appium.io/docs/en/latest/blog/2024/05/14/announcing-appiums-sponsorship-program/),
we are obviously in need of significant funding to support giving back to our contributor
community. We are therefore extremely happy to announce one of our brand new exclusive Strategic Partners: <a
href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">BrowserStack</a>!
<!-- more -->
<div style="text-align:center;width:100%">
<a href="https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium">
<img src="/docs/en/latest/assets/images/sponsor-logo-browserstack-dark.png#only-dark" width="300" />
<img src="/docs/en/latest/assets/images/sponsor-logo-browserstack-light.png#only-light" width="300" />
</a>
</div>
BrowserStack has long been recognized in the industry as having extensive support for Appium,
allowing you to run functional and visual regression tests for your native and hybrid apps at scale
across a variety of devices and platforms.
As a token of this collaboration, BrowserStack is extending a special premium access of
BrowserStack App Automate product to Appium users. Discover more about this special offer at
[browserstack.com](https://www.browserstack.com/browserstack-appium?utm_campaigncode=701OW00000AoUTQYA3&utm_medium=partnered&utm_source=appium&utm_term=partannouncement)
With the decision to come on board as Strategic Partner, BrowserStack is making a huge investment
in Appium and the Appium community. BrowserStack is very interested in supporting the development
of the Appium contributor base, and is proud to be a key part of our contributor compensation
scheme. Without Strategic Partners like BrowserStack, we would not be able to maintain such
a program! We welcome them with gratitude!
**About BrowserStack**
<em>BrowserStack is the world’s leading software testing platform powering over two million tests every
day across 19 global data centers. BrowserStack helps Tesco, Shell, NVIDIA, Discovery, Wells Fargo,
and over 50,000 customers deliver quality software at speed by moving testing to their Cloud.
BrowserStack’s platform provides instant access to 20,000+ real mobile devices on a highly reliable
cloud infrastructure that effortlessly scales as testing needs grow. With BrowserStack, Dev and QA
teams can move fast while delivering an amazing experience for every customer.</em>
@@ -0,0 +1,47 @@
---
authors:
- jlipps
date: 2024-06-06
---
# Announcing HeadSpin as Appium's Development Partner
Recently, we announced a new [sponsorship and contributor compensation program](https://appium.io/docs/en/latest/blog/2024/05/14/announcing-appiums-sponsorship-program/) for the Appium
project. As part of this program, we felt it was important to have a place to recognize those
companies who make an extremely valuable kind of contribution to the project: dedicated maintainer
time. Appium only survives because of the tireless efforts of the core maintainers, and some of us
are only able to do this work because it is donated on behalf of our day jobs. We're therefore very
excited to announce our first Development Partner: <a
href="https://www.headspin.io/solutions/appium-mobile-test-automation">HeadSpin</a>!
<!-- more -->
<div style="text-align:center;width:100%">
<a href="https://www.headspin.io/solutions/appium-mobile-test-automation"><img
src="/docs/en/latest/assets/images/sponsor-logo-headspin.png" style="width: 300px"/></a>
</div>
HeadSpin is a real device performance and UX analysis cloud, with full support for Appium. When you
run your Appium tests on HeadSpin, you get access to comprehensive performance reports about your
app, including potential network, system resource, or user experience issues. HeadSpin supports
a variety of complex testing modes, including hooking up your own devices to the cloud, injecting
and receiving video and audio to/from devices, working with media (streaming) platforms, and more.
HeadSpin has been one of the Appium project's biggest supporters for a long time, and currently
employs two of Appium's core maintainers, donating a significant portion of their time towards the
development, maintenance, support, and leadership of open source Appium repos. HeadSpin has also
worked hard towards Appium's vision of a robust Appium ecosystem, contributing several
HeadSpin-maintained Appium drivers and plugins to the community:
- A [Roku TV driver](https://github.com/headspinio/appium-roku-driver)
- A [Tizen TV driver](https://github.com/headspinio/appium-tizen-tv-driver/)
- A [LG webOS TV driver](https://github.com/headspinio/appium-lg-webos-driver/)
- A [Unity game automation plugin](https://github.com/headspinio/appium-altunity-plugin)
These are all free and open source Appium components that HeadSpin has donated to the community
with the goal of fostering collaboration in these areas of media app automation.
Looking to the future, HeadSpin plans to continue supporting Appium in significant ways, both as
a Development Partner and a significant contributor to the Appium ecosystem. The Appium project is
deeply indebted to HeadSpin for all of its support, and is proud to take this moment to recognize
HeadSpin as our first official Development Partner!
@@ -0,0 +1,36 @@
---
authors:
- jlipps
date: 2024-06-10
---
# Announcing Sauce Labs as Appium's Strategic Partner
The good news surrounding our new [sponsorship and contributor compensation
program](https://appium.io/docs/en/latest/blog/2024/05/14/announcing-appiums-sponsorship-program/)
just keeps coming! Effective immediately we are fortunate and excited to be able to welcome a new Strategic Partner to
the Appium project: <a href="https://saucelabs.com/resources/blog/appium-strategic-partner">Sauce Labs</a>!
<!-- more -->
<div style="text-align:center;width:100%">
<a href="https://saucelabs.com/resources/blog/appium-strategic-partner"><img src="/docs/en/latest/assets/images/sponsor-logo-sauce.png" style="width: 300px"/></a>
</div>
Sauce Labs has a long history of support for the Appium project. In fact, Appium was initially
incubated at Sauce Labs under the direction of [@jlipps](https://github.com/jlipps), in the early
days of mobile automation. Sauce Labs always envisioned Appium as being a project for and by the
community, and cemented this perspective in 2016 with the donation of Appium to the JS Foundation
(now the [OpenJS Foundation](https://openjsf.org/)). To this day, developers associated with Sauce
Labs continue to help maintain various parts of the Appium project.
Now, Sauce Labs is making a further commitment to support Appium financially as a way to enable
our new contributor compensation program. We're very excited about this program as a vehicle for
getting more people involved in Appium's development and maintenance. With the help of Strategic
Partners like Sauce Labs, our project will be better able to meet the needs of our constantly
growing userbase, and attract new developers (like you?) to build the Appium ecosystem together.
Needless to say, we are extremely grateful for Sauce Labs's support!
**About Sauce Labs**
<em>Sauce Labs is the leader in continuous quality. Our Platform for Test helps organizations transform software testing from a chore to a competitive advantage. With decades of expertise and deep roots in the Selenium and Appium open source communities, high performing software teams use our platform to execute any testing workload across thousands of different devices, browsers, and operating systems—anywhere, any time, and at any scale. For more information, please visit [saucelabs.com](https://saucelabs.com).</em>
@@ -0,0 +1,48 @@
---
authors:
- jlipps
date: 2024-05-14
---
# Announcing Appium's Sponsorship Program
Over the last several months, the Appium team has been working on a sponsorship program that is
designed to help give back to Appium's contributors as well as to recognize important partner
individuals or companies in the industry. This program is now officially launching! Let's dive into
some of the details.
<!-- more -->
First of all, the details and fine print will always be available at Appium's [Governance
document](https://github.com/appium/appium/blob/master/GOVERNANCE.md), which outlines how the
project is run, who makes project decisions, etc... This document will be kept up to date with the
latest details of the program, so that's the place to bookmark for reference!
As of now, Appium has opened up sponsorship opportunities via our [OpenCollective
page](https://opencollective.com/appium). OpenCollective is a service which allows people to donate
to open source groups. We've defined a number of giving tiers for donations, within a very wide
range, and welcome any financial amount with gratitude! Based on the donation tier, sponsorship
comes with a variety of benefits, including recognition at different places in the Appium repo,
docs, and website. In addition to financial sponsorship, the project has decided to recognize
significant donations of project leadership and maintenance efforts from companies who have
invested heavily into Appium with their employees' time (we call these "Development Partners").
What will the project do with the funds raised through this sponsorship program? We aim to give it
all back to the Appium community! With the details again available at our [Governance document](https://github.com/appium/appium/blob/master/GOVERNANCE.md),
we have implemented a scheme very much inspired by our friends at [WebdriverIO](https://webdriver.io/blog/2024/02/15/new-contributor-stipend-program) (thanks WDIO
friends!) There are three groups of contributors to Appium that this scheme supports: (1) project
maintainers (those who devote consistent time to leading the project), (2) project contributors
(anyone in the wider community that contributes code or documentation), and (3) upstream projects
(other open source projects Appium relies heavily on to work well). Each month, the funds raised
via sponsorship will be distributed in different amounts to each of these groups. So if you
make a valuable contribution to Appium moving forward, you'll be eligible to get some cash as
a thank-you! (You'll need to have your own OpenCollective account in good standing to receive
funds).
We're very excited about this new program, and hope that it helps existing and new contributors to
feel even better about donating their time to making Appium better. And of course, none of this
would be possible without the amazing Partners and Sponsors we hope to attract! On that note, stay
tuned over the next few weeks as we unveil some of our initial program launch Partners! And if you
or your company would like to participate by supporting Appium financially, you are most welcome.
Just head over to our OpenCollective page and choose the tier that reflects your desired
contribution level.
@@ -0,0 +1,15 @@
---
authors:
- jlipps
date: 2024-03-07
---
# Hello World!
This is the first post in the Appium blog. There's not much to see here yet. We're creating this
space so we can make announcements or post other news, or information about events, that don't
really fit inside the documentation itself.
<!-- more -->
Stay tuned for more!
+66 -2
View File
@@ -1,5 +1,69 @@
---
title: Server CLI Args
hide:
- toc
title: Server Command-Line Arguments
---
TODO
To start the Appium server, you may either run `appium` or `appium server`. The `server` subcommand
is considered to be the default, so if you omit it, Appium will interpret this as your request to
run the Appium server.
The invocation of `appium` (or `appium server`) can take a number of arguments, which are detailed
below.
!!! note
All of these arguments can be set via a [Configuration File](../guides/config.md) instead if
you want. Any arguments set on the command line will override any arguments found in
a configuration file.
|<div style="width:12em">Argument</div>|Description|Type|<div style="width:8em">Default</div>|Aliases|
|--|--|--|--|--|
|`--address`|IP address to listen on|string|`0.0.0.0`|`-a`|
|`--allow-cors`|Whether the Appium server should allow web browser connections from any host|boolean|`false`||
|`--allow-insecure`|Set which insecure features are allowed to run in this server's sessions. Features are defined on a driver level; see documentation for more details. Note that features defined via `--deny-insecure` will be disabled, even if also listed here. If string, a path to a text file containing policy or a comma-delimited list.|array<string>|`[]`||
|`--base-path`|Base path to use as the prefix for all webdriver routes running on the server|string|`""`|`-pa`|
|`--callback-address`|Callback IP address (default: same as `--address`)|string||`-ca`|
|`--callback-port`|Callback port (default: same as `--port`) (Value must be between `1` and `65535`)|integer|`4723`|`-cp`|
|`--config`|Path to an [Appium configuration JSON file](../guides/config.md)|string|||
|`--debug-log-spacing`|Add exaggerated spacing in logs to help with visual inspection|boolean|`false`||
|`--default-capabilities`|Set the default desired capabilities, which will be set on each session unless overridden by received capabilities. If a string, a path to a JSON file containing the capabilities, or raw JSON.|object||`-dc`|
|`--deny-insecure`|Set which insecure features are not allowed to run in this server's sessions. Features are defined on a driver level; see documentation for more details. Features listed here will not be enabled even if also listed in `--allow-insecure`, and even if `--relaxed-security` is enabled. If string, a path to a text file containing policy or a comma-delimited list.|array<string>|`[]`||
|`--driver`|Driver-specific configuration. Keys should correspond to driver package names|object|||
|`--drivers-import-chunk-size`|The maximum amount of drivers that could be imported in parallel on server startup|number|`3`||
|`--keep-alive-timeout`|Number of seconds the Appium server should apply as both the keep-alive timeout and the connection timeout for all requests. Setting this to `0` disables the timeout.|integer|`600`|`-ka`|
|`--local-timezone`|Use local timezone for timestamps|boolean|`false`||
|`--log`|Also send log output to this file|string||`-g`|
|`--log-filters`|One or more log filtering rules|array|||
|`--log-level`|Log level (console[:file]) (Value must be one of: `info`, `info:debug`, `info:info`, `info:warn`, `info:error`, `warn`, `warn:debug`, `warn:info`, `warn:warn`, `warn:error`, `error`, `error:debug`, `error:info`, `error:warn`, `error:error`, `debug`, `debug:debug`, `debug:info`, `debug:warn`, `debug:error`)|string|`debug`||
|`--log-format`|Log format (Value must be to one of: `text`, `json`, `pretty_json`). If logs are printed as JSON then the text coloring is always disabled.|string|`text`||
|`--log-no-colors`|Do not use color in console output|boolean|`false`||
|`--log-timestamp`|Show timestamps in console output|boolean|`false`||
|`--long-stacktrace`|Add long stack traces to log entries. Recommended for debugging only.|boolean|`false`||
|`--no-perms-check`|Skip various permission checks on the server startup|boolean|`false`||
|`--nodeconfig`|Path to configuration JSON file to register Appium as a node with Selenium Grid 3; otherwise the configuration itself|string|||
|`--plugin`|Plugin-specific configuration. Keys should correspond to plugin package names|object|||
|`--plugins-import-chunk-size`|The maximum amount of plugins that could be imported in parallel on server startup|number|`7`||
|`--port`|Port to listen on (Value must be between `1` and `65535`)|integer|`4723`|`-p`|
|`--relaxed-security`|Disable additional security checks, so it is possible to use some advanced features, provided by drivers supporting this option. Only enable it if all the clients are in the trusted network and it's not the case if a client could potentially break out of the session sandbox. Specific features can be overridden by using `--deny-insecure`|boolean|`false`||
|`--session-override`|Enables session override (clobbering)|boolean|`false`||
|`--ssl-cert-path`|Absolute path to the `.cert` file if TLS is used. Must be provided together with `--ssl-key-path`. See the [SSL/TLS/SPDY Support guide](../guides/tls.md) for details|string|||
|`--ssl-key-path`|Absolute path to the `.key` file if TLS is used. Must be provided together with `--ssl-cert-path`. See the [SSL/TLS/SPDY Support guide](../guides/tls.md) for details|string|||
|`--strict-caps`|Cause sessions to fail if desired caps are sent in that Appium does not recognize as valid for the selected device|boolean|`false`||
|`--tmp`|Absolute path to directory Appium can use to manage temp files|string|Windows: `C:\Windows\Temp`<br>Others: `/tmp`||
|`--trace-dir`|Absolute path to directory Appium can use to save iOS instrument traces|string|`<tmp>/appium-instruments`||
|`--use-drivers`|A list of drivers to activate. By default, all installed drivers will be activated.|array<string>|`[]`||
|`--use-plugins`|A list of plugins to activate. To activate all plugins, the value should be an array with a single item `"all"`.|array<string>|`[]`||
|`--webhook`|Also send log output to this http listener|string||`-G`|
The following arguments are used for information retrieval, after which the server will automatically exit. They are therefore meant for reference or debug purposes.
|<div style="width:10em">Argument</div>|Description|Alias|
|--|--|--|
|`--help`|Print instructions on using the Appium command-line. This argument can also be used for any Appium subcommands.|`-h`|
|`--show-build-info`|Print detailed information on the Appium server version||
|`--show-config`|Print the current Appium server configuration details||
|`--show-debug-info`|Print information on the current environment: details about the operating system, Node.js, and Appium itself||
|`--version`|Print the Appium server version|`-v`|
+26
View File
@@ -0,0 +1,26 @@
---
hide:
- toc
title: Server Environment Variables
---
The primary way of configuring the Appium server is via [Command-Line Arguments](./args.md). However, some more
advanced features are toggled or configured via environment variables. To set environment
variables, refer to the documentation for your operating system and terminal. These are the
environment variables that the Appium server understands:
|Variable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|Description|
|--------|-----------|
|`APPIUM_HOME`|By default, Appium creates a directory called `.appium` in the home directory for your system user. You can adjust the directory with this variable, as detailed in the [Managing Extensions](../guides/managing-exts.md) guide.|
|`APPIUM_TMP_DIR`|By default, Appium uses a random temporary directory for many of its operations. If you wish to use a specific directory, you may do so by including an absolute path as the value of this variable. The behaviour is equivalent to using the `--tmp` CLI arg.|
|`APPIUM_PREFER_SYSTEM_UNZIP`|Set to `0` or `false` to request that Appium not use the `unzip` binary included on your system for unzipping downloaded apps or other artifacts. Instead it will use a JS-based unzip library. This could help on some systems with non-existent or non-standard `unzip` commands. Note that if unzipping fails using the system library, the fallback library will be attempted in any case, so setting this env var merely saves time in the event you know the system unzip will fail.|
|`APPIUM_HOST`|Same as the `--address` CLI arg|
|`APPIUM_PORT`|Same as the `--port` CLI arg|
|`APPIUM_RELOAD_EXTENSIONS`|Set to `1` to cause Appium to re-require extensions when new sessions are created. This is mostly useful for [building extensions](../developing/build-drivers.md)|
|`APPIUM_OMIT_PEER_DEPS`|Adds `--omit=peer` to all the NPM commands run internally by Appium. Mostly an internal feature.|
|`APPIUM_APPS_CACHE_MAX_AGE`|Allows to set the maximum age (in minutes) for [cached applications](../guides/caching.md). The default value is `60 * 24` (24 hours). Do not set it to a lower number than the duration of a single session startup.|
|`APPIUM_APPS_CACHE_MAX_ITEMS`|Allows to set the maximum amount of [cached applications](../guides/caching.md). The default value is `1024`. Do not set it to a lower number than the amount of apps in all parallel sessions per process.|
|`APPIUM_APPS_CACHE_IGNORE_URL_QUERY`| If the above option is enabled then the 'search' part of the app URL will be cut off from cache keys. See the corresponding
[feature request](https://discuss.appium.io/t/regarding-app-caching-when-using-aws-s3-presigned-urls/42713)
for more details. Disabled by default.|
+223 -2
View File
@@ -1,5 +1,226 @@
---
title: The Extension CLI
title: Extension Command-Line Usage
---
TODO
Appium allows for the flexible installation and management of various _extensions_, such as _drivers_
(which provide Appium with the capability to automate a given platform) and _plugins_ (which can
augment or alter the way individual Appium commands work). For a conceptual understanding of these
entities, please review the [Introduction](../intro/index.md).
Management of drivers and plugins is handled by Appium's Extension CLI (command-line interface).
!!! note
This reference uses placeholders to refer to various options. Anywhere you see one of these
placeholders in the reference, ensure you replace it with the correct type of actual content.
|Placeholder|Meaning|
|--|--|
|`<ext-type>`|"Extension type". It should be either `driver` or `plugin`. All the Extension CLI commands can be used with either drivers or plugins, so you must specify which type of extension will be used|
|`<ext-name>`|"Extension name". This is the short name of the extension found in a call to `appium <ext-type> list`. This is distinct from the NPM package name of the extension or, in general, the "install spec" of the extension.|
|`<install-spec>`|"Install specification". This refers to the string used to indicate what extension Appium should install.|
|`<install-source>`|This refers to the method that Appium should use to install an extension.|
## Commands
All Extension CLI commands begin with `appium <ext-type>`, i.e., either `appium driver` or `appium
plugin`.
All Extension CLI commands can take an optional `--json` argument, which will return the result of
the command as a machine-readable JSON string rather than the standard output, which is colourized
and tuned for human consumption.
### `doctor`
Run doctor checks for the given extension, which validate whether the extension has its prerequisites
configured correctly. Note that not all extensions include doctor checks. See the
[Building Doctor Checks](../developing/build-doctor-checks.md) tutorial for more details on
how to create them.
Usage:
```
appium <ext-type> doctor <ext-name>
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension whose doctor checks you want to run
Optional arguments:
- `--json`: return the result in JSON format
Example (run doctor checks for the UiAutomator2 driver):
```
appium driver doctor uiautomator2
```
### `install`
Install an extension. If successful, respond with the short name of the extension which can be used
in other invocations of the Extension CLI. If the extension is a driver, also note which platforms
may be used with the driver.
Usage:
```
appium <ext-type> install <install-spec> [--source=<install-source>] [--package=<package-name>] [--json]
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<install-spec>`: this is the name, location, and/or version of the extension you want to
install. Its possible values are dependent on the `<install-source>` (see below).
Optional arguments:
- `--source`: this directs Appium where to find your extension. See below for a table of possible
source types and corresponding install specification.
- `--package`: when `<install-source>` is `git` or `github`, `--package` is required. It should be
the Node.js package name of the extension. Without this information, Appium will not be able to
find the installed package.
- `--json`: return the result in JSON format
|Install source type|Behaviour|
|--|--|
|None|This is the default behaviour when no `--source` is used. In this case, Appium will look at `<install-spec>` and match it against the name of extensions available when running `appium <ext-type> list`, i.e., against the officially recognized extension names. If found, it will install that extension at the latest version via NPM|
|`npm`|Install an extension based on its NPM package name. Here, `<install-spec>` must be the NPM package name with any additional NPM installation modifiers, like version (see below)|
|`github`|Install an extension via a GitHub spec of the form `<org>/<repo>`|
|`git`|Install an extension via a Git URL (e.g., `git+ssh://git-host.com/repo.git`)|
|`local`|Install an extension via a local path. This must be a path to the directory where the Node.js package information for the driver is located.|
#### NPM-based `<install-spec>`
When Appium is installing an extension via NPM (as is the case when `--source` is either omitted or
set to `npm`), the `<install-spec>` can be complex, and can include any kind of information allowed
by `npm install`:
- `[@scope]/<name>`
- `[@scope]/<name>@<version>`
- `[@scope]/<name>@<tag>`
- `[@scope]/<name>@<version range>`
#### Examples
- Install the latest XCUITest driver:
```
appium driver install xcuitest
```
- Install the XCUITest driver at version 4.11.1:
```
appium driver install xcuitest@4.11.1
```
- Install the `beta` version of the `@appium/fake-driver` from NPM:
```
appium driver install --source=npm @appium/fake-driver@beta
```
- Install a locally-developed plugin:
```
appium plugin install --source=local /path/to/my/plugin
```
### `list`
List installed and available extensions. "Available" extensions include those which are officially
recognized by the Appium team, but you are not limited to installing only the extensions displayed
in this list.
Usage:
```
appium <ext-type> list [--installed] [--updates] [--json]
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
Optional arguments:
- `--installed`: show only installed extensions, not installed plus available extensions
- `--updates`: for extensions installed via NPM, display a message if there are any updates
- `--json`: return the result in JSON format
### `run`
Run a script included in an extension package. Extension authors can include runnable scripts that
assist with setup or perform other tasks. These scripts are given names (called the `<script-name>`
in this reference) by extension authors and will generally be documented in extension
documentation.
Usage:
```
appium <ext-type> run <ext-name> [--json] <script-name> [script-args]
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension whose script you want to run
- `<script-name>`: the name of the script the extension has published
Optional arguments:
- `script-args`: any arguments that Appium does not interpret as belonging to its own set of
arguments will be passed along to the extension script
- `--json`: return the result in JSON format
Example (run the `reset` script included with the UiAutomator2 driver):
```
appium driver run uiautomator2 reset
```
### `update`
Update one or more extensions that have been installed via NPM. By default, Appium will not
automatically update any extension past a major version boundary, so as to prevent
unintended breaking changes.
Usage:
```
appium <ext-type> update <ext-name> [--unsafe] [--json]
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension to update, or the string `installed` (which will update
all installed extensions)
Optional arguments:
- `--unsafe`: direct Appium to go ahead and update past a major version boundary
- `--json`: return the result in JSON format
### `uninstall`
Remove an installed extension.
Usage:
```
appium <ext-type> uninstall <ext-name> [--json]
```
Required arguments:
- `<ext-type>`: must be `driver` or `plugin`
- `<ext-name>`: the name of the extension to uninstall
Optional arguments:
- `--json`: return the result in JSON format
+23 -2
View File
@@ -1,5 +1,26 @@
---
title: 命令行介绍
hide:
- toc
title: Command-Line Overview
---
TODO
Appium provides a command-line executable (`appium`), which will likely be your main way of interacting with
the Appium server. This section of the Appium documentation describes how to use this executable.
To start off, you can run `appium -v` or `appium --version` to return the installed version,
or run `appium -h` or `appium --help` to return the help message.
The main `appium` executable provides the following subcommands:
1. `appium server` (or simply `appium`) - launch an Appium server
- [See here for accepted arguments](./args.md)
- For advanced features, [see here for accepted environment variables](./env-vars.md)
2. `appium driver` - manage Appium drivers
- [See here for details](./extensions.md)
3. `appium plugin` - manage Appium plugins
- [See here for details](./extensions.md)
4. `appium setup` - batch install a preset of drivers and plugins
- [See here for details](./setup.md)
Like the main command, you can also run each subcommand with the `-h` or `--help` flag to learn more about it.
+28
View File
@@ -0,0 +1,28 @@
---
hide:
- toc
title: Setup Command-Line Usage
---
The `setup` command aims to simplify the initial procedure of setting up Appium. It allows to install
multiple extensions (drivers/plugins) in one go, without the need to run
`appium <ext-name> install <ext-name>` multiple times.
The command has several presets that can be used to install different sets of extensions.
The presets are as follows:
|Preset|Installation Command|Included Drivers|Included Plugins|
|--|--|--|--|
|Mobile|`appium setup mobile` or `appium setup`|`uiautomator2`, `xcuitest`[^1], `espresso`|`images`|
|Desktop application|`appium setup desktop`|`mac2`[^1], `windows`[^2]|`images`|
|Desktop browser|`appium setup browser`|`safari`[^1], `gecko`, `chromium`|`images`|
Attempting to install a preset while already having one or more of its included extensions installed
will only install the missing extensions.
Refer to the [Ecosystem documentation](../ecosystem/index.md) to learn more about the extensions
listed above.
[^1]: Only installed if the host machine is running macOS.
[^2]: Only installed if the host machine is running Windows.
@@ -0,0 +1,542 @@
# Driver: base-driver
### `createSession`
`POST` **`/session`**
Historically the first two arguments were reserved for JSONWP capabilities.
Appium 2 has dropped the support of these, so now we only accept capability
objects in W3C format and thus allow any of the three arguments to represent
the latter.
**`See`**
[https://w3c.github.io/webdriver/#new-session](https://w3c.github.io/webdriver/#new-session)
<!-- comment source: multiple -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `desiredCapabilities?` | `W3CDriverCaps`<`C`\> | the new session capabilities |
| `requiredCapabilities?` | `W3CDriverCaps`<`C`\> | another place the new session capabilities could be sent (typically left undefined) |
| `capabilities?` | `W3CDriverCaps`<`C`\> | another place the new session capabilities could be sent (typically left undefined) |
#### Response
`CreateResult`
The capabilities object representing the created session
### `deleteSession`
`DELETE` **`/session/:sessionId`**
Returns capabilities for the session and event history (if applicable)
<!-- comment source: method-signature -->
#### Response
`SingularSessionData`<`C`, `SessionData`\>
A session data object
### `getSession`
`GET` **`/session/:sessionId`**
Returns capabilities for the session and event history (if applicable)
<!-- comment source: multiple -->
#### Response
`SingularSessionData`<`C`, `SessionData`\>
A session data object
### `findElement`
`POST` **`/session/:sessionId/element`**
Find a UI element given a locator strategy and a selector, erroring if it can't be found
**`See`**
[https://w3c.github.io/webdriver/#find-element](https://w3c.github.io/webdriver/#find-element)
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `using` | `string` | the locator strategy |
| `value` | `string` | the selector to combine with the strategy to find the specific element |
#### Response
`Element`<`string`\>
The element object encoding the element id which can be used in element-related
commands
### `findElementFromElement`
`POST` **`/session/:sessionId/element/:elementId/element`**
Find a UI element given a locator strategy and a selector, erroring if it can't be found. Only
look for elements among the set of descendants of a given element
**`See`**
[https://w3c.github.io/webdriver/#find-element-from-element](https://w3c.github.io/webdriver/#find-element-from-element)
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `using` | `string` | the locator strategy |
| `value` | `string` | the selector to combine with the strategy to find the specific element |
#### Response
`Element`<`string`\>
The element object encoding the element id which can be used in element-related
commands
### `findElementFromShadowRoot`
`POST` **`/session/:sessionId/shadow/:shadowId/element`**
Find an element from a shadow root
**`See`**
[https://w3c.github.io/webdriver/#find-element-from-shadow-root](https://w3c.github.io/webdriver/#find-element-from-shadow-root)
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `using` | `string` | the locator strategy |
| `value` | `string` | the selector to combine with the strategy to find the specific elements |
#### Response
`Element`<`string`\>
The element inside the shadow root matching the selector
### `findElements`
`POST` **`/session/:sessionId/elements`**
Find a a list of all UI elements matching a given a locator strategy and a selector
**`See`**
[https://w3c.github.io/webdriver/#find-elements](https://w3c.github.io/webdriver/#find-elements)
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `using` | `string` | the locator strategy |
| `value` | `string` | the selector to combine with the strategy to find the specific elements |
#### Response
`Element`<`string`\>[]
A possibly-empty list of element objects
### `findElementsFromElement`
`POST` **`/session/:sessionId/element/:elementId/elements`**
Find a a list of all UI elements matching a given a locator strategy and a selector. Only
look for elements among the set of descendants of a given element
**`See`**
[https://w3c.github.io/webdriver/#find-elements-from-element](https://w3c.github.io/webdriver/#find-elements-from-element)
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `using` | `string` | the locator strategy |
| `value` | `string` | the selector to combine with the strategy to find the specific elements |
#### Response
`Element`<`string`\>[]
A possibly-empty list of element objects
### `findElementsFromShadowRoot`
`POST` **`/session/:sessionId/shadow/:shadowId/elements`**
Find elements from a shadow root
**`See`**
[https://w3c.github.io/webdriver/#find-element-from-shadow-root](https://w3c.github.io/webdriver/#find-element-from-shadow-root)
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `using` | `string` | the locator strategy |
| `value` | `string` | the selector to combine with the strategy to find the specific elements |
#### Response
`Element`<`string`\>[]
A possibly empty list of elements inside the shadow root matching the selector
### `getLog`
`POST` **`/session/:sessionId/log`**
Get the log for a given log type.
!!! warning "Deprecated"
Please use the `/session/:sessionId/se/log` endpoint instead
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `type` | `string` | Name/key of log type as defined in ILogCommands.supportedLogTypes. |
#### Response
`any`
### `getLog`
`POST` **`/session/:sessionId/se/log`**
Get the log for a given log type.
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `type` | `string` | Name/key of log type as defined in ILogCommands.supportedLogTypes. |
#### Response
`any`
### `getLogEvents`
`POST` **`/session/:sessionId/appium/events`**
Get a list of events that have occurred in the current session
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `type?` | `string` \| `string`[] | filter the returned events by including one or more types |
#### Response
`EventHistory` \| `Record`<`string`, `number`\>
The event history for the session
### `getLogTypes`
`GET` **`/session/:sessionId/log/types`**
Get available log types as a list of strings
!!! warning "Deprecated"
Please use the `/session/:sessionId/se/log/types` endpoint instead
<!-- comment source: method-signature -->
#### Response
`string`[]
### `getLogTypes`
`GET` **`/session/:sessionId/se/log/types`**
Get available log types as a list of strings
<!-- comment source: method-signature -->
#### Response
`string`[]
### `getPageSource`
`GET` **`/session/:sessionId/source`**
Get the current page/app source as HTML/XML
**`See`**
[https://w3c.github.io/webdriver/#get-page-source](https://w3c.github.io/webdriver/#get-page-source)
<!-- comment source: method-signature -->
#### Response
`string`
The UI hierarchy in a platform-appropriate format (e.g., HTML for a web page)
### `getSessions`
`GET` **`/sessions`**
Get data for all sessions running on an Appium server
<!-- comment source: method-signature -->
#### Response
A list of session data objects.
Each session data object will be returned with `id` and the session's capabilities as `capabilities` keys like an example below:
```json
[
{
"id":"ba30c6da-c266-4734-8ddb-c16f5bb53e16",
"capabilities":{ "platformName":"ios","browserName":"safari","automationName":"xcuitest","platformVersion":"17.2","deviceName":"iPhone 15" }
},
{
"id":"1441110c-1ece-4e45-abbf-ebf404f45f0a",
"capabilities":{ "platformName":"ios","browserName":"safari","automationName":"xcuitest","platformVersion":"17.0","deviceName":"iPhone 14" }
},
...
]
```
### `getSettings`
`GET` **`/session/:sessionId/appium/settings`**
Update the session's settings dictionary with a new settings object
<!-- comment source: method-signature -->
#### Response
``null``
### `updateSettings`
`POST` **`/session/:sessionId/appium/settings`**
Update the session's settings dictionary with a new settings object
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `settings` | `Settings` | A key-value map of setting names to values. Settings not named in the map will not have their value adjusted. |
#### Response
``null``
### `getStatus`
`GET` **`/status`**
**`Summary`**
Retrieve the server's current status.
**`Description`**
Returns information about whether a remote end is in a state in which it can create new sessions and can additionally include arbitrary meta information that is specific to the implementation.
The readiness state is represented by the ready property of the body, which is false if an attempt to create a session at the current time would fail. However, the value true does not guarantee that a New Session command will succeed.
Implementations may optionally include additional meta information as part of the body, but the top-level properties ready and message are reserved and must not be overwritten.
<!-- comment source: builtin-interface -->
#### Examples
<!-- BEGIN:EXAMPLES -->
##### JavaScript
<!-- BEGIN:EXAMPLE lang=JavaScript -->
```js
// webdriver.io example
await driver.status();
```
<!-- END:EXAMPLE -->
##### Python
<!-- BEGIN:EXAMPLE lang=Python -->
```python
driver.get_status()
```
<!-- END:EXAMPLE -->
##### Java
<!-- BEGIN:EXAMPLE lang=Java -->
```java
driver.getStatus();
```
<!-- END:EXAMPLE -->
##### Ruby
<!-- BEGIN:EXAMPLE lang=Ruby -->
```ruby
# ruby_lib example
remote_status
# ruby_lib_core example
@driver.remote_status
```
<!-- END:EXAMPLE -->
<!-- END:EXAMPLES -->
#### Response
`Object`
### `getTimeouts`
`GET` **`/session/:sessionId/timeouts`**
Set the various timeouts associated with a session
**`See`**
[https://w3c.github.io/webdriver/#set-timeouts](https://w3c.github.io/webdriver/#set-timeouts)
<!-- comment source: method-signature -->
#### Response
``null``
### `timeouts`
`POST` **`/session/:sessionId/timeouts`**
Set the various timeouts associated with a session
**`See`**
[https://w3c.github.io/webdriver/#set-timeouts](https://w3c.github.io/webdriver/#set-timeouts)
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `type?` | `string` | used only for the old (JSONWP) command, the type of the timeout |
| `ms?` | `string` \| `number` | used only for the old (JSONWP) command, the ms for the timeout |
| `script?` | `number` | the number in ms for the script timeout, used for the W3C command |
| `pageLoad?` | `number` | the number in ms for the pageLoad timeout, used for the W3C command |
| `implicit?` | `string` \| `number` | the number in ms for the implicit wait timeout, used for the W3C command |
#### Response
``null``
### `implicitWait`
`POST` **`/session/:sessionId/timeouts/implicit_wait`**
Set the implicit wait timeout
!!! warning "Deprecated"
Please use the `/session/:sessionId/timeouts` endpoint instead
Use `timeouts` instead
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `ms` | `string` \| `number` | the timeout in ms |
#### Response
``null``
### `logCustomEvent`
`POST` **`/session/:sessionId/appium/log_event`**
Add a custom-named event to the Appium event log
<!-- comment source: method-signature -->
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `vendor` | `string` | the name of the vendor or tool the event belongs to, to namespace the event |
| `event` | `string` | the name of the event itself |
#### Response
``null``
### `reset`
`POST` **`/session/:sessionId/appium/app/reset`**
Reset the current session (run the delete session and create session subroutines)
!!! warning "Deprecated"
Please use each driver's launch, activate, terminate or cleanup method.
Use explicit session management commands instead
<!-- comment source: method-signature -->
#### Response
``null``
@@ -0,0 +1,22 @@
# Plugin: execute-driver
### `executeDriverScript`
`POST` **`/session/:sessionId/appium/execute_driver`**
Implementation of a command within a plugin
At minimum, `D` must be `ExternalDriver`, but a plugin can be more narrow about which drivers it supports.
<!-- comment source: method-signature -->
#### Parameters
| Name | Type |
| :------ | :------ |
| `script` | [script: string, scriptType: string, timeoutMs: number] |
| `type?` | [script: string, scriptType: string, timeoutMs: number] |
#### Response
`unknown`

Some files were not shown because too many files have changed in this diff Show More