Commit Graph
25 Commits
Author SHA1 Message Date
Jonathan Lipps 4ec2d1edd7 Publish
- appium@2.0.0-beta.15
 - @appium/base-driver@8.0.2
 - @appium/doctor@1.16.3
 - @appium/eslint-config-appium@4.7.2
 - @appium/fake-driver@3.0.2
 - @appium/gulp-plugins@5.5.3
 - @appium/support@2.54.2
 - @appium/test-support@1.3.6
2021-09-14 14:08:52 -07:00
Jonathan Lipps 47ae708945 Publish
- appium@2.0.0-beta.14
 - @appium/base-driver@8.0.1
 - @appium/doctor@1.16.2
 - @appium/fake-driver@3.0.1
 - @appium/gulp-plugins@5.5.2
 - @appium/support@2.54.1
 - @appium/test-support@1.3.5
2021-09-14 14:03:56 -07:00
Renovate Bot 7cb49d59ef chore(appium): pin dependencies 2021-09-14 09:33:34 -07:00
Jonathan LippsandAyan Khan 050d099e87 feat!(appium): support driver-specific args via --driver-args
Co-authored-by: Ayan Khan <ayan@headspin.io>
2021-09-10 10:35:56 -07:00
Jonathan Lipps eaafb29fee chore: update git tags in package.json based on last lerna release 2021-08-16 16:05:50 -07:00
Jonathan Lipps ec6a90a797 Publish
- appium@2.0.0-beta.13
 - @appium/base-driver@8.0.0-beta.7
 - @appium/doctor@1.16.1
 - @appium/eslint-config-appium@4.7.1
 - @appium/fake-driver@3.0.0
 - @appium/gulp-plugins@5.5.1
 - @appium/support@2.54.0
 - @appium/test-support@1.3.4
2021-08-16 15:48:44 -07:00
Christopher Hiller ee00285b38 chore: global chai
This PR makes `chai` and `should()` _globals_ when using Mocha:

- `chai` is configured with `chai-as-promised`
- A `.mocharc.js` requires `./test/setup.js` _from the monorepo root_.
- Updated the ESLint config to recognize the globals.
- Updated Wallaby config

All instances of `import chai...` and the like have been removed from all test files.
2021-08-13 10:40:52 -07:00
Renovate Bot 11c2c802ed chore(gulp-plugins): update babel monorepo 2021-08-13 12:15:51 +00:00
Renovate Bot fc23e07348 chore(fake-driver): update dependency xmldom to ^0.6 2021-08-13 10:36:26 +00:00
Renovate Bot b2233e84a1 chore(fake-driver): update dependency asyncbox to ^2.8.0 2021-08-13 10:08:04 +00:00
Renovate Bot ceb70e1950 chore(test-support): update dependency lodash to ^4.17.21 2021-08-11 21:57:56 +00:00
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
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
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 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
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
Christopher Hiller 4def2e926a chore: configure lerna for publishing
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.
2021-05-24 15:16:15 -07:00
Jonathan Lipps 9471f13270 feat!(fake-driver): wrap fake app source with <AppiumAUT> like other drivers
this will improve appium inspector compatibility
2021-05-24 11:48:03 -07:00
Christopher Hiller 92c329f7bc fix(fake-driver): use appium-base-driver@1.x for now 2021-05-18 12:39:52 -07:00
Christopher Hiller f5678fcc58 chore: consolidate more eslint config 2021-05-18 12:33:58 -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 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 f26bdb18d3 chore: add @appium/gulp-plugins to monorepo 2021-05-17 14:17:42 -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