Commit Graph
699 Commits
Author SHA1 Message Date
Christopher Hiller 8cc0d53b22 chore(fake-driver): add convenience script for e2e tests 2021-05-18 15:47:38 -07:00
Christopher Hiller b3b40aed6f fix(docs): re-add appium-base-driver as devdep for docgen 2021-05-18 13:06:48 -07:00
Christopher Hiller 981fa7b70c chore: remove unused e2e test scripts; add test-support test script 2021-05-18 12:59:23 -07:00
Christopher Hiller 16910858b5 chore: add @appium/test-support to monorepo & use Bluebird w/ Sinon
sinon supports promises natively, and we are using bluebird here.  promise resolution seems to go wonky when using sinon's stub `.returns(B.reject(err))`, so now we tell sinon to use _bluebird's_ promises, which makes `.rejects(err)` do the same thing except better.
2021-05-18 12:49:28 -07:00
Christopher Hiller 17aad66b40 chore: add @babel/eslint-parser to root devDeps to enable in-IDE linting 2021-05-18 12:35:28 -07:00
Christopher Hiller 935b1f80a4 fix: use random test port
- update references to `@appium/base-driver`
2021-05-17 16:23:51 -07:00
Christopher Hiller 882982fac1 chore: replace precommit hook with eslint --fix
- by way of `lint-staged`
2021-05-17 15:03:53 -07:00
Christopher Hiller 4c4b25e476 chore: cleanup base-driver
- remove dupe files
- move dev deps into root
- move `.azure-pipelines.yml` to root for reasons
- tweak gulp `lint` task to avoid linting `.min.js` files (vendored jQuery)
- update `.eslintignore` to do the same
2021-05-17 14:59:51 -07:00
Christopher Hiller bf707b8728 chore: enable debugging of tests outside of gulp context
- tests cannot be debugged very easily due to the babel dependencies _and_ the root babel config living in two separate places.  this change adds them to the monorepo root.  the drawback here is that these modules are duplicated, because they live as dependencies in gulp-plugins as well.
- add a bunch of convenience scripts for e2e tests
- normalize lerna args
2021-05-17 14:19:52 -07:00
Christopher Hiller 2499b49936 fix: e2e-tests
- re-add missing fake-plugin dev dep
- export a `PROJECT_ROOT` from the `helpers` module; use this where needed (DRY)
2021-05-17 14:17:49 -07:00
Christopher Hiller 9ca3f0f119 chore: replace call to lerna in workflow with npm script 2021-05-17 14:17:48 -07:00
Christopher Hiller 4a203fa876 chore: add appium-support to repo
- add `npm start` script to run appium server
- add `npm run doctor` convenience script to run doctor
- renamed `clean` script to `reinstall`
- added new `clean` script to just clean
- updated the "appium from source" doc
2021-05-17 14:17:46 -07:00
Christopher Hiller 127589fd4d chore: add @appium/eslint-config-appium to the monorepo
this pkg is unique in that it does not use `gulp`, so for now we tell lerna to always ignore it when running `lerna exec` across packages.  it has no tests, but it's marginally useful to lint the `index.js`, so we'll do that (see `lint` script in root `package.json`).

