Commit Graph
8634 Commits
Author SHA1 Message Date
dan@saucelabs.com b165d60f9e 2.20.0 v2.20.0 2018-01-12 15:18:54 -08:00
Isaac A. Murchie 7d3ba252e2 Stop making package-lock.json file (#169) 2018-01-12 13:00:24 -05:00
Mykola Mokhnach 9229a58ea4 Update parameters list for start_recording_screen/stop_recording_screen endpoints (#168) 2018-01-12 16:41:04 +01:00
Dan Graham 6902a9fc0a Fix problems with W3C responses (#166)
* Make malformed caps return 400 error
  * Add InvalidArgumentTypeError to errors
  * Made 'NotYetImplementedError' the 405 (Method Not Allowed) status code
  * Made errors in 'createSession' return InvalidArgumentTypeError
* Fix incorrect W3C responses
  * Add w3c status for NotImplemted and NotYetImplemented
  * Changed `getResponseForW3CStatusError` so that throws an unknown error if the exception isn't a w3c exception
  * Checks for property `w3cStatus` to confirm if it's a proper protocol-blessed exception
* Moved logic that reassigned errors into MJSONWP blocks; W3C shouldn't reassign errors because they all have proper status codes
* Added endpoint tests that check that you can create sessions in W3C and that subsequent calls to the session return the correct responses
2018-01-11 16:47:46 -08:00
Kazuaki Matsuo 31f16ac92f Fix implicit wait for w3c (#164)
* fix timeouts for w3c

* revert lock file

* add validation for previous timeouts

* implement custom validator for W3C

* improve if condition

* define isW3CProtocol

* rewrite validation a bit

* apply util.hasValue and string protocol

* add tests

* refactor timeouts for mjsonwp and w3c

* use const

* remove previous timeouts

* use undefined

* rename to timeouts again

* wrap some commands

* remove ...args

* define each command
2018-01-12 08:55:38 +09:00
Dan Graham 45e31b15ac Set automations in one file (#167)
* Made an 'automations.js' file that lists all valid automations as an Object instead of hard-coding it
* appium/appium will use this instead of hardcoding automation names
* Make desired-caps pull in the values of those automations for validation instead of hard-coding them
* Expose 'validAutomations' to Driver object
2018-01-11 10:07:33 -08:00
Dan Graham 281916ffee W3C remediations (#165)
* Fixed a defect in 'firstMatch' validation
  * Previously, it was validating the firstMatch capabilities and was failing on the first validation failure, which is a problem if firstMatch has a length > 1 and it fails before finding a potentially passing capabilities set is found
  * Now, it doesn't error-out on the first failure. If it fails, it skips over it to the next one until it finds one that passes and returns that.

* Altered the 'presence' constraint validation
  *  Don't validate 'presence' on 'alwaysMatch' because if a capability isn't present on 'alwaysMatch' it may be present in one of the 'firstMatch' capabilities
  *  Validate presence on all of the 'firstMatch' capabilities, except for the keys that are present in 'alwaysMatch'. If the key is in 'alwaysMatch', strip out the presence constraint because we know that it has passed already

* Changed the default protocol
  * If MJSONWP _and_ W3C are provided, initiate a W3C session by default. If clients are passing in W3C parameters to create a session, we can safely assume that they've implemented the rest of the W3C spec

* Improved error logging
  * If errors were found, show a message saying `Could not find matching capabilities: ${errors}` where `errors` are a list of all the validation error messages for each of the attempts to validate `firstMatch` caps
  * If `firstMatch` caps has a length of one, then don't show the message saying `Could not find matching capabilities` portion of it, just show the errors

* Other remediations
  * Allow `alwaysMatch` and `firstMatch` to be `null` or `undefined`
  * Added single quotes around names of capabilities when showing their errors
2018-01-10 10:37:11 -08:00
Isaac A. Murchie 270c6b7679 Update release docs to handle dependencies better (#9913) 2018-01-05 10:03:09 -05:00
Dan Graham 36cc935fc5 Revert "Create session and basic interactions samples (#9907)" (#9915)
This reverts commit 061e264800.
2018-01-04 13:52:30 -08:00
Dan Graham 061e264800 Create session and basic interactions samples (#9907)
* Add apps; add create session test
* Android create session tests
* iOS basic interactions test
* Basic web session tests (iOS and Android)
2018-01-04 13:48:24 -08:00
Kazuaki Matsuo 1bc64380c5 add getting active element for w3c (#163) 2018-01-04 20:13:27 +09:00
Isaac Murchie fd24eb9853 CHANGELOG for v1.7.2 2018-01-03 08:43:38 -05:00
Isaac A. Murchie 0d36044ada Wire mobile app management doc into the rest (#9888)
* Wire mobile app management doc into the rest

* Add rendered markup
2018-01-02 16:39:17 -05:00
Dan Graham ed1161f300 Pin fake-driver to 0.2 (#9889) 2018-01-02 15:43:03 -05:00
Mykola Mokhnach c571dedd03 Add documentation for application management endpoints (#9831)
* Add documentation for application management endpoints

* Update launchApp arguments

* Address grammar issues
2018-01-02 10:14:03 -05: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
Isaac Murchie 81c28d8962 2.19.0 v2.19.0 2018-01-02 08:42:33 -05:00
Mykola Mokhnach 9f95a75d96 Make sure that temporary files are cleaned up properly while configuring the app (#158)
* Make sure that temporary files are cleaned up properly while configuring the app

* Improve the algorithm for files downloaded from SMB shares
2017-12-29 20:03:47 +01:00
Mykola Mokhnach fd0a0dc234 Add documentation for mobile:shell feature (#9803)
* Add documentation for mobile:shell feature

* Replace line break with space
2017-12-28 20:44:09 +01:00
Kazuaki Matsuo 15974203d2 Fix the number of systemPort (#9815)
* Fix the number of systemPort

* fix systemPort description
2017-12-27 10:09:33 -05:00
Isaac A. Murchie 524cee0796 Add e2e-tests to travis config (#9841) 2017-12-27 07:34:08 -05:00
Dan Graham 1a8730138d Check shouldValidate before validating (#162) 2017-12-23 16:19:38 -08:00
dan@saucelabs.com 3a576ed354 2.18.4 v2.18.4 2017-12-22 13:34:37 -08:00
dan@saucelabs.com a3c1c75f3d Fix: w3c response missing 'capabilities' 2017-12-22 13:34:00 -08:00
dan@saucelabs.com e758ac13c9 2.18.3 v2.18.3 2017-12-22 13:21:41 -08:00
Dan Graham b7a99abc91 w3c CreateSession response (#161) 2017-12-22 13:20:52 -08:00
Dan Graham 376a0d3089 Make it so that 'status' is only returned for MJSONWP (#160)
Also:
* Make the 'fake-driver' a MJSONWP driver
* Fix unit tests that were broken when being called in 'appium-fake-driver'
2017-12-22 12:20:48 -08:00
Jonathan Lipps 74cb15ebdc ensure we get 1.x versions of windows driver (#9837) 2017-12-22 07:08:12 -05:00
dan@saucelabs.com 6101dc0fae 2.18.2 v2.18.2 2017-12-21 10:00:27 -08:00
Dan Graham d41b3629aa Don't validate 'presence' on firstMatch caps (#159)
* Doesn't make sense to validate 'presence' in the firstMatch caps, because the firstMatch caps extend alwaysMatch
* Only 'alwaysMatch' should validate 'presence'
2017-12-21 09:55:27 -08:00
dan@saucelabs.com ff254e122d 2.18.1 v2.18.1 2017-12-20 15:15:03 -08:00
Dan Graham ab1c359bad Fix incorrect identifying of unprefixed caps (#157) 2017-12-20 15:14:13 -08:00
Dan Graham f62a2a2875 Merge W3C caps into JSONWP desiredCapabilities (#9824) 2017-12-20 15:13:49 -08:00
Isaac A. Murchie 1b1d9dbf3f Add printPageSourceOnFindFailure to caps list (#9829) 2017-12-20 13:18:57 -05:00
Isaac Murchie 619fc4bfb9 2.18.0 v2.18.0 2017-12-19 09:02:27 -05:00
Isaac A. Murchie 973a6d70bb Add printPageSourceOnFindFailure flag to print source when find fails (#156) 2017-12-19 09:01:34 -05:00
Isaac Murchie 53431658fb Prepare for 1.7.2-beta4 release 2017-12-18 14:45:45 -05:00
Kazuaki Matsuo 21d7502dc3 add systemPort related description (#9806)
* add systemPort related description

* address adjusting the port to avoid conflict

* apply the reviewed point
2017-12-18 23:47:56 +09:00
Isaac Murchie 9b6d4b041b 2.17.2 v2.17.2 2017-12-18 07:33:05 -05:00
Jørgensen 8a705f8978 Added info about valid settings (#155) 2017-12-18 07:32:23 -05:00
Isaac Murchie 1ac29f9236 Prepare for 1.7.2-beta3 release 2017-12-15 16:33:10 -05:00
Isaac Murchie 23ddc3068b 2.17.1 v2.17.1 2017-12-15 16:07:47 -05:00
Mykola Mokhnach 1a91bec967 Support pre-W3C element screenshot endpoint (#154) 2017-12-15 16:03:06 -05: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 760d31165d Merge pull request #9790 from mykola-mokhnach/insecure_arg
Add relaxed security command line flag
2017-12-14 15:43:12 +01: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
dan@saucelabs.com c6a4e49843 2.17.0 v2.17.0 2017-12-13 14:53:50 -08:00
Dan Graham 53de387100 Handle capabilities prefixes (#153)
* Strip out 'appium:' prefixes
* Reject standard capabilities that contain the 'appium:' prefix
* Expose 'processCapabilities' as API method
2017-12-13 14:53:05 -08:00