Compare commits

...
Author SHA1 Message Date
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
71 changed files with 1316 additions and 3235 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ _Put an `x` in the boxes that apply. You can also fill these out after creating
- [ ] 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
-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
-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],
},
};
+725 -2910
View File
File diff suppressed because it is too large Load Diff
+12 -19
View File
@@ -44,13 +44,10 @@
"docs:preview": "npm run -w packages/appium build:docs:preview",
"doctor": "node ./packages/doctor",
"generate-docs": "npm run --workspace=packages/appium generate-docs",
"husky-install": "husky install",
"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",
@@ -84,25 +81,23 @@
},
"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/node": "20.11.16",
"@types/semver": "7.5.6",
"@types/sinon": "17.0.2",
"@types/sinon": "17.0.3",
"@types/sinon-chai": "3.2.12",
"@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",
"@typescript-eslint/eslint-plugin": "6.21.0",
"@typescript-eslint/parser": "6.21.0",
"asyncbox": "3.0.0",
"chai": "4.3.10",
"chai": "4.4.1",
"chai-as-promised": "7.1.1",
"chai-webdriverio-async": "2.8.0",
"conventional-changelog-conventionalcommits": "7.0.2",
@@ -117,18 +112,16 @@
"fancy-log": "2.0.0",
"finalhandler": "1.2.0",
"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": "13.1.2",
"lerna": "8.1.2",
"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",
"npm-run-all2": "6.1.2",
"prettier": "3.2.5",
"rewiremock": "3.14.5",
"rimraf": "5.0.5",
"serve-static": "1.15.0",
@@ -137,10 +130,10 @@
"sync-monorepo-packages": "1.0.2",
"through2": "4.0.2",
"ts-node": "10.9.2",
"tsd": "0.30.2",
"tsd": "0.30.4",
"typescript": "5.2.2",
"validate.js": "0.13.1",
"webdriverio": "8.27.0",
"webdriverio": "8.30.0",
"ws": "8.16.0",
"yaml-js": "0.3.1"
},
+38
View File
@@ -3,6 +3,44 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [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)
@@ -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.
@@ -28,7 +28,13 @@ appium
You should see some output that starts with a line like this:
```
[Appium] Welcome to Appium v2.0.0
[Appium] Welcome to Appium v2.4.1
```
In order to update Appium using `npm`:
```bash
npm update -g appium
```
That's it! If you see this, the Appium server is up and running. Go ahead and quit
@@ -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
```
+1
View File
@@ -68,6 +68,7 @@ nav:
- developing/build-drivers.md
- developing/build-plugins.md
- developing/build-docs.md
- developing/build-doctor-checks.md
- Contributing:
- contributing/index.md
- contributing/develop.md
+32 -2
View File
@@ -1,6 +1,36 @@
---
title: Appium文档
hide:
- navigation
- toc
title: 欢迎
---
<style>
.md-typeset h1 {
display: none;
}
</style>
<div style="text-align: center">
<img src="assets/images/appium-logo-horiz.png" style="max-width: 400px;" />
</div>
欢迎访问 Appium 文档!Appium 是一个开源项目和相关软件的生态系统。
软件,旨在促进许多应用程序平台的用户界面自动化,包括移动平台(iOS、
Android、Tizen)、浏览器(Chrome、Firefox、Safari)、桌面(macOS、Windows)、电视(Roku、tvOS、
Android TV、三星)等!
TODO
## 探索文档
<div class="grid cards" markdown>
- 查看 [__介绍__](./intro/index.md) 确保您理解关键概念
- 通过 [__快速入门__](./quickstart/index.md) 来进行设置并运行基本的 Android 测试
- 访问 [__生态系统__](./ecosystem/index.md) 页面,查看您可能需要使用的驱动程序、客户端和插件列表
- 参考 [__CLI 参考__](./cli/index.md) 用于从命令行使用 Appium
- 查看 [__命令说明__](./commands/index.md) Appium 和插件公开的命令列表
- 阅读不同的 [__指南__](./guides/migrating-1-to-2.md) 来获取各种说明、技巧和窍门
- 查阅各种第三方的 [__资源__](./resources.md) 来探索网上的Appium运用
- 为了创建您自己的Appium拓展, 请查看 [__开发者__](./developing/index.md) 文档
- 对 Appium 自身的贡献,请查阅 [__贡献__](./contributing/index.md) 页面
</div>
+25 -2
View File
@@ -1,6 +1,29 @@
---
title: 快速开始
hide:
- toc
title: 快速入门介绍
---
让我们开始使用 Appium!为了成功使用本快速入门介绍, 我们建议您
首先阅读 [介绍](../intro/index.md), 以便您了解
运行 Appium 和编写 Appium 脚本所涉及的概念。
TODO
本快速入门课程的基本计划如下:
1. 安装 Appium
1. 安装 Appium 驱动及其依赖项 (我们将使用 [UiAutomator2
driver](https://github.com/appium/appium-uiautomator2-driver) 对于这些例子)
1. 用你选择的语言安装 Appium 客户端库(本指南包含以下选项
JavaScript、Python、Java、Ruby 和 .NET 的选项)。
1. 使用示例应用程序编写并运行简单的 Appium 自动化脚本
### 要求
开始之前,请确保您的系统满足运行 Appium 服务器的
[要求](../quickstart/requirements.md).其他要求
将在安装 UiAutomator2 驱动程序时一并讨论。 本指南还假设
您已熟练掌握您的操作系统平台上的基本命令行功能,例如可以运行命令行命令, 设置
永久的系统变量, 等等...
现在你已经准备好开始了!请前往 [安装 Appium](./install.md)吧.
+37 -2
View File
@@ -1,6 +1,41 @@
---
title: Install Appium
hide:
- toc
title: 安装 Appium
---
!!! 信息
TODO
安装前,请务必检查[系统要求](./requirements.md).
您可以使用 `npm` 在全局范围内安装 Appium:
```bash
npm i -g appium
```
!!! 注意
目前不支持其他软件包管理器。
安装完成后,您应该可以从命令行运行 Appium:
```
appium
```
你应该会看到一些输出结果,开头一行是这样的:
```
[Appium] 欢迎来到 Appium v2.4.1
```
为了更新Appiums使用 `npm`:
```bash
npm update -g appium
```
就是这样!如果你看到这个,说明 Appium 服务器已经启动并运行。按 (Ctrl-C)
继续退出并跳转到到 [下一步](./uiauto2-driver.md), 在这里我们将安装一个用于自动运行 Android 应用程序的驱动程序.
@@ -1,6 +1,23 @@
---
title: Next Steps
hide:
- toc
title: 下一步
---
既然您已经成功配置了您的系统进行Android自动化并运行了一个简单的测试,
您可能希望继续探索这份文档。特别是对于初学者,
以下是一些很好的指南和参考资料:
TODO
- 在 [生态系统](../ecosystem/index.md) 页面: 浏览可用的驱动程序, 客户端, 插件, 和工具
- [管理Appium驱动程序与插件](../guides/managing-exts.md)
- [能力](../guides/caps.md)
- [设置](../guides/settings.md)
您还会发现[Appium 监测者](https://github.com/appium/appium-inspector) 编写 Appium 测试不可或缺的工具。
是编写 Appium 测试不可或缺的工具,因为它可以对应用程序进行可视化检查,并
帮助您发现可用于测试脚本的元素定位器。
您还可以利用为您提供的众多在线 Appium 课程之一。
祝你好运,玩得开心!
+16 -2
View File
@@ -1,6 +1,20 @@
---
title: 更多 Appium 资源
hide:
- navigation
- toc
title: 其他资源
---
在这里,您可以找到网络上其他 Appium 资源的链接:
TODO
## 网站
- [Appium Pro](https://appiumpro.com) - 是Appium其中一名维护者乔纳森-利普斯(Jonathan Lipps)撰写的博客和时事通讯。
撰写的博客和时事通讯,其中包含大量实用指南
## 在线课程
- [Appium 和 Selenium 基础](https://ui.headspin.io/university/learn/appium-selenium-fundamentals-2020) - Jonathan Lipps 编写的学习 Python、Selenium 和 Appium 的综合视频课程
- [使用 Appium 实现移动测试自动化](https://testautomationu.applitools.com/appium-java-tutorial/) - 由 Moataz Nabil 制作的视频课程
- [高级Appoium](https://www.linkedin.com/learning/advanced-appium) - 乔纳森-利普斯(Jonathan Lipps)的视频课程
+3 -2
View File
@@ -67,10 +67,11 @@ export default class DriverCliCommand extends ExtensionCliCommand {
}
/**
* Runs doctor checks for the given driver
* Runs doctor checks for the given driver.
*
* @param {DriverDoctorOptions} opts
* @returns {Promise<import('@appium/types').IDoctorCheck[]>}
* @returns {Promise<number>} The amount of executed doctor checks.
* @throws {Error} If any of the mandatory Doctor checks fails.
*/
async doctor({driver}) {
return await super._doctor({
+22 -13
View File
@@ -16,7 +16,7 @@ import {packageDidChange} from '../extension/package-changed';
import {spawn} from 'child_process';
import {inspect} from 'node:util';
import {pathToFileURL} from 'url';
import {Doctor} from '../doctor/doctor';
import {Doctor, EXIT_CODE as DOCTOR_EXIT_CODE} from '../doctor/doctor';
import {npmPackage} from '../utils';
import semver from 'semver';
@@ -36,13 +36,17 @@ function receiptToManifest(receipt) {
}
/**
* Fetches the remote extension version requirement
* Fetches the remote extension version requirements
*
* @param {string} installSpec Extension name (could also contain the version suffix)
* @param {string} pkgName Extension name
* @param {string} [pkgVer] Extension version (if not provided then the latest is assumed)
* @returns {Promise<[string, string|null]>}
*/
async function getRemoteExtensionVersionReq(installSpec) {
const allDeps = await npm.getPackageInfo(installSpec, ['peerDependencies', 'dependencies']);
async function getRemoteExtensionVersionReq(pkgName, pkgVer) {
const allDeps = await npm.getPackageInfo(
`${pkgName}${pkgVer ? `@${pkgVer}` : ``}`,
['peerDependencies', 'dependencies']
);
const requiredVersionPair = _.flatMap(_.values(allDeps).map(_.toPairs))
.find(([name]) => name === 'appium');
return [npmPackage.version, requiredVersionPair ? requiredVersionPair[1] : null];
@@ -246,13 +250,13 @@ class ExtensionCliCommand {
* @param {InstallViaNpmArgs} installViaNpmOpts
* @returns {Promise<void>}
*/
async _checkInstallCompatibility({installSpec, pkgName, installType}) {
async _checkInstallCompatibility({installSpec, pkgName, pkgVer, installType}) {
if (INSTALL_TYPE_NPM !== installType) {
return;
}
await spinWith(this.isJsonOutput, `Checking if '${pkgName}' is compatible`, async () => {
const [serverVersion, extVersionRequirement] = await getRemoteExtensionVersionReq(installSpec);
const [serverVersion, extVersionRequirement] = await getRemoteExtensionVersionReq(pkgName, pkgVer);
if (serverVersion && extVersionRequirement && !semver.satisfies(serverVersion, extVersionRequirement)) {
throw this._createFatalError(
`'${installSpec}' cannot be installed because the server version it requires (${extVersionRequirement}) ` +
@@ -738,10 +742,12 @@ class ExtensionCliCommand {
}
/**
* Runs doctor checks for the given extension
* Runs doctor checks for the given extension.
*
* @param {DoctorOptions} opts
* @returns {Promise<import('@appium/types').IDoctorCheck[]>}
* @returns {Promise<number>} The amount of Doctor checks that were
* successfully loaded and executed for the given extension
* @throws {Error} If any of the mandatory Doctor checks fails.
*/
async _doctor({installSpec}) {
if (!this.config.isInstalled(installSpec)) {
@@ -765,7 +771,7 @@ class ExtensionCliCommand {
}
if (!doctorSpec) {
this.log.info(`The ${this.type} "${installSpec}" does not export any doctor checks`);
return [];
return 0;
}
if (!_.isPlainObject(doctorSpec) || !_.isArray(doctorSpec.checks)) {
throw this._createFatalError(
@@ -806,14 +812,17 @@ class ExtensionCliCommand {
.filter(isDoctorCheck);
if (_.isEmpty(checks)) {
this.log.info(`The ${this.type} "${installSpec}" exports no valid doctor checks`);
return [];
return 0;
}
this.log.debug(
`Running ${util.pluralize('doctor check', checks.length, true)} ` +
`for the "${installSpec}" ${this.type}`
);
await new Doctor(checks).run();
return checks;
const exitCode = await new Doctor(checks).run();
if (exitCode !== DOCTOR_EXIT_CODE.SUCCESS) {
throw this._createFatalError('Treatment required');
}
return checks.length;
}
/**
+2 -1
View File
@@ -69,7 +69,8 @@ export default class PluginCliCommand extends ExtensionCliCommand {
* Runs doctor checks for the given plugin
*
* @param {PluginDoctorOptions} opts
* @returns {Promise<import('@appium/types').IDoctorCheck[]>}
* @returns {Promise<number>} The amount of executed doctor checks.
* @throws {Error} If any of the mandatory Doctor checks fails.
*/
async doctor({plugin}) {
return await super._doctor({
+29 -8
View File
@@ -2,6 +2,11 @@ import '@colors/colors';
import _ from 'lodash';
import { util, doctor, logger } from '@appium/support';
export const EXIT_CODE = /** @type {const} */ Object.freeze({
SUCCESS: 0,
HAS_MAJOR_ISSUES: 127,
});
export class Doctor {
/**
* @param {DoctorCheck[]} [checks=[]]
@@ -68,7 +73,12 @@ export class Doctor {
/** @type {string[]} */
const fixMessages = [];
for (const issue of issues) {
const message = await issue.check.fix();
let message;
try {
message = await issue.check.fix();
} catch (e) {
message = e.message;
}
if (message) {
fixMessages.push(message);
}
@@ -84,7 +94,7 @@ export class Doctor {
'The configuration cannot be automatically fixed, please do the following first:',
], manualIssues);
await handleIssues([
'### Optional Manual Fixes ###',
'### Optional Manual Fixes ###',
'To fix these optional issues, please do the following manually:',
], manualIssuesOptional);
@@ -127,6 +137,9 @@ export class Doctor {
}
}
/**
* @returns {Promise<boolean>}
*/
async runAutoFixes() {
const autoFixes = _.filter(this.foundIssues, (f) => f.check.hasAutofix());
for (const f of autoFixes) {
@@ -136,22 +149,30 @@ export class Doctor {
if (_.find(autoFixes, (f) => !f.fixed)) {
// a few issues remain.
this.log.info('Bye! A few issues remain, fix manually and/or rerun doctor!');
} else {
// nothing left to fix.
this.log.info('Bye! All issues have been fixed!');
this.log.info('');
return false;
}
// nothing left to fix.
this.log.info('Bye! All issues have been fixed!');
this.log.info('');
return true;
}
/**
* @returns {Promise<EXIT_CODE[keyof EXIT_CODE]>}
*/
async run() {
await this.diagnose();
if (this.reportSuccess()) {
return;
return EXIT_CODE.SUCCESS;
}
if (await this.reportManualIssues()) {
return;
return EXIT_CODE.HAS_MAJOR_ISSUES;
}
await this.runAutoFixes();
if (!await this.runAutoFixes()) {
return EXIT_CODE.HAS_MAJOR_ISSUES;
}
return EXIT_CODE.SUCCESS;
}
/**
@@ -311,7 +311,9 @@ export class ExtensionConfig {
const invalidFieldsText = invalidFields.map((field) => `"${field}"`).join(', ');
warnings.push(
`${extTypeText} "${extName}" (package \`${pkgName}\`) has ${invalidFieldsEnumerationText} (${invalidFieldsText}) in \`extensions.yaml\`; this may cause upgrades done via the \`appium\` CLI tool to fail. Please reinstall with \`appium ${this.extensionType} uninstall ${extName}\` and \`appium ${this.extensionType} install ${extName}\` to attempt a fix.`
`${extTypeText} "${extName}" (package \`${pkgName}\`) has ${invalidFieldsEnumerationText} (${invalidFieldsText}) in \`extensions.yaml\`; ` +
`this may cause upgrades done via the \`appium\` CLI tool to fail. Please reinstall with \`appium ${this.extensionType} uninstall ` +
`${extName}\` and \`appium ${this.extensionType} install ${extName}\` to attempt a fix.`
);
}
@@ -331,16 +333,16 @@ export class ExtensionConfig {
);
if (extListData?.installed) {
const {updateVersion, upToDate} = extListData;
if (!upToDate) {
if (!upToDate && updateVersion) {
warnings.push(
createPeerWarning(
`its peer dependency on older Appium v${appiumVersion}. Please upgrade \`${pkgName}\` to v${updateVersion} or newer.`
`its peer dependency on Appium ${appiumVersion}. Try to upgrade \`${pkgName}\` to v${updateVersion} or newer.`
)
);
} else {
warnings.push(
createPeerWarning(
`its peer dependency on older Appium v${appiumVersion}. Please ask the developer of \`${pkgName}\` to update the peer dependency on Appium to v${APPIUM_VER}.`
`its peer dependency on Appium ${appiumVersion}. Please install a compatible version of the ${_.toLower(extTypeText)}.`
)
);
}
@@ -354,13 +356,15 @@ export class ExtensionConfig {
if (!extListData?.upToDate && extListData?.updateVersion) {
warnings.push(
createPeerWarning(
`an invalid or missing peer dependency on Appium. A newer version of \`${pkgName}\` is available; please attempt to upgrade "${extName}" to v${extListData.updateVersion} or newer.`
`an invalid or missing peer dependency on Appium. A newer version of \`${pkgName}\` is available; ` +
`please attempt to upgrade "${extName}" to v${extListData.updateVersion} or newer.`
)
);
} else {
warnings.push(
createPeerWarning(
`an invalid or missing peer dependency on Appium. Please ask the developer of \`${pkgName}\` to add a peer dependency on \`^appium@${APPIUM_VER}\`.`
`an invalid or missing peer dependency on Appium. ` +
`Please ask the developer of \`${pkgName}\` to add a peer dependency on \`^appium@${APPIUM_VER}\`.`
)
);
}
+8 -8
View File
@@ -1,6 +1,6 @@
{
"name": "appium",
"version": "2.4.0",
"version": "2.5.0",
"description": "Automation for Apps.",
"keywords": [
"automation",
@@ -60,12 +60,12 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/base-driver": "^9.5.0",
"@appium/base-plugin": "^2.2.26",
"@appium/docutils": "^1.0.2",
"@appium/base-driver": "^9.5.1",
"@appium/base-plugin": "^2.2.27",
"@appium/docutils": "^1.0.3",
"@appium/schema": "~0.5.0",
"@appium/support": "^4.2.0",
"@appium/types": "^0.16.0",
"@appium/support": "^4.2.1",
"@appium/types": "^0.16.1",
"@sidvind/better-ajv-errors": "2.1.3",
"@types/argparse": "2.0.14",
"@types/bluebird": "3.5.42",
@@ -78,7 +78,7 @@
"argparse": "2.0.1",
"async-lock": "1.4.1",
"asyncbox": "3.0.0",
"axios": "1.6.3",
"axios": "1.6.7",
"bluebird": "3.7.2",
"cross-env": "7.0.3",
"lilconfig": "3.0.0",
@@ -90,7 +90,7 @@
"semver": "7.5.4",
"source-map-support": "0.5.21",
"teen_process": "2.1.1",
"type-fest": "4.9.0",
"type-fest": "4.10.1",
"winston": "3.11.0",
"wrap-ansi": "7.0.0",
"ws": "8.16.0",
@@ -1,5 +1,5 @@
{
"devDependencies": {
"webdriverio": "8.27.0"
"webdriverio": "8.30.0"
}
}
@@ -423,8 +423,8 @@ describe('Driver CLI', function () {
describe('when the driver defines doctor checks', function () {
it('should load and run them', async function () {
const checks = await runDoctor([driverName]);
checks.length.should.eql(2);
const checksLen = await runDoctor([driverName]);
checksLen.should.eql(2);
});
});
});
+1 -1
View File
@@ -592,8 +592,8 @@ describe('FakeDriver via HTTP', function () {
collectedEvents.should.not.be.empty;
// finally unsubscribe and wait and assert that some events have been collected
collectedEvents = [];
await driver.sessionUnsubscribe({events: ['clock.currentTime']});
collectedEvents = [];
await B.delay(750);
collectedEvents.should.be.empty;
});
@@ -239,7 +239,7 @@ describe('ExtensionConfig', function () {
await expect(
config.getGenericConfigWarnings(extData, extData.pkgName)
).to.eventually.eql([
`Driver "${extData.pkgName}" (package \`${extData.pkgName}\`) may be incompatible with the current version of Appium (v${APPIUM_VER}) due to its peer dependency on older Appium v${extData.appiumVersion}. Please upgrade \`${extData.pkgName}\` to v${updateVersion} or newer.`,
`Driver "${extData.pkgName}" (package \`${extData.pkgName}\`) may be incompatible with the current version of Appium (v${APPIUM_VER}) due to its peer dependency on Appium ${extData.appiumVersion}. Try to upgrade \`${extData.pkgName}\` to v${updateVersion} or newer.`,
]);
});
});
@@ -254,7 +254,7 @@ describe('ExtensionConfig', function () {
await expect(
config.getGenericConfigWarnings(extData, extData.pkgName)
).to.eventually.eql([
`Driver "${extData.pkgName}" (package \`${extData.pkgName}\`) may be incompatible with the current version of Appium (v${APPIUM_VER}) due to its peer dependency on older Appium v${extData.appiumVersion}. Please ask the developer of \`${extData.pkgName}\` to update the peer dependency on Appium to v${APPIUM_VER}.`,
`Driver "${extData.pkgName}" (package \`${extData.pkgName}\`) may be incompatible with the current version of Appium (v${APPIUM_VER}) due to its peer dependency on Appium ${extData.appiumVersion}. Please install a compatible version of the driver.`,
]);
});
});
+15
View File
@@ -3,6 +3,21 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [9.5.1](https://github.com/appium/appium/compare/@appium/base-driver@9.5.0...@appium/base-driver@9.5.1) (2024-02-06)
### Bug Fixes
* **images-plugin:** update dependency lru-cache to v10 ([#19723](https://github.com/appium/appium/issues/19723)) ([202da83](https://github.com/appium/appium/commit/202da83449073ddb3da8fb2cfbcfce482a5ecd40))
* **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))
## [9.5.0](https://github.com/appium/appium/compare/@appium/base-driver@9.4.4...@appium/base-driver@9.5.0) (2024-01-03)
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/base-driver",
"version": "9.5.0",
"version": "9.5.1",
"description": "Base driver class for Appium drivers",
"keywords": [
"automation",
@@ -44,8 +44,8 @@
"test:types": "tsd"
},
"dependencies": {
"@appium/support": "^4.2.0",
"@appium/types": "^0.16.0",
"@appium/support": "^4.2.1",
"@appium/types": "^0.16.1",
"@colors/colors": "1.6.0",
"@types/async-lock": "1.4.2",
"@types/bluebird": "3.5.42",
@@ -55,20 +55,20 @@
"@types/serve-favicon": "2.5.7",
"async-lock": "1.4.1",
"asyncbox": "3.0.0",
"axios": "1.6.3",
"axios": "1.6.7",
"bluebird": "3.7.2",
"body-parser": "1.20.2",
"es6-error": "4.1.1",
"express": "4.18.2",
"http-status-codes": "2.3.0",
"lodash": "4.17.21",
"lru-cache": "10.1.0",
"lru-cache": "10.2.0",
"method-override": "3.0.0",
"morgan": "1.10.0",
"path-to-regexp": "6.2.1",
"serve-favicon": "2.5.0",
"source-map-support": "0.5.21",
"type-fest": "4.9.0",
"type-fest": "4.10.1",
"validate.js": "0.13.1"
},
"optionalDependencies": {
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.2.27](https://github.com/appium/appium/compare/@appium/base-plugin@2.2.26...@appium/base-plugin@2.2.27) (2024-02-06)
**Note:** Version bump only for package @appium/base-plugin
## [2.2.26](https://github.com/appium/appium/compare/@appium/base-plugin@2.2.25...@appium/base-plugin@2.2.26) (2024-01-03)
**Note:** Version bump only for package @appium/base-plugin
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/base-plugin",
"version": "2.2.26",
"version": "2.2.27",
"description": "The base plugin used to create Appium 2.0 plugins",
"keywords": [
"automation",
@@ -40,8 +40,8 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/base-driver": "^9.5.0",
"@appium/support": "^4.2.0"
"@appium/base-driver": "^9.5.1",
"@appium/support": "^4.2.1"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0",
+13
View File
@@ -3,6 +3,19 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.0.32](https://github.com/appium/appium/compare/@appium/doctor@2.0.31...@appium/doctor@2.0.32) (2024-02-06)
### Bug Fixes
* **doctor:** update dependency appium-adb to v11.1.0 ([cbc1f50](https://github.com/appium/appium/commit/cbc1f500bc0721edcdf7f47af949ae113c038a46))
* **doctor:** update dependency appium-adb to v12 ([#19648](https://github.com/appium/appium/issues/19648)) ([9617974](https://github.com/appium/appium/commit/961797448116b6be7b500a68b4202b969805825c))
* **doctor:** update dependency appium-adb to v12.0.1 ([b85a6b9](https://github.com/appium/appium/commit/b85a6b939f688703522ebb6ddab19aa807c64dbe))
* **doctor:** update dependency appium-adb to v12.0.2 ([5936d53](https://github.com/appium/appium/commit/5936d53d7856e6a2aa31236eaa0ea9afee737c95))
* **doctor:** update dependency appium-adb to v12.0.3 ([#19722](https://github.com/appium/appium/issues/19722)) ([6cd2c54](https://github.com/appium/appium/commit/6cd2c547def390eb5d739d6245fe0bab1f99931a))
## [2.0.31](https://github.com/appium/appium/compare/@appium/doctor@2.0.30...@appium/doctor@2.0.31) (2024-01-03)
+5
View File
@@ -5,6 +5,11 @@
[![NPM version](http://img.shields.io/npm/v/@appium/doctor.svg)](https://npmjs.org/package/@appium/doctor)
[![Downloads](http://img.shields.io/npm/dm/@appium/doctor.svg)](https://npmjs.org/package/@appium/doctor)
> [!WARNING]
> This package has been deprecated since the Appium server v 2.4.0 and will be removed in the future.
> Use doctor checks (if any exist) integrated into your installed driver or plugin by
> running `appium driver doctor <driver_name>` or `appium plugin doctor <plugin_name>`.
### Install
```
+3
View File
@@ -198,6 +198,9 @@ class Doctor {
async run() {
log.info(`Appium Doctor v.${version}`);
log.warn(`This package is deprecated since the Appium server version 2.4.0 and will be removed in the future.`);
log.warn(`Use doctor checks (if any exist) integrated into your installed driver or plugin by ` +
`running \`appium driver doctor <driver_name>\` or \`appium plugin doctor <plugin_name>\`.`);
await this.diagnose();
if (await this.reportSuccess(this.toFix.length, this.toFixOptionals.length)) {
return;
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/doctor",
"version": "2.0.31",
"version": "2.0.32",
"description": "Test environment for fitness to run Appium",
"keywords": [
"automation",
@@ -44,11 +44,11 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/support": "^4.2.0",
"@appium/support": "^4.2.1",
"@colors/colors": "1.6.0",
"@types/bluebird": "3.5.42",
"@types/teen_process": "2.0.4",
"appium-adb": "11.0.9",
"appium-adb": "12.0.3",
"bluebird": "3.7.2",
"inquirer": "9.2.12",
"lodash": "4.17.21",
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.3](https://github.com/appium/appium/compare/@appium/docutils@1.0.2...@appium/docutils@1.0.3) (2024-02-06)
### Bug Fixes
* **docutils:** change default alias type to `symlink` ([#19681](https://github.com/appium/appium/issues/19681)) ([d9711b4](https://github.com/appium/appium/commit/d9711b4191d19ed0b89944b2732a1a4f4c4d9c0b))
* **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))
## [1.0.2](https://github.com/appium/appium/compare/@appium/docutils@1.0.1...@appium/docutils@1.0.2) (2024-01-03)
+2 -1
View File
@@ -14,7 +14,8 @@ This package does not need to be run directly. Instead, execute this command in
npm run dev:docs:en
```
Note that this will only build the English docs. See the `scripts` field of the `package.json` for
> [!NOTE]
> This will only build the English docs. See the `scripts` field of the `package.json` for
other languages.
## Setup for Appium Drivers and Plugins
+2 -8
View File
@@ -139,12 +139,6 @@ export async function deploy({
const mikeArgs = [
...argify(_.pickBy(mikeOpts, (value) => _.isNumber(value) || Boolean(value))),
];
if (alias) {
mikeArgs.push('--update-aliases', version, alias);
mikeArgs.push('--alias-type', aliasType);
} else {
mikeArgs.push(version);
}
stop(); // discard
// unsure about how SIGHUP is handled here
await doServe(mikePath, mikeArgs, serveOpts);
@@ -159,8 +153,8 @@ export async function deploy({
),
];
if (alias) {
mikeArgs.push('--update-aliases', version, alias);
mikeArgs.push('--alias-type', aliasType);
mikeArgs.push('--update-aliases', '--alias-type', aliasType);
mikeArgs.push(version, alias);
} else {
mikeArgs.push(version);
}
+2 -3
View File
@@ -4,7 +4,6 @@
*/
import loadTs from '@sliphua/lilconfig-ts-loader';
import {LogLevel} from 'consola';
import {lilconfig, Loader} from 'lilconfig';
import _ from 'lodash';
import path from 'node:path';
@@ -46,9 +45,9 @@ export async function findConfig(argv: string[] = hideBin(process.argv)) {
// if --verbose is used, set the log level to debug.
// otherwise use --log-level or the default.
let logLevel: LogLevel | keyof typeof LogLevelMap;
let logLevel: keyof typeof LogLevelMap;
if (preArgs.verbose) {
logLevel = LogLevel.Debug;
logLevel = 'debug';
} else {
// if the loglevel is valid, use it, otherwise use the default
logLevel = isLogLevelString(preArgs.logLevel) ? preArgs.logLevel : DEFAULT_LOG_LEVEL;
+8 -7
View File
@@ -2,7 +2,8 @@
* Constants used across various modules in this package
* @module
*/
import {LogLevel} from 'consola';
// eslint-disable-next-line @typescript-eslint/no-var-requires -- Consola 3 import call is ESM
const {LogLevels} = require('consola');
import {readFileSync} from 'node:fs';
import {fs} from '@appium/support';
import path from 'node:path';
@@ -108,7 +109,7 @@ export const REQUIREMENTS_TXT_PATH = path.join(PKG_ROOT_DIR, NAME_REQUIREMENTS_T
* The default alias creation strategy to pass to `mike` when deploying
* (`symlink`, `redirect` or `copy`)
*/
export const DEFAULT_DEPLOY_ALIAS_TYPE = 'redirect';
export const DEFAULT_DEPLOY_ALIAS_TYPE = 'symlink';
/**
* The default branch to deploy to
@@ -134,11 +135,11 @@ export const DEFAULT_SERVE_HOST = 'localhost';
* Mapping of `@appium/docutils`' log levels to `consola` log levels
*/
export const LogLevelMap = {
silent: LogLevel.Silent,
error: LogLevel.Error,
warn: LogLevel.Warn,
info: LogLevel.Info,
debug: LogLevel.Debug,
silent: LogLevels.silent,
error: LogLevels.error,
warn: LogLevels.warn,
info: LogLevels.info,
debug: LogLevels.debug,
} as const;
/**
+15 -128
View File
@@ -6,134 +6,17 @@
* @module
*/
import chalk, {type BackgroundColor, type ForegroundColor} from 'chalk';
import consola, {
type Consola,
type ConsolaReporterLogObject,
FancyReporter,
type FancyReporterOptions,
type LogLevel,
type logType as LogType,
} from 'consola';
import figures from 'figures';
// eslint-disable-next-line @typescript-eslint/no-var-requires -- Consola 3 import call is ESM
const {ConsolaInstance, createConsola, LogLevel} = require('consola');
import _ from 'lodash';
import logSymbols from 'log-symbols';
import {DEFAULT_LOG_LEVEL, LogLevelMap} from './constants';
/**
* This is a reporter for `consola` which uses some extra/custom icons and colors.
*
* @privateRemarks
* I did not like that the default `FancyReport` logs errors in _green_ without any sort of icon.
* Both `log-symbols` and `consola` consume `chalk`, so we do too. `consola` also depends on `figures`.
*/
class DocutilsReporter extends FancyReporter {
/**
* Mapping of log types (the name of the logging method called) to chalk fg colors
*/
static readonly TYPE_COLOR_MAP = {
info: 'cyan',
success: 'green',
error: 'red',
warn: 'yellow',
} satisfies {[k in LogType]?: typeof ForegroundColor};
/**
* Mapping of log levels to chalk fg colors
*/
static readonly LEVEL_COLORS = {
0: 'red',
1: 'yellow',
2: 'white',
3: 'green',
} satisfies {[k in LogLevel]?: typeof ForegroundColor};
/**
* Mapping of log types to icons/symbols
*/
static readonly TYPE_ICONS = {
info: logSymbols.info,
success: logSymbols.success,
error: logSymbols.error,
warn: logSymbols.warning,
debug: figures('›'),
trace: figures('›'),
} satisfies {[k in LogType]?: string};
/**
* Default color to use if we can't find a color for the log type or level
*/
static readonly DEFAULT_COLOR = 'grey';
/**
* Type guard to check if a log type has a color
* @param type A log type
*/
static hasTypeColor(type: LogType): type is keyof typeof DocutilsReporter.TYPE_COLOR_MAP {
return type in DocutilsReporter.TYPE_COLOR_MAP;
}
/**
* Type guard to check if a log level has a color
* @param level A log level
*/
static hasLevelColor(level: LogLevel): level is keyof typeof DocutilsReporter.LEVEL_COLORS {
return level in DocutilsReporter.LEVEL_COLORS;
}
/**
* Type guard to check if a log type has an icon
* @param type A log type
*/
static hasTypeIcon(type: LogType): type is keyof typeof DocutilsReporter.TYPE_ICONS {
return type in DocutilsReporter.TYPE_ICONS;
}
/**
* Prefixes the logging output with colors and symbols, depending on contents of `logObj`.
* @param logObj Consola's log object
* @param isBadge {@linkcode FancyReporter} uses this; I think it depends on the terminal width
* @returns
*/
protected override formatType(logObj: ConsolaReporterLogObject, isBadge?: boolean): string {
const {
TYPE_COLOR_MAP,
LEVEL_COLORS,
TYPE_ICONS,
hasTypeColor,
hasLevelColor,
hasTypeIcon,
DEFAULT_COLOR,
} = DocutilsReporter;
let typeColor: typeof ForegroundColor;
if (hasTypeColor(logObj.type)) {
typeColor = TYPE_COLOR_MAP[logObj.type];
} else if (hasLevelColor(logObj.level)) {
typeColor = LEVEL_COLORS[logObj.level];
} else {
typeColor = <typeof ForegroundColor>(
((this.options as FancyReporterOptions).secondaryColor ?? DEFAULT_COLOR)
);
}
if (isBadge) {
return chalk[('bg' + _.capitalize(typeColor)) as typeof BackgroundColor].black(
` ${_.toUpper(logObj.type)}`
);
}
const type = hasTypeIcon(logObj.type) ? TYPE_ICONS[logObj.type] : logObj.type;
return type ? chalk[typeColor](type) : '';
}
}
/**
* The global log level
*
* "Global" inasmuch as any logger created from the root logger will use this level.
*/
let globalLevel: LogLevel = LogLevelMap[DEFAULT_LOG_LEVEL];
let globalLevel: typeof LogLevel = LogLevelMap[DEFAULT_LOG_LEVEL];
/**
* Type guard to see if a string is a recognized log level
@@ -144,20 +27,24 @@ export function isLogLevelString(level: any): level is keyof typeof LogLevelMap
}
/**
* The logger from which all loggers are created. This one uses a unique tag and our custom reporter.
* The logger from which all loggers are created. This one uses a unique tag.
*/
const rootLogger = consola.create({
const rootLogger = createConsola({
defaults: {tag: 'docutils'},
reporters: [new DocutilsReporter()],
fancy: true,
level: globalLevel,
formatOptions: {
colors: true,
date: false,
},
});
// this prevents logging before `initLogger` is called
rootLogger.pause();
rootLogger.pauseLogs();
/**
* A map of tags to loggers
*/
const loggers: Map<string, WeakRef<Consola>> = new Map();
const loggers: Map<string, WeakRef<typeof ConsolaInstance>> = new Map();
export function getLogger(tag: string, parent = rootLogger) {
if (loggers.has(tag)) {
@@ -179,15 +66,15 @@ export function getLogger(tag: string, parent = rootLogger) {
*
* @remarks Child loggers seem to inherit the "paused" state of the parent, so when this is called, we must resume all of them.
*/
export const initLogger = _.once((level: keyof typeof LogLevelMap | LogLevel) => {
export const initLogger = _.once((level: keyof typeof LogLevelMap | typeof LogLevel) => {
globalLevel = isLogLevelString(level) ? LogLevelMap[level] : level;
rootLogger.level = globalLevel;
rootLogger.resume();
rootLogger.resumeLogs();
for (const ref of loggers.values()) {
const logger = ref.deref();
if (logger) {
logger.level = globalLevel;
logger.resume();
logger.resumeLogs();
}
}
});
+4 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/docutils",
"version": "1.0.2",
"version": "1.0.3",
"description": "Documentation generation utilities for Appium and related projects",
"keywords": [
"automation",
@@ -48,24 +48,22 @@
"start": "node ./build/lib/cli/index.js"
},
"dependencies": {
"@appium/support": "^4.2.0",
"@appium/support": "^4.2.1",
"@appium/tsconfig": "^0.x",
"@sliphua/lilconfig-ts-loader": "3.2.2",
"@types/which": "3.0.3",
"chalk": "4.1.2",
"consola": "2.15.3",
"consola": "3.2.3",
"diff": "5.1.0",
"figures": "3.2.0",
"json5": "2.2.3",
"lilconfig": "3.0.0",
"lodash": "4.17.21",
"log-symbols": "4.1.0",
"pkg-dir": "5.0.0",
"read-pkg": "5.2.0",
"semver": "7.5.4",
"source-map-support": "0.5.21",
"teen_process": "2.1.1",
"type-fest": "4.9.0",
"type-fest": "4.10.1",
"typescript": "5.2.2",
"yaml": "2.3.4",
"yargs": "17.7.2",
+2 -2
View File
@@ -1,5 +1,5 @@
mkdocs==1.5.3
mkdocs-git-revision-date-localized-plugin==1.2.2
mkdocs-material==9.5.3
mkdocs-git-revision-date-localized-plugin==1.2.4
mkdocs-material==9.5.7
mkdocs-redirects==1.2.1
mike==2.0.0
+16
View File
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [0.4.21](https://github.com/appium/appium/compare/@appium/driver-test-support@0.4.20...@appium/driver-test-support@0.4.21) (2024-02-06)
### Bug Fixes
* **driver-test-support:** update dependency chai to v4.4.0 ([f7e4731](https://github.com/appium/appium/commit/f7e47316c0133a5bc6b658cfb97c1caa5d4272f7))
* **driver-test-support:** update dependency chai to v4.4.1 ([ca54b4f](https://github.com/appium/appium/commit/ca54b4f79ac27f4c6bceaae5d97175afbdbea460))
* **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))
## [0.4.20](https://github.com/appium/appium/compare/@appium/driver-test-support@0.4.19...@appium/driver-test-support@0.4.20) (2024-01-03)
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/driver-test-support",
"version": "0.4.20",
"version": "0.4.21",
"description": "Test utilities for Appium drivers",
"keywords": [
"automation",
@@ -41,18 +41,18 @@
},
"types": "./build/lib/index.d.ts",
"dependencies": {
"@appium/types": "^0.16.0",
"@appium/types": "^0.16.1",
"@types/lodash": "4.14.202",
"@types/stoppable": "1.1.3",
"axios": "1.6.3",
"axios": "1.6.7",
"bluebird": "3.7.2",
"chai": "4.3.10",
"chai": "4.4.1",
"get-port": "5.1.1",
"lodash": "4.17.21",
"sinon": "17.0.1",
"source-map-support": "0.5.21",
"stoppable": "1.1.0",
"type-fest": "4.9.0"
"type-fest": "4.10.1"
},
"peerDependencies": {
"appium": "^2.0.0-beta.43",
@@ -3,6 +3,23 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.0.24](https://github.com/appium/appium/compare/@appium/execute-driver-plugin@3.0.23...@appium/execute-driver-plugin@3.0.24) (2024-02-06)
### Bug Fixes
* **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))
## [3.0.23](https://github.com/appium/appium/compare/@appium/execute-driver-plugin@3.0.22...@appium/execute-driver-plugin@3.0.23) (2024-01-03)
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/execute-driver-plugin",
"version": "3.0.23",
"version": "3.0.24",
"description": "Plugin for batching and executing driver commands with Appiums",
"keywords": [
"automation",
@@ -43,7 +43,7 @@
"lodash": "4.17.21",
"source-map-support": "0.5.21",
"vm2": "3.9.19",
"webdriverio": "8.27.0"
"webdriverio": "8.30.0"
},
"peerDependencies": {
"appium": "^2.0.0-beta.35"
+9
View File
@@ -3,6 +3,15 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [5.5.0](https://github.com/appium/appium/compare/@appium/fake-driver@5.4.0...@appium/fake-driver@5.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))
## [5.4.0](https://github.com/appium/appium/compare/@appium/fake-driver@5.3.0...@appium/fake-driver@5.4.0) (2024-01-03)
+2 -15
View File
@@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const {fs, doctor} = require('@appium/support');
const {doctor} = require('@appium/support');
/** @satisfies {import('@appium/types').IDoctorCheck} */
class EnvVarAndPathCheck {
@@ -11,16 +11,7 @@ class EnvVarAndPathCheck {
}
async diagnose() {
const varValue = process.env[this.varName];
if (typeof varValue === 'undefined') {
return doctor.nok(`${this.varName} environment variable is NOT set!`);
}
if (await fs.exists(varValue)) {
return doctor.ok(`${this.varName} is set to: ${varValue}`);
}
return doctor.nok(`${this.varName} is set to '${varValue}' but this is NOT a valid path!`);
return doctor.ok(`${this.varName} environment variable is always set because it's fake`);
}
async fix() {
@@ -39,7 +30,3 @@ class EnvVarAndPathCheck {
}
module.exports = {EnvVarAndPathCheck};
/**
* @typedef {import('@appium/types').DoctorCheckResult} CheckResult
*/
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/fake-driver",
"version": "5.4.0",
"version": "5.5.0",
"description": "Mock driver used internally by Appium for testing. Ignore",
"keywords": [
"automation",
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.1.31](https://github.com/appium/appium/compare/@appium/fake-plugin@3.1.30...@appium/fake-plugin@3.1.31) (2024-02-06)
**Note:** Version bump only for package @appium/fake-plugin
## [3.1.30](https://github.com/appium/appium/compare/@appium/fake-plugin@3.1.29...@appium/fake-plugin@3.1.30) (2024-01-03)
**Note:** Version bump only for package @appium/fake-plugin
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/fake-plugin",
"version": "3.1.30",
"version": "3.1.31",
"description": "A fake Appium 2.0 plugin",
"keywords": [
"automation",
@@ -39,8 +39,8 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/base-plugin": "^2.2.26",
"@appium/support": "^4.2.0",
"@appium/base-plugin": "^2.2.27",
"@appium/support": "^4.2.1",
"@types/bluebird": "3.5.42",
"bluebird": "3.7.2",
"lodash": "4.17.21",
+9
View File
@@ -3,6 +3,15 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.0.2](https://github.com/appium/appium/compare/@appium/images-plugin@3.0.1...@appium/images-plugin@3.0.2) (2024-02-06)
### Bug Fixes
* **images-plugin:** update dependency lru-cache to v10 ([#19723](https://github.com/appium/appium/issues/19723)) ([202da83](https://github.com/appium/appium/commit/202da83449073ddb3da8fb2cfbcfce482a5ecd40))
## [3.0.1](https://github.com/appium/appium/compare/@appium/images-plugin@3.0.0...@appium/images-plugin@3.0.1) (2024-01-03)
**Note:** Version bump only for package @appium/images-plugin
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/images-plugin",
"version": "3.0.1",
"version": "3.0.2",
"description": "Plugin for working with images and image elements in Appium",
"keywords": [
"automation",
@@ -39,11 +39,11 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/opencv": "^3.0.1",
"@appium/support": "^4.2.0",
"@appium/opencv": "^3.0.2",
"@appium/support": "^4.2.1",
"lodash": "4.17.21",
"lru-cache": "10.1.0",
"sharp": "0.33.1",
"lru-cache": "10.2.0",
"sharp": "0.33.2",
"source-map-support": "0.5.21"
},
"peerDependencies": {
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.0.2](https://github.com/appium/appium/compare/@appium/opencv@3.0.1...@appium/opencv@3.0.2) (2024-02-06)
**Note:** Version bump only for package @appium/opencv
## [3.0.1](https://github.com/appium/appium/compare/@appium/opencv@3.0.0...@appium/opencv@3.0.1) (2024-01-03)
**Note:** Version bump only for package @appium/opencv
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/opencv",
"version": "3.0.1",
"version": "3.0.2",
"description": "OpenCV-related helper library",
"keywords": [
"automation",
@@ -45,7 +45,7 @@
"bluebird": "3.7.2",
"lodash": "4.17.21",
"opencv-bindings": "4.5.5",
"sharp": "0.33.1",
"sharp": "0.33.2",
"source-map-support": "0.5.21"
},
"engines": {
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [0.3.28](https://github.com/appium/appium/compare/@appium/plugin-test-support@0.3.27...@appium/plugin-test-support@0.3.28) (2024-02-06)
**Note:** Version bump only for package @appium/plugin-test-support
## [0.3.27](https://github.com/appium/appium/compare/@appium/plugin-test-support@0.3.26...@appium/plugin-test-support@0.3.27) (2024-01-03)
**Note:** Version bump only for package @appium/plugin-test-support
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/plugin-test-support",
"version": "0.3.27",
"version": "0.3.28",
"description": "Testing utilities for Appium plugins",
"keywords": [
"automation",
@@ -41,7 +41,7 @@
"test:unit": "exit 0"
},
"dependencies": {
"@appium/types": "^0.16.0",
"@appium/types": "^0.16.1",
"get-port": "5.1.1",
"log-symbols": "4.1.0",
"source-map-support": "0.5.21",
+15
View File
@@ -3,6 +3,21 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [4.2.1](https://github.com/appium/appium/compare/@appium/support@4.2.0...@appium/support@4.2.1) (2024-02-06)
### Bug Fixes
* **support:** Prefer semver.minVersion to semver.coerce API ([#19610](https://github.com/appium/appium/issues/19610)) ([b5460fc](https://github.com/appium/appium/commit/b5460fc131fd23e8a3feb0b15d3fe9eb8bdac5e9))
* **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))
## [4.2.0](https://github.com/appium/appium/compare/@appium/support@4.1.11...@appium/support@4.2.0) (2024-01-03)
+9 -5
View File
@@ -46,9 +46,15 @@ export async function hasAppiumDependency(cwd) {
export const findAppiumDependencyPackage = _.memoize(
/**
* @param {string} [cwd]
* @param {string|semver.Range} [acceptableVersionRange='>=2.0.0-beta'] The expected
* semver-compatible range for the Appium dependency. Packages that have 'appium' dependency
* not satisfying this range will be skipped.
* @returns {Promise<string|undefined>}
*/
async (cwd = process.cwd()) => {
async function findAppiumDependencyPackage (
cwd = process.cwd(),
acceptableVersionRange = '>=2.0.0-beta'
) {
/**
* Tries to read `package.json` in `root` and resolves the identity if it depends on `appium`;
* otherwise resolves `undefined`.
@@ -58,14 +64,12 @@ export const findAppiumDependencyPackage = _.memoize(
const readPkg = async (root) => {
try {
const pkg = await readPackageInDir(root);
const version = semver.coerce(String(
const version = semver.minVersion(String(
pkg?.dependencies?.appium ??
pkg?.devDependencies?.appium ??
pkg?.peerDependencies?.appium
));
return version && semver.satisfies(version, '>=2.0.0-beta', {includePrerelease: true})
? root
: undefined;
return version && semver.satisfies(version, acceptableVersionRange) ? root : undefined;
} catch {}
};
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/support",
"version": "4.2.0",
"version": "4.2.1",
"description": "Support libs used across appium packages",
"keywords": [
"automation",
@@ -42,7 +42,7 @@
},
"dependencies": {
"@appium/tsconfig": "^0.x",
"@appium/types": "^0.16.0",
"@appium/types": "^0.16.1",
"@colors/colors": "1.6.0",
"@types/archiver": "6.0.2",
"@types/base64-stream": "1.0.5",
@@ -58,10 +58,10 @@
"@types/shell-quote": "1.7.5",
"@types/supports-color": "8.1.3",
"@types/teen_process": "2.0.4",
"@types/uuid": "9.0.7",
"@types/uuid": "9.0.8",
"@types/which": "3.0.3",
"archiver": "6.0.1",
"axios": "1.6.3",
"axios": "1.6.7",
"base64-stream": "1.0.0",
"bluebird": "3.7.2",
"bplist-creator": "0.1.1",
@@ -90,13 +90,13 @@
"source-map-support": "0.5.21",
"supports-color": "8.1.1",
"teen_process": "2.1.1",
"type-fest": "4.9.0",
"type-fest": "4.10.1",
"uuid": "9.0.1",
"which": "4.0.0",
"yauzl": "2.10.0"
},
"optionalDependencies": {
"sharp": "0.33.1"
"sharp": "0.33.2"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0",
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.0.31](https://github.com/appium/appium/compare/@appium/test-support@3.0.30...@appium/test-support@3.0.31) (2024-02-06)
**Note:** Version bump only for package @appium/test-support
## [3.0.30](https://github.com/appium/appium/compare/@appium/test-support@3.0.29...@appium/test-support@3.0.30) (2024-01-03)
**Note:** Version bump only for package @appium/test-support
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/test-support",
"version": "3.0.30",
"version": "3.0.31",
"description": "A collection of test utilities used across Appium packages",
"keywords": [
"automation",
@@ -45,7 +45,7 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/support": "^4.2.0",
"@appium/support": "^4.2.1",
"@colors/colors": "1.6.0",
"bluebird": "3.7.2",
"lodash": "4.17.21",
+10
View File
@@ -3,6 +3,16 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [0.16.1](https://github.com/appium/appium/compare/@appium/types@0.16.0...@appium/types@0.16.1) (2024-02-06)
### Bug Fixes
* **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))
## [0.16.0](https://github.com/appium/appium/compare/@appium/types@0.15.0...@appium/types@0.16.0) (2024-01-03)
+6 -6
View File
@@ -2,7 +2,8 @@
> A collection of TypeScript type declarations used across various [Appium](https://github.com/appium/appium) packages.
**Warning: This is a work-in-progress; expect breaking changes!**
> [!WARNING]
> This is a work-in-progress; expect breaking changes!
## Install
@@ -10,11 +11,10 @@
npm install @appium/types -D
```
## Notes
- The sources are `.ts` files, _not_ `.d.ts` files. This allows other packages in the root TypeScript "project" to define a dependency upon this one, and enables incremental builds an "watch" mode.
- If there is a way to switch to `.d.ts` files and configure this package to work in our "project" context _without_ needing to actually "emit" anything, then we should do that instead. Help accepted!
- `lib/appium-config.ts` is generated by this package from `@appium/schema`, but is under version control to avoid chicken-or-egg build problems.
> [!NOTE]
> - The sources are `.ts` files, _not_ `.d.ts` files. This allows other packages in the root TypeScript "project" to define a dependency upon this one, and enables incremental builds an "watch" mode.
> - If there is a way to switch to `.d.ts` files and configure this package to work in our "project" context _without_ needing to actually "emit" anything, then we should do that instead. Help accepted!
> - `lib/appium-config.ts` is generated by this package from `@appium/schema`, but is under version control to avoid chicken-or-egg build problems.
## License
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/types",
"version": "0.16.0",
"version": "0.16.1",
"description": "Various type declarations used across Appium",
"keywords": [
"automation",
@@ -43,7 +43,7 @@
"@types/express": "4.17.21",
"@types/npmlog": "7.0.0",
"@types/ws": "8.5.10",
"type-fest": "4.9.0"
"type-fest": "4.10.1"
},
"engines": {
"node": "^14.17.0 || ^16.13.0 || >=18.0.0",
@@ -3,6 +3,16 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.17](https://github.com/appium/appium-plugins/compare/@appium/universal-xml-plugin@1.0.16...@appium/universal-xml-plugin@1.0.17) (2024-02-06)
### Bug Fixes
* **universal-xml-plugin:** update dependency fast-xml-parser to v4.3.3 ([40873fb](https://github.com/appium/appium-plugins/commit/40873fb65525073c93f3f8e593f882cdee2368db))
* **universal-xml-plugin:** update dependency fast-xml-parser to v4.3.4 ([569db83](https://github.com/appium/appium-plugins/commit/569db839f1c207d604948aefd0a7800b2d568573))
## [1.0.16](https://github.com/appium/appium-plugins/compare/@appium/universal-xml-plugin@1.0.15...@appium/universal-xml-plugin@1.0.16) (2023-12-18)
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/universal-xml-plugin",
"version": "1.0.16",
"version": "1.0.17",
"description": "Appium plugin for making XML source and XPath queries the same across iOS and Android",
"keywords": [
"automation",
@@ -38,7 +38,7 @@
"dependencies": {
"@types/xmldom": "0.1.34",
"@xmldom/xmldom": "0.8.10",
"fast-xml-parser": "4.3.2",
"fast-xml-parser": "4.3.4",
"lodash": "4.17.21",
"source-map-support": "0.5.21",
"xpath": "0.0.34"