the canonical way to handle plugin deps in a sharable config is to use `peerDependencies`, so it now uses `peerDependencies` instead of `dependencies`.  these peer deps are installed by the dependencies of `@appium-gulp-plugins`.  see [docs](https://eslint.org/docs/developer-guide/shareable-configs#publishing-a-shareable-config)

our root `.eslintrc` depends upon `@appium/eslint-config-appium` (which is not an unusual situation).  to pull this off in a monorepo, a cheat is to `file:` schema in the dependency specifier of the root `package.json`.

also tweaked `lerna.json` to _always_ run `bootstrap` with the `--no-ci` flag.  lerna will attempt to use `npm ci` if `CI` env var is present, but for that to work, we must have `package-lock.json` under version control.
2021-05-17 14:17:44 -07:00
Christopher Hiller f659d28396 fix: fix the lint:fix script; run parallel 2021-05-17 14:17:44 -07:00
Christopher Hiller 960249f010 chore: add some convenience scripts for testing individual packages 2021-05-17 14:17:44 -07:00
Christopher Hiller 0e97ba16de chore: add @appium/doctor to the monorepo 2021-05-17 14:17:42 -07:00
Christopher Hiller f26bdb18d3 chore: add @appium/gulp-plugins to monorepo 2021-05-17 14:17:42 -07:00
Christopher Hiller 9e33c7ac11 fix: doc generation
I think?
2021-05-17 14:17:41 -07:00
Christopher Hiller fcb7917fb4 chore: add appium-fake-driver to monorepo; fix appium tests
- all tests changed were needed because of path issues.  I was unable to get the tests working in their entirety _without_ adding `@appium/fake-driver` to the monorepo--it would have required a separate `npm install` step in `appium-fake-driver` due to the lack of its `devDependencies` and `prepare` script--so I figured I might as well pull it in now.
- deduped `package.json` scripts somewhat
- updated ESLint configuration to include `@appium/fake-driver`'s rule override
- sorted the root `package.json` because fussy
- added `wd` as a dev dep because `@appium/fake-driver` needs it
2021-05-17 14:17:41 -07:00
Christopher Hiller 8800bc8aa3 chore: add babel config for debugging (wip) 2021-05-17 14:17:41 -07:00
Christopher Hiller f7c9286e92 update node.js workflow for lerna 2021-05-17 14:17:40 -07:00
Christopher Hiller db8e19e965 update node.js workflow for lerna 2021-05-17 14:17:40 -07:00
Christopher Hiller a945cfcde0 chore: create appium monorepo; closes #14441
This PR supersedes PR #14562.

This is my first attempt at making this repo a monorepo and moving appium-proper into `packages/appium`.

I had tried to make this work with npm's "workspaces", but it seems lifecycle scripts don't run as you'd expect them to upon install.  Instead, I'm using Lerna, which provides more features for monorepos.

Changes include:

- The root `package.json` is now a package named `appium-monorepo`, which is `private`.  The monorepo should not be published.
- All dev dependencies remain in the root `package.json`.
- `gulpfile.js` _moved_ into `packages/appium/gulpfile.js`, but this should be **temporary**--`appium-gulp-plugins` makes certain assumptions which a monorepo violates, and I was unable to get it working without patching `appium-gulp-plugins`.
- Most of the `package.json` `scripts` moved into `packages/appium/package.json` due to the above.  This too should be considered **temporary**.
- Adds a root `postinstall` lifecycle script which calls `lerna bootstrap` to install/link packages.  I don't see a `package-lock.json` in `packages/appium/`; this needs investigating.
- Adds a root `test` lifecycle script which executes `npm run test` in all packages.  The tests do not pass, but I don't know if this is my fault.
- The `clean` script will purge all `node_modules` folders in each package, as well.
- I removed `scripts/release*.sh`, since it seems they would fail anyway--`lerna` should be used for releases instead
- The shrinkwrap-related stuff is untested.
- Renamed `tags` prop in `packages/appium/package.json` to `keywords`.  I don't know if `tags` is supported.
2021-05-17 14:17:39 -07:00
Jonathan Lipps be0b6f67c9 chore: bump to 2.0.0-beta.12 2021-03-04 13:38:03 -08:00
Jonathan Lipps 86b45e5fd6 chore: bump to 2.0.0-beta.11 2021-02-23 14:42:55 -08:00
Jonathan Lipps c10c243760 feat: add ability for drivers to update server and add method maps like plugins
also ensure that each session gets its own plugin instances so plugins for different sessions can't share state
2021-02-23 14:41:09 -08:00
Jonathan Lipps e219d973dc 2.0.0-beta.10 2021-02-03 10:38:23 -08:00
Jonathan Lipps 0fd131c368 chore: bump to 2.0.0-beta.9 2021-01-22 09:20:58 -08:00
Jonathan Lipps 4213c5fbec fix!: move to different style of plugin command execution 2021-01-22 09:19:50 -08:00
Kazuaki Matsuo 25d97de8f2 fix: update tests and parsing logic to handle new basedriver w3c reqs 2021-01-19 16:30:43 -08:00
Jonathan Lipps 6f413f8a5d chore: make sure we take on board any new versions of basedriver 8 beta 2021-01-19 16:30:43 -08:00
Jonathan Lipps 648d62e715 chore: require node v12 2021-01-19 16:30:43 -08:00
Jonathan Lipps 0e11ce28e8 feat: add auto-install params --drivers and --plugins 2021-01-19 16:30:43 -08:00
Jonathan Lipps e9cbd23ca5 chore: bump 2.0 to beta.8 2021-01-14 14:16:17 -08:00
Jonathan Lipps 12539b7a1a chore: bump to 2.0.0-beta.7 2021-01-14 13:36:46 -08:00
+1 3e98cc98f3 chore: merge master to 2.0 (#15007)
* fix: fix urls in docs (#14910)

* docs: Update generated docs [ci skip] (#14913)

Co-authored-by: runner <runner@Mac-1606273407156.local>

* feat: Add Mac2Driver (#14911)

* docs: Add Mac2Driver documentation (#14914)

* chore: add scripts for doing releases (#14918)

* docs: Update push-file.yml (#14920)

* chore: fix a link in appium.io (#14929)

* fix links

* fix

* docs: Update generated docs [ci skip] (#14930)

Co-authored-by: runner <runner@Mac-1607067954655.local>

* docs: removed deprecated method (#14934)

assert.equal was deprecated — since v9.9.0 - use strictEqual() instead.

* docs: add links to mac2 driver in caps and settings (#14942)

* cods: add links to mac2 driver in caps and settings

* tweak naming

* chore: remove authorize-ios from package (#14946)

* chore: add 1.19.1 in changelog (#14947)

* feat: add --keep-alive-timeout CLI arg to adjust server keepalive and connection timeout

* rename release-candidate.sh to release

* chore: Switch to GitHub CI (#14978)

* docs: changelog for Appium v1.20 (#14985)

* docs: swap out hamcrest.org reference

* docs: fix example comment (#14995)

changed the app name in a comment for the notepad example from AlarmClock to Notepad

* docs: update README with english tutorial version to learn Appium with Python (#14999)

* update README

* Update README.md

* remove duplicated lib/parser.js

* install fakedriver

Co-authored-by: Appium Triager <maintainers@appium.io>
Co-authored-by: runner <runner@Mac-1606273407156.local>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
Co-authored-by: Dan Graham <dpgraham.85@gmail.com>
Co-authored-by: Ilija Boshkov <ilija.boshkov@gmail.com>
Co-authored-by: runner <runner@Mac-1607067954655.local>
Co-authored-by: roman-olshevskiy <56480723+roman-olshevskiy@users.noreply.github.com>
Co-authored-by: Jonathan Lipps <jlipps@gmail.com>
Co-authored-by: BoldAsLove <john.wojner@gmail.com>
Co-authored-by: Maria Clara dos Santos Bezerra <clarinhab@gmail.com>
2021-01-11 08:04:13 +09:00
Jonathan Lipps 7bd8f15c39 Merge branch 'master' into 2.0, most importantly by applying argparse 2.x updates 2020-11-17 16:16:51 -08:00
Dan 4f4ed25930 1.20.0-beta.0 2020-11-17 10:58:57 -08:00
Mykola Mokhnach 8ed7bae02f fix: Properly format log timestamps (#14889) 2020-11-17 12:14:08 +01:00
Jonathan Lipps 7ef9e40b3f fix: don't forget to actually put the directory for appium home 2020-11-13 09:38:58 -08:00
dependabot[bot] bd362d72a1 chore: Bump appium-geckodriver from 0.2.0 to 0.3.0 (#14878)
Bumps [appium-geckodriver](https://github.com/appium/appium-geckodriver) from 0.2.0 to 0.3.0.
- [Release notes](https://github.com/appium/appium-geckodriver/releases)
- [Commits](https://github.com/appium/appium-geckodriver/compare/v0.2.0...v0.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-10 13:17:07 +01:00
dependabot[bot] 4ef1254eca chore: Bump axios from 0.20.0 to 0.21.0 (#14845)
Bumps [axios](https://github.com/axios/axios) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.20.0...v0.21.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-07 17:15:27 +09:00
Mykola Mokhnach 2fab8a4874 feat: Add Gecko driver (#14871) 2020-11-07 07:49:07 +01:00
Mykola Mokhnach 7d6c5167f3 feat: Add Safari driver to the list of available automation names (#14866) 2020-11-06 08:27:15 +01:00
Jonathan Lipps 0672eaee6a chore: update version to 2.0.0-beta.5 2020-11-02 10:34:45 -08:00
Jonathan Lipps efba7aa8b4 chore: update version to 2.0.0-beta.4 2020-10-30 21:56:14 -07:00
Jonathan Lipps da5ba7110e chore: update version to 2.0.0-beta.3 2020-10-02 09:46:27 -07:00
Jonathan Lipps 1f50580fdc chore: use appium2 version of base driver (#14772) 2020-10-02 09:45:06 -07:00
Jonathan Lipps 8777481518 chore: update version to 2.0.0-beta.2 2020-09-28 15:16:03 -07:00
Dan 42f0118c54 chore: explicitly update appium-xcuitest-driver to 3.27.6 2020-09-16 09:46:43 -07:00