Commit Graph

8879 Commits

Author SHA1 Message Date
Christopher Hiller 37cb3bd80c fix(appium): fix some argument-related types
Since plugin tests now depend on appium types, I discovered some issues...

- `PartialArgs` renamed to `Args`. This can be basically any object, but contains some "reflection" to tell "server" args vs "extension" args
- Added a type guard to help with this
- Reorganized `init()` slightly
- Updated some type references elsewhere in the codebase

Note that `ParsedArgs` (no generic) contains "server args", `ParsedArgs<T>` contains "either server or extension args", and `ParsedArgs<{subcommand: 'driver'|'plugin'>` contains "extension" args.  In particular, no defaults or config settings get applied to "extension" args.

Also fixed wrong `types` path in `package.json`
2022-04-14 14:30:00 -07:00
Christopher Hiller 8bcc143bff fix(fake-plugin): fix scripts 2022-04-14 14:30:00 -07:00
Christopher Hiller b8df5b5c38 fix(types): fix declaration for AppiumServer['close']
previously, `close` was considered an overload, meaning that _both_ the original `close` (from `net.Server`) _and_ our async version were defined.

This was incorrect, since we fully monkeypatch `close`, so this change removes the original `close` declaration entirely
2022-04-14 14:30:00 -07:00
Christopher Hiller 68c3a1dfe4 chore: simplify root tsconfig.json 2022-04-14 14:30:00 -07:00
Christopher Hiller 7feffe9404 chore: update wallaby config to avoid local_appium_home 2022-04-14 14:30:00 -07:00
Christopher Hiller c4cd2b3774 chore: remove leftover appium-plugins package dir 2022-04-14 14:30:00 -07:00
Christopher Hiller 7f84e98256 test(images-plugin): attempt to fix e2e test 2022-04-14 14:30:00 -07:00
Christopher Hiller aaa6aaf965 chore(types): remove schema json which came in via bad merge 2022-04-14 14:30:00 -07:00
Christopher Hiller 882a5f4d5e chore: unify test setup fixture
Moved the stuff in `test/setup-babel` into `test/setup` and then removed some cruft in the `test:*` scripts of each package referencing `test/setup-babel`
2022-04-14 14:30:00 -07:00
Christopher Hiller a53258c312 fix(universal-xml-plugin): fix ref to appium-support
ugh bad rebase
2022-04-14 14:30:00 -07:00
Christopher Hiller 30cc9c8181 test(base-plugin): use local appium to install drivers/plugins in test helpers
- since `appium` is already required to start the server, might as well use it instead of `npx appium` to install drivers & plugins
- supports `appiumHome` option
- improved console output
- fix dev script to build helpers
- remove `test/helpers.js` from TS config (adding TS support to test files will be another PR)
2022-04-14 14:30:00 -07:00
Christopher Hiller c29563f684 fix(fake-plugin): index.js must be a CJS script 2022-04-14 14:30:00 -07:00
Christopher Hiller f7760a2fa6 fix(images-plugin): fix bad merge and tests
- adds/fixes a couple types; sets up type dependencies
- update e2e tests to pull fake driver & plugin from local
- fix sinon usage
- fix some assertions
2022-04-14 14:30:00 -07:00
Christopher Hiller 122a389868 chore(schema): fix dev script 2022-04-14 14:30:00 -07:00
Christopher Hiller 2520a9e3d4 chore(opencv): add some stub types 2022-04-14 14:30:00 -07:00
Christopher Hiller ac575cc81f fix(fake-plugin): fix bad merge 2022-04-14 14:30:00 -07:00
Christopher Hiller 5b54017054 chore: relocated plugins
- left some necessary config in packages/plugins-temp which will get removed after full integration

