* feat: add ability for drivers and plugins to recieve cli args
* chore: fix typo
* fix: make changes based on feedback
* feat: remove driver-specific server args from appium
* fix: resolve merge conflict
* fix: make changes based on feedback
* feat: add support for driver cli args in base driver
* feat: add support for testing driver args in fake-driver
* refactor: remove support for -custom locator strategy(should be handled by plugins instead)
* fix: makes changes based on feedback
* fix: remove outdated/unused args
* fix: fix docs
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make tests pass
* test: tests are passing locally but not in CI, try something different to get them to pass
* test: try uninstalling fake-driver and reinstalling fake driver from packages
* fix: revert driver-e2e-specs.js and update node.js.yml
* fix: update package.json
* fix: add special case to npm
* fix: add todo
* fix: how relative paths are resolved in linkPackage
* feat: add "run" command to the client interface inorder to allow the running of scripts against drivers
* feat: add "run" command to the client interface inorder to allow the running of scripts against drivers
* chore: make changes based on feedback
* chore: make more changes based on feedback
* chore: make changes based on feedback, added e2e test for plugin scripts. Need https://github.com/appium/appium-plugins/pull/7 to be merged before the e2e tests will work.
* fix: make changes based on feedback
* fix: fix cli-e2e-specs to work with monorepo
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make changes based on feedback
* test: log error
* test: add logging to install
* fix: readd clear() line
* test: add logging
* test: change up the order of cli e2e tests, maybe the tests will pass in CI now?
* test: try creating and clearing appium home between test sets
* test: try unlinking fake-driver before each test set
* test: shift aroud test sets
* test: try something new
* fix: runner to use process.execPath instead of node
* fix: remove a test
* fix: readd test
* fix: tests
* test: log test error
* fix: logging
* fix: test logging
* test: add aditional logging
* fix: log
* test: try npm cache verifying
* fix: add '--no-package-lock' to link command and refactor test
* fix: remove logs
* fix: make changes based on feedback
unit tests _should_ not need `--exit`, but this is real life, so things aren't perfect.
boilerplate configs can pass `{test: {exit: true}}` to cause Mocha to force-exit.
note that this is enabled by default for e2e tests (which _also_ shouldn't be necessary, but one thing at a time...)
* chore: update @appium/fake-driver to use @appium/base-driver
BREAKING CHANGE: `fake-driver` now depends upon `@appium/base-driver@8.x`
## `@appium/fake-driver`
- need to use w3c capabilities only
- fix: find `app.xml` fixture properly when running tests via `mocha --require=@babel/register`
## `@appium/base-driver`
- fixed a dead URL in a comment
- updated the "logging" tests to manually supply w3c capabilities. `createSession()` does it for you, but `executeCommand('createSession')` does not.
- display the name of the driver under test when executing base driver's test suite with other drivers
Ref: #15425
* fix(fake-driver): add naive css selector support
* fix(fake-driver): helpers now use wdio instead of wd
- exported more constants as base-driver helpers do
- `deleteSession()` now expects a wdio `browser` (`driver`) object; removed closure
* fix(fake-driver): find-element-tests and driver-e2e-specs members passing
- alert-tests, context-tests, element-interaction-tests, general-tests all failing still
* fix(fake-driver): update interaction tests
replace unsupported `getLocation` with `getElementRect`
* fix(fake-driver): update alert tests
* fix(fake-driver): udpate context tests
* fix(fake-driver): update unit tests
* fix(base-driver): implement missing route for releaseActions
is the call to `this.proxyReleaseActions` even necessary?
* fix(fake-driver): update generic actions tests
also add a stub implementation of `releaseActions`, which wdio calls
* chore(fake-driver): remove redundant tests from find-element-tests
covered by other strategies
* fix(fake-driver): update generic actions tests
also fix path to screenshot (`screen.png`) when running tests outside of `build`
* chore(fake-driver): use fs module from @appium/support
* chore(base-driver): update hash in protocol consistency test
* fix(base-driver): update e2e test fn to prefer provided address/port over default
* chore: formatting
1. Uses `sync-monorepo-packages` to keep `README.md` and `packages/appium/README.md` in sync. Since `README` gets published to npm but _also_ shows in the GitHub repo, both places need a `README`. In lieu of a custom `README`, we can just sync it for now. This is called via a `preversion` script.
1. Various fields are synced in `package.json`. This does not include dependencies—but those _in common_ should probably be kept in sync as well.
1. Lerna uses conventional commits and Git tags to figure out what to do. It should automatically determine what needs releasing and what version it should be released as.
1. Tags have been pushed to the repo for Lerna to use. In the case where the changesets are functionally identical to the latest code in the old repositories, the version number has been retained, and the tag is of the format `[@scope/]<package-name>@<version>`. In the case where the old repos had _unreleased_ changesets, I’ve tagged with a new patch release and adopted the `-rc.0` suffix. So if we were at v5.5.0 in `appium-gulp-plugins`, `@appium/gulp-plugins` is tagged as `@appium/gulp-plugins@5.5.1-rc.0`. I have not modified the version in `package.json`.
1. As with adopting any new release/publishing strategy, we should be meticulous about what we’re doing until we’re comfortable with how it works. Lerna supports dry runs; we should use them.
1. Documentation on usage will arrive in next changes to this PR.