Commit Graph
10167 Commits
Author SHA1 Message Date
Christopher Hiller 6c769a2b7c chore: housecleaning
Just a bunch of random (mostly path-related) fixes.

## Monorepo

- Make `npm run clean` work cross-platform
- Sort root `package.json`
- Update Babel configs to suppress warning about `@babel/plugin-proposal-private-property-in-object`
- Add `.nyc_output` and `*.lerna_backup` to `.gitignore`
- Replace references to `appium-support`
- Sync `package.json` fields
- Add a [Wallaby](https://wallabyjs.com) configuration file

## appium

- `lib/config`: `package.json` resolution
- split some tests out of `config-specs.js` and into `config-e2e-specs.js` since they are very clearly not unit tests
- Improve `PROJECT_ROOT` resolution, which is still a hack
- Copy fixtures & fix paths to fixtures in tests

## @appium/base-driver

- `lib/basedriver/driver`: `package.json` resolution
- Fix broken tests when run in isolation (`chai.should()`)

## @appium/doctor

- `lib/doctor`: `package.json` resolution
- `lib/utils`: `package.json` resolution & exposed `resetLog()` which undoes what `configureBinaryLog()` does (for testing purposes)
- `utils-specs.js`: clean up after `onLogMessage` test
- copy fixtures into `build` upon transpile
- Upgrade `@appium/gulp-plugins`

## @appium/gulp-plugins

- Ensure `postTranspile` is run when `transpile` is run before tests
- Fix `.babelrc` like `babel.config.json`

## @appium/support

- Fixture resolution
- Fix broken tests when run in isolation (`chai-as-promised`)
- Copy fixtures when transpiling
2021-08-10 11:52:57 -07:00
Christopher Hiller 25cc27d161 feat(base-driver): prefer system unzip
Backport of https://github.com/appium/appium-base-driver/pull/503 to the `2.0` branch of `appium/appium`
2021-07-22 11:04:10 -07:00
Christopher Hiller 2955c172b1 feat(support): extractAllTo(): prefer system unzip
This is a straight-ahead backport of https://github.com/appium/appium-support/commit/873351aacc0402bcb229bad928abd1ad2f9c4a4b to the `2.0` branch of `appium/appium`.

Ref: https://github.com/appium/appium-support/pull/226
2021-07-22 11:03:36 -07:00
Ayan Khan d3c11e364d feat(appium): Add driver and plugin server arg injection feature (#15388)
* 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
2021-07-15 13:41:50 -07:00
Ayan Khan a2654762b6 feat: add "run" command to the client interface in order to allow running driver-defined scripts (#15356)
* 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
2021-07-15 09:33:28 -07:00
Christopher Hiller c20a13ea95 fix(doctor): update reference to @appium/idb README 2021-07-03 17:35:36 -07:00
Christopher Hiller de428c60c8 chore: add node.js v16 to build matrix
- run `generate_docs` build with default Node.js
- multiline yaml
2021-06-30 10:01:58 -07:00
Kazuaki Matsuo 77bf18def6 docs: update docs in get log types and get clipboard (#15583)
* docs: improve get-log-types

* docs: add description in get clipboard for ios

* copy in to md
2021-06-28 13:35:55 +09:00
youngfree fbe864f746 docs(appium): doc/cn drivers doc for appium 2.0 (#15568) 2021-06-24 08:55:33 -07:00
renovate[bot]andRenovate Bot 9b9f7e9acf chore(gulp-plugins): update dependency globby to ^11.0.4 (#15518)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:19:57 -07:00
renovate[bot]andRenovate Bot 023ec51a0c chore(gulp-plugins): update dependency vinyl-paths to ^3.0.1 (#15520)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:19:39 -07:00
renovate[bot]andRenovate Bot e512c87109 chore(support): update dependency get-stream to ^6.0.1 (#15524)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:19:25 -07:00
renovate[bot]andRenovate Bot eff94987da chore(support): update dependency mkdirp to ^1.0.4 (#15529)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:19:11 -07:00
renovate[bot]andRenovate Bot 256c2ad200 chore(gulp-plugins): update dependency mocha to v9.0.1 (#15530)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:18:57 -07:00
renovate[bot]andRenovate Bot 04d11619cb chore(support): update dependency plist to ^3.0.2 (#15531)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:18:43 -07:00
renovate[bot]andRenovate Bot 38ebd45b51 chore(support): update dependency sanitize-filename to ^1.6.3 (#15533)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:18:17 -07:00
renovate[bot]andRenovate Bot 487bfd30c2 chore(support): update dependency which to ^2.0.2 (#15534)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:17:45 -07:00
renovate[bot]andRenovate Bot 17a2b8cad0 chore(test-support): update dependency source-map-support to v0.5.19 (#15538)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:16:05 -07:00
renovate[bot]andRenovate Bot 5db7517cee chore(): update dependency @appium/fake-plugin to ^1.2.0 (#15539)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:15:47 -07:00
Christopher Hiller b74612cae8 chore: remove unused wd (#15542) 2021-06-18 15:15:32 -07:00
renovate[bot]andRenovate Bot 88de3b3906 chore(support): update dependency jsftp to ^2.1.3 (#15528)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-18 15:15:06 -07:00
renovate[bot]andRenovate Bot 1704eb5513 chore(): update dependency finalhandler to ^1.1.2 (#15508)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-17 15:56:11 -07:00
renovate[bot]andRenovate Bot 91d47496ef chore(gulp-plugins): update dependency gulp to ^4.0.2 (#15519)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-17 15:54:31 -07:00
renovate[bot]andRenovate Bot 47a0e66dbd chore(gulp-plugins): update dependency yargs to ^17.0.1 (#15521)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-17 15:54:03 -07:00
renovate[bot]andRenovate Bot a461c58f2b chore(support): update dependency glob to ^7.1.7 (#15525)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-17 15:53:30 -07:00
Christopher Hiller 5109e6852b chore: upgrade sync-monorepo-packages (#15506)
this fixes some problems with the command-line options, and maybe some security fixes too
2021-06-16 10:49:00 -07:00
renovate[bot]andRenovate Bot 1cdcba2e02 chore(): update dependency querystring to ^0.2.1 (#15509)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 10:48:25 -07:00
renovate[bot]andRenovate Bot 55efe2c411 chore(): update dependency yaml-js to ^0.2.3 (#15512)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 10:47:42 -07:00
renovate[bot]andRenovate Bot ad76ffc1a8 chore(base-driver): update dependency http-status-codes to ^2.1.4 (#15513)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 10:47:29 -07:00
renovate[bot]andRenovate Bot f11a34f7af chore(fake-driver): update dependency xpath to ^0.0 (#15514)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 10:47:14 -07:00
renovate[bot]andRenovate Bot b78a8f4deb chore(gulp-plugins): update dependency fancy-log to ^1.3.3 (#15516)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 10:46:09 -07:00
renovate[bot]andRenovate Bot 2bd49ef5fa chore(gulp-plugins): update dependency ansi-red to ^0.1 (#15515)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 10:45:53 -07:00
Christopher Hiller e00fe2644b chore(gulp-plugins): enable consumers to use mocha's "exit" flag
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...)
2021-06-15 11:17:17 -07:00
Christopher Hiller 9295d0c682 fix(appium): update references to @appium/support 2021-06-14 13:57:03 -07:00
renovate[bot]andRenovate Bot 2ffe27730b chore(eslint-config-appium): update dependency eslint-plugin-promise to v5 (#15492)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 08:44:53 -07:00
renovate[bot]andRenovate Bot 81a2bfe141 chore(appium): update dependency ora to v5 (#15488)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 08:36:13 -07:00
renovate[bot]andRenovate Bot cece26cbb3 chore(doctor): update dependency inquirer to v8 (#15490)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 08:32:05 -07:00
renovate[bot]andRenovate Bot 993ad769ad chore(gulp-plugins): update dependency mocha to v9 (#15493)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 08:31:16 -07:00
renovate[bot]andRenovate Bot 7a7049fa51 chore(gulp-plugins): update dependency node-notifier to v10 (#15494)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 08:30:33 -07:00
renovate[bot]andRenovate Bot 4ce589030a chore(test-support): update dependency sinon to v11 (#15495)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 08:30:07 -07:00
renovate[bot]andRenovate Bot ce47f82d17 chore(workflows): update actions/setup-node action to v2 (#15496)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 08:29:47 -07:00
renovate[bot]andRenovate Bot 1e7026a532 chore(eslint-config-appium): update dependency eslint-plugin-mocha to v9 (#15491)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 08:21:29 -07:00
Ayan Khan 9331969c23 refactor(appium)!: remove support for -custom locator strategy(should be handled by plugins instead) (#15452) 2021-06-09 16:28:29 -07:00
Christopher Hiller 950372c1bd fix(fake-driver): copy non-JS files into build dir at transpile time; closes #15471 2021-06-08 11:32:20 -07:00
Christopher Hiller c66144d62b chore: update @appium/fake-driver to use @appium/base-driver (#15436)
* 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
2021-06-07 15:01:34 -07:00
Kazuaki Matsuo 385e5c5b23 chore(base-driver): remove unused swipe related methods from base-driver (#15455) 2021-06-01 20:06:37 -07:00
Kazuaki Matsuo 254cc638c5 revert(base-driver): "chore: merge base-driver master (de7e41b) to base-driver for 2.0" (#15454)
This reverts commit 01abeac864.
2021-06-02 11:14:46 +09:00
Ayan Khan 21e8d60a5c feat(appium): expose validateCaps in basedriver index (#15451) 2021-06-01 15:53:11 -07:00
Dharin Shah 52f4fc6a2c fix(appium): load plugins before main server to allow plugin monkeypatching (#15441) 2021-06-01 11:10:48 -07:00
Kazuaki Matsuo 01abeac864 chore: merge base-driver master (de7e41b) to 2.0 (#15440) 2021-06-01 05:42:31 +09:00