# Conflicts:
#	packages/appium-plugins/.github/workflows/main.yml
#	packages/appium-plugins/packages/base/package-lock.json
#	packages/appium-plugins/packages/base/package.json
#	packages/appium-plugins/packages/fake/package-lock.json
#	packages/appium-plugins/packages/images/package-lock.json
#	packages/appium-plugins/packages/images/package.json
#	packages/appium-plugins/packages/relaxed-caps/package-lock.json
#	packages/appium-plugins/packages/relaxed-caps/package.json
#	packages/appium-plugins/packages/universal-xml/package-lock.json
#	packages/fake-plugin/lib/logger.js
#	packages/fake-plugin/lib/scripts/fake-error.js
#	packages/fake-plugin/lib/scripts/fake-success.js
#	packages/fake-plugin/package.json
#	packages/universal-xml-plugin/package.json
2022-04-14 14:30:00 -07:00
Renovate Bot 6704023ffc chore(workflows): update actions/setup-node action to v2.5.0 2022-04-14 14:30:00 -07:00
Jonathan Lipps 24c7e3012a docs: appium's plugin flag is --use-plugins now, not --plugins 2022-04-14 14:30:00 -07:00
Jonathan Lipps c1b5abbd21 feat(fake): add unexpected shutdown handler 2022-04-14 14:30:00 -07:00
Jonathan Lipps 347b5be885 docs(base): document onUnexpectedShutdown for plugin authors 2022-04-14 14:30:00 -07:00
Jonathan Lipps e7beecd52f fix(universal-xml): remove code related to proxying now that it is moot 2022-04-14 14:30:00 -07:00
Jonathan Lipps 98014f1405 fix(images): remove code related to proxying now that it is moot 2022-04-14 14:30:00 -07:00
Jonathan Lipps e463d4973c feat(fake): add fake window handle plugin override 2022-04-14 14:30:00 -07:00
Renovate Bot c35c534ee5 chore(workflows): update actions/setup-node action to v2.4.1 2022-04-14 14:30:00 -07:00
Avi Goldman 536d1e86c8 docs: fix typo in url (#38) 2022-04-14 14:30:00 -07:00
Renovate Bot f68c52a98e chore(workflows): update actions/setup-node action to v2.4.0 2022-04-14 14:30:00 -07:00
Jonathan Lipps 36b125dd61 chore(base): add info about neverProxy to README 2022-04-14 14:30:00 -07:00
Jonathan Lipps 270a2d2ca5 fix(images): ensure image plugin new methods are never proxied 2022-04-14 14:30:00 -07:00
Jonathan Lipps 712d35ce08 fix(fake): ensure fake plugin new methods are never proxied 2022-04-14 14:30:00 -07:00
renovate[bot] bfd461bd16 chore: configure renovate
* Add renovate.json

* chore: configure renovate

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Jonathan Lipps <jlipps@gmail.com>
2022-04-14 14:30:00 -07:00
Kazuaki Matsuo 821f770ce5 fix: add export 2022-04-14 14:30:00 -07:00
Jonathan Lipps 472d56da9e Publish
- @appium/base-plugin@1.7.0
 - @appium/fake-plugin@1.2.0
 - @appium/images-plugin@1.2.0
 - @appium/relaxed-caps-plugin@1.0.0-beta.3
 - @appium/universal-xml-plugin@1.0.0-beta.4
2022-04-14 14:30:00 -07:00
Jonathan Lipps c962b525f9 Publish
- @appium/fake-plugin@1.1.0
 - @appium/images-plugin@1.1.6

feat: allow appium to pass cli args to plugins (#10)

* feat: allow appium to pass cli args to plugins

* feat: add new method for getting cli args from plugin

* refactor: refactor how plugin cli args are recieved

* style: run lint
2022-04-14 14:30:00 -07:00
Jonathan Lipps 36926fa6ff test(images): skip images plugin unit tests which require opencv, if opencv is not available the rationale is that folks developing plugins other than this one shouldn't need to go through the pain of opencv4nodejs setup. CI will catch any regressions in unit tests for this particular plugin. 2022-04-14 14:30:00 -07:00
Jonathan Lipps 5474639535 chore: peg to latest appium beta for test correctness
chore: add scripts to allow for the testing of run cli command against plugins
2022-04-14 14:30:00 -07:00
Jonathan Lipps f8c0afba29 Publish
- @appium/base-plugin@1.6.4
 - @appium/fake-plugin@1.0.0
 - @appium/images-plugin@1.1.5
 - @appium/relaxed-caps-plugin@1.0.0-beta.2
 - @appium/universal-xml-plugin@1.0.0-beta.3
2022-04-14 14:30:00 -07:00
Jonathan Lipps ae742f436b chore: update package lockfiles, add 'test' npm command, and ensure long enough timeout for image specs 2022-04-14 14:30:00 -07:00
Jonathan Lipps 1f55e18be9 fix!: convert newMethodMap and updateServer to static properties 2022-04-14 14:30:00 -07:00
Jonathan Lipps 37639ff04e Publish
- @appium/relaxed-caps-plugin@1.0.0-beta.1
2022-04-14 14:30:00 -07:00
Jonathan Lipps fb0a04ea9d feat(caps): add plugin that automatically adds cap vendor prefixes 2022-04-14 14:30:00 -07:00
Jonathan Lipps 668c0887d2 chore(caps): set up boilerplate for relaxed caps plugin 2022-04-14 14:30:00 -07:00
Jonathan Lipps 639149b56b Publish
- @appium/base-plugin@1.6.3
 - @appium/fake-plugin@0.3.3
 - @appium/images-plugin@1.1.4
 - @appium/universal-xml-plugin@1.0.0-beta.2
2022-04-14 14:30:00 -07:00
Jonathan Lipps af37973363 chore: rename url to route in shouldAvoidProxy 2022-04-14 14:30:00 -07:00
Jonathan Lipps 6671ed075a fix(xml): avoid proxying android source and fix addIndexPath misuse 2022-04-14 14:30:00 -07:00
Jonathan Lipps 9b43b24a3d fix(images): make sure we avoid proxying requests with image elements in them 2022-04-14 14:30:00 -07:00
Jonathan Lipps fb340f873b docs: document the 'shouldAvoidProxy' plugin method 2022-04-14 14:30:00 -07:00
Jonathan Lipps 65595804e2 Publish
- @appium/base-plugin@1.6.2
 - @appium/fake-plugin@0.3.2
 - @appium/images-plugin@1.1.3
 - @appium/universal-xml-plugin@1.0.0-beta.1
2022-04-14 14:30:00 -07:00
Jonathan Lipps 269db63d10 fix(xml): make sure we include xml preamble for consistency 2022-04-14 14:30:00 -07:00
Jonathan Lipps cc5d8883b9 fix(xml): fiddle with xpath transform since xcuitest xml is mismatched between driver and WDA 2022-04-14 14:30:00 -07:00