Граф коммитов

1389 Коммитов

Автор SHA1 Сообщение Дата
Simon Søndergaard 6de9ba33d3 harden ensureFunctions 2019-01-29 15:09:56 +01:00
Simon Søndergaard 5e1fecc03e make sure to override all capas 2019-01-28 15:06:49 +01:00
Jonathan Stoneman d0b963bc20 Fallback from espresso-driver 2019-01-21 11:40:57 +00:00
Jonathan Stoneman 3f80792c9f Override UiAutomator2 automationName when required 2019-01-17 08:27:30 +00:00
Simon Søndergaard e4b7320399 implement XTC_FORCE_AUTOMATIONNAME 2019-01-16 13:16:03 +01:00
Dan Graham 8edba58fc9 Add deprecation notice when automationName not set (#11979)
* Add deprecation notice when automationName not set

* PR changes
2019-01-15 14:53:21 -08:00
Isaac A. Murchie f88c9958ac
Fix color stripping from console logger (#11853) 2018-12-17 10:10:06 -05:00
Jonathan Lipps caa40a9366 only allow cors when using a special flag (#11719)
* only allow cors when using a special flag

* add docs about --allow-cors flag
2018-11-22 13:14:51 -08:00
Isaac A. Murchie 102f5ed0f3
Update winston logger (#11583) 2018-10-26 13:39:38 -04:00
Mykola Mokhnach bfcca7243b
Do not use Github API fallback by default (#11506) 2018-10-10 18:41:33 +02:00
Isaac A. Murchie 4ff699a80a
Remove error logging from getting the build info (#11499) 2018-10-09 13:44:35 -04:00
Isaac A. Murchie 7f3f136557
Update appium-gulp-plugins (#11461) 2018-10-03 09:39:25 -04:00
Mykola Mokhnach fcfefd02c7
Fix the key name for the default capability (#11316)
* Fix the key name for the default capability

* Add a unit test for default caps
2018-09-06 07:11:16 +02:00
Mykola Mokhnach fab9973674
Write defaultCapabilities into firstMatch instead of alwaysMatch only if it is not overriden (#11303)
Partially addresses protocol setting issue in #11300
2018-09-04 20:43:31 +02:00
Mykola Mokhnach 41cc517cbf
Return more appropriate info as server status and speed it up (#11232)
* Improve /status response for the umbrella driver
2018-08-28 15:42:33 +02:00
Isaac A. Murchie f80a75fdac
Add Tizen as automationName for appium-tizen-driver (#11262) 2018-08-27 10:21:39 -04:00
Isaac A. Murchie 7a00b3f875
Clean up argument for long stacktraces (#11174) 2018-08-14 06:25:33 -04:00
Isaac A. Murchie 6ae14c852f
Add automationName and platformName desired cap constraints (#11008) 2018-07-05 14:29:05 -04:00
Isaac A. Murchie 2fee4d7c5a
Move maps into constants (#10967)
* Move maps into constants

* More constiness for jlipps

* A little format change
2018-06-29 12:35:02 -04:00
Isaac A. Murchie 32c4441a7a
Fix the build (#10971) 2018-06-29 12:25:47 -04:00
Mykola Mokhnach eebc1d57a1 Try to automatically fix W3C capabilities by using existing JSONWP caps (#10962) 2018-06-28 18:17:03 -07:00
Mykola Mokhnach 1c24b0f649
Refactor driver creation logic in the umbrella driver (#10966)
* Refactor driver selection flow

* Fix the logic

* Apply some more optmizations

* Address comments

* Simplify the condition

* Use correct function
2018-06-28 19:57:05 +02:00
flyofsky 40ed9c066d Add Tizen Driver (#10938)
* Support the Tizen

* Add Tizen Driver in package.json (#3)
2018-06-28 09:35:23 -04:00
Mykola Mokhnach fc84cc1212 Remove prefixes from MJSONWP capabilities if W3C protocol cannot be enabled (#10948) 2018-06-26 15:56:41 -04:00
greenkeeper[bot] 15f7929593 Update winston to the latest version 🚀 (#10863)
* fix(package): update winston to version 3.0.0

* Lock winston to 2.x
2018-06-13 07:56:33 -04:00
Dan Graham 001e2f3674
Add VSCode launch configurations (#10683)
* Added debug, attach to debug, test-all, and test-current-file
* The debug and attach to debug allow you to run Appium server
* Made some changes to how package.json is located to support being able to run Mocha tests directly from 'test/' instead of from 'build/test/'
2018-05-15 11:35:46 -07:00
Mykola Mokhnach b06cc534dd
Fix server property assignment in the umbrella driver (#10496) 2018-04-06 19:04:02 +02:00
Andres Galindo 048ca4be43 Added support for hub protocol (#10434) 2018-03-28 15:57:48 -04:00
Dan Graham b4d27a4281
Pass protocol in execute command (#10362)
* Make it so executeCommand returns protocol and value/error
  * This is so that base driver can read the protocol and serve the response (base driver doesn't know what the protocol of the inner drivers are)
  * Added tests to confirm that it falls back to MJSONWP if an inner driver is not ready and handles concurrent MJSONWP and W3C sessions
  * Updated unit tests to match the new format
2018-03-27 14:39:48 -07:00
Mykola Mokhnach 0774ffcefc
Attach server instance to each driver being created (#10400) 2018-03-23 07:39:15 +01:00
Isaac A. Murchie 348eacf3d1
Move to minimum node 6 (#10180) 2018-02-12 15:03:11 -05:00
Mykola Mokhnach 8093a35121
Use uia2 backend by default if platform version is greater or equal to 6 (#10073)
* Use uia2 backend by default if platform version is greater or equal to 6

* Allow to force set the backend to UIA1

* Add unit tests

* Tune the log message

* Print a warning message instead of changing the driver type

* Remove redundant imports

* Tune the message

* Address PR comments
2018-01-29 17:14:52 +01:00
Dan Graham 35135a6ee5
Remove unnecessary 'finally' block (#10076)
* Shouldn't have had finally block because then it does two checks to fall back to MJSONWP
* Also fixed outdated tests
2018-01-25 12:45:02 -08:00
Dan Graham 050db9880a
Fall back to MJSONWP if W3C is invalid (#10034)
* If processCapabilities throws error, then log a warning that it was invalid and log the message and fall back to using jsonwpCaps
2018-01-18 18:07:56 -08:00
Dan Graham ee569cbed1
Use MJSONWP if dcaps have extraneous params (#10019)
* Update `parseCapsForInnerDriver` so that now if it finds extraneous keys in `jsonwpCaps`, fall back to using MJSONWP instead of W3C
* After getting processed caps, check the protocol again because if `processedW3CCapabilities` was set to null, it should be JWP
* Removed tests that tested for capabilities being merged together (those are no longer needed)
* Added tests (unit test and e2e test) that check that creation of a new session will fall back to JSONWP when there are extraneous keys
2018-01-18 13:02:09 -08:00
Dan Graham fb7280da32 No hardcoded automation names (#10002) 2018-01-17 07:48:30 -05:00
Dan Graham f27d6565d0
W3C Full Implementation (#9972)
* Refactored code from createSession into parseCapsForInnerDriver()
  * parseCapsForInnerDriver() takes jsonwp and w3c capabilities and translates them into objects that can be accepted by the "inner driver" that it proxies to
  * It adds defaultCapabilities to capabilities.firstMatch and jsonwp caps
  * It finds matching caps for W3C and then creates a new W3C capabilities object that only has the valid matching one
  * After parseCapsForInnerDriver() parses the JSONWP and W3C it passes the results along to the inner-driver and it's up to the inner driver to create a W3C or JSONWP session

* Add validation to W3C session creation
  * Call to 'processCapabilities' does validation now so that it will match an object that passes Appium's validation rules (e.g.: platformName, deviceName required; automation name must be valid, etc...)
  * Test that it accepts combo of W3C and JSONWP capabilities
  * Test that it rejects invalid W3C capabilities with 400 error
  * Also added 'createSession' unit test
  * Stripped out unnecessary async/await from driver-specs

* Insert Appium prefixes into W3C caps
  * Previously, Appium just took the W3C capabilities, processed them into a caps object and 
  passed them into the inner driver as

  ```
  {
    alwaysMatch: parsedCaps,
    firstMatch: [{}],
  }
  ```

  * The problem with this is that all of the parsedCaps were unprefixed, and therefore the Inner 
  Driver complained about it

  * Now, it takes the parsedCaps and calls a new method called 'insertAppiumPrefixes' on the 
  parsed caps like this:

  ```
  {
    alwaysMatch: {...insertAppiumPrefixes(parsedCaps)},
    firstMatch: [{}],
  }
  ```

  * Refactored tests that were affected by this change
  * Added tests to test insertAppiumPrefixes function
2018-01-16 10:26:44 -08:00
Dan Graham b666c3353c Force MJSONWP protocol (#9869)
* The 'executeCommand' on appium-base-driver checks the protocol by looking for the w3c 'capabilities' object
* Right now it's finding it and then appium is merging capabilities into desiredCapabilities so we're getting a case of 'createSession' misidentified as W3C
* Fix for next release is just to monkey-patch the method that determines the protocol to return MJSONWP
2018-01-02 09:40:28 -05:00
Dan Graham f62a2a2875
Merge W3C caps into JSONWP desiredCapabilities (#9824) 2017-12-20 15:13:49 -08:00
Dan Graham a8911ba51c
Support w3c createSession (#9791)
* In 'createSession', process w3c caps using 'processCapabilities' method exposed by base-driver
* Add tests that run W3C requests on server to verify that it's accepting w3c format
2017-12-15 09:24:28 -08:00
Mykola Mokhnach b8199b8472 Remove redundant variable 2017-12-14 14:26:02 +01:00
Mykola Mokhnach af8fed6186 tune logging 2017-12-14 14:24:36 +01:00
Mykola Mokhnach 1e47e1b0a9 Address review comments 2017-12-14 14:22:19 +01:00
Mykola Mokhnach dca6708fe6 Add relaxed security command line flag 2017-12-13 20:49:45 +01:00
Isaac Murchie 3d7dd1e857 Fix logging of caps 2017-11-06 09:21:59 -05:00
Wei Gu 433a453903 Fix synchrous issue: appium may call session check even after session is deleted (#9550) 2017-10-30 14:42:26 -04:00
Isaac A. Murchie 94635edeac Update linting (#9123)
* Update linting

* Move minimum node version to 5

* Remove coverage for now

* Fix docs for node version

* Fail for node 4 and below
2017-08-31 07:49:43 -04:00
Mykola Mokhnach 89242a40bc Cancel commands queueing for the umbrella driver (#9052) 2017-08-22 09:45:24 -04:00
Mykola Mokhnach 64ccbc1a98 Add basic synchonization to session creation and deletion (#8983)
* Guard sessions and pending drivers lists

* Address review comments

* Improve session deletion

* Perform fast return if the session is not present in the sessions list
2017-08-21 14:16:12 -04:00
Mykola Mokhnach 83d0cc3468 Include the information about pending drivers being currently at creation stage into createSession argument (#8925)
* Include the information about pending drivers being currently at creation stage into createSession argument

* Address review comments
2017-07-31 17:16:05 -04:00