511 Commits
Author SHA1 Message Date
Isaac Murchie 937392dcbf 2.30.0 v2.30.0 2018-05-08 11:29:37 -04:00
Isaac Murchie 074e27f6e0 Update mock-fs so node 10 tests work 2018-05-08 11:28:17 -04:00
Mykola Mokhnach 0765c92d7b Add an optional flags parameter to press_key_code endpoint (#208) 2018-05-07 18:29:21 +02:00
Isaac Murchie 264c02e7e8 2.29.1 v2.29.1 2018-05-07 09:33:11 -04:00
Mykola Mokhnach 700017fccf Add missing await (#207) 2018-05-06 08:03:05 +02:00
Isaac Murchie 9c02302328 2.29.0 v2.29.0 2018-04-27 11:08:27 -04:00
Isaac A. Murchie 1f87d0e289 Update dependencies (#206)
* Update deps

* Fix a couple of tests

* Fix protocol tests

* Fix timeout in helper and protocol tests
2018-04-27 11:08:08 -04:00
Isaac Murchie 82d38f8c52 2.28.0 v2.28.0 2018-04-20 12:43:19 -04:00
Mykola Mokhnach 6311b34615 Add an universal endpoint for images comparison (#203)
* Add an universal endpoint for images comparison

* Rename arguments

* Add documentation

* Raise appium-support version
2018-04-19 15:53:15 +02:00
Isaac Murchie 3b17f6a7ed Remove query string from attempt to find route 2018-04-19 06:53:01 -04:00
Mykola Mokhnach 3f14e5f3b3 Publish the path to static resources root (#204) 2018-04-19 07:09:09 +02:00
Isaac Murchie 11d5d935be 2.27.2 v2.27.2 2018-04-12 11:55:37 -05:00
Isaac Murchie 8937df19fe Get route name for / 2018-04-12 11:54:55 -05:00
dan@saucelabs.com 91bbbd6673 2.27.1 v2.27.1 2018-04-04 09:55:06 -07:00
Dan Graham 7bf5a3e6d7 Fix protocol parsing (#201)
* Some problems with parsing `{protocol: <protocol>, value: <value>}`
  * `(!_.isNil(driverRes.value)` was incorrect check because `value` can be undefined or null; replaced it with `_.has(driverRes, 'value')` to check that the `value` property was set
  *  ```
       if (driverRes.value) {
          driverRes = driverRes.value;
        } 
      ``` 

      was also incorrect because `driverRes.value` may be false-y

* Moved logic into it's own function and then added tests to cover the problem cases
2018-04-04 09:54:21 -07:00
Isaac Murchie f2d8bc957e 2.27.0 v2.27.0 2018-03-29 13:45:36 -04:00
Mykola Mokhnach 2cb6695446 Send request along with websocket instance (#200) 2018-03-29 14:29:22 +02:00
dan@saucelabs.com c423ad68a6 2.26.0 v2.26.0 2018-03-27 14:04:51 -07:00
Dan Graham f7f822611c Parse protocol from executeCommand (#195)
* If`executeCommand` returns an object that has a property 'protocol' and either a 'value' property or an 'error' property, respond with the provided protocol
* If the object is of this form, than it came from another driver that knows what protocol is being used so we re-assign the protocol to whatever was reported
* Added to delay in the 'unexpected exits' test because I was getting a race condition
2018-03-27 14:00:36 -07:00
Mykola Mokhnach 59235da587 Add endpoints for system clipboard interaction (#199)
* Add endpoints for system clipboard interaction

* Fix get endpoint
2018-03-26 14:46:37 +02:00
Mykola Mokhnach 8a48eb3f94 Tune prefix handling for web socket pathnames (#198) 2018-03-23 18:44:33 +01:00
Isaac Murchie 9737715a77 2.25.0 v2.25.0 2018-03-22 11:27:29 -04:00
Mykola Mokhnach b1648467dc Add common websocket handlers (#196)
* Add common websocket handlers

* tune the default prefix

* Add integration test

* Tune the test

* Fix the functional test

* Tune socket import

* Address review comments

* Tune some expectations
2018-03-22 16:21:02 +01:00
Isaac A. Murchie bbb8b2d541 Update travis config (#197) 2018-03-21 11:11:52 -04:00
Isaac Murchie b429f6a1ba 2.24.2 v2.24.2 2018-03-15 15:26:37 -04:00
Isaac Murchie 1cd44cf1b5 Distinguish new window from plain window in static page 2018-03-15 15:24:56 -04:00
dan@saucelabs.com eb24c6395e 2.24.1 v2.24.1 2018-03-15 08:48:38 -07:00
Dan Graham da4f28f7d9 Fix: Determine protocol in createSession (#194)
* Previously, we were only checking the HTTP payload to see what protocol should be
* This is inadequate, in the case of drivers that don't proxy W3C Capabilities yet
* The fix now is to set the protocol in `createSession` to see if the W3C caps were proxied through, if they're not, set protocol to MJSONWP
* Added unit test and one e2e test to confirm that this works
2018-03-14 15:44:50 -07:00
Isaac Murchie e7c965e618 2.24.0 v2.24.0 2018-03-13 11:42:18 -04:00
Mykola Mokhnach e42e77a19e Sync w3c codes with the recent spec (#193) 2018-03-05 19:19:45 +01:00
Mykola Mokhnach d62cb5a471 Add missing error codes (#192)
* Add missing error codes

* Add more logging

* Fix sime unit tests

* Add NoSuchFrameError W3C error

* Address comments

* Fix the unit test
2018-03-05 07:41:50 +01:00
Isaac Murchie 9c663bc764 2.23.0 v2.23.0 2018-02-23 12:03:11 -05:00
Isaac A. Murchie b143cff884 Add logging commands to the base driver (#191)
* Add logging commands to the base driver

* Address comments
2018-02-23 12:02:20 -05:00
Isaac Murchie a8c0dde3e5 2.22.3 v2.22.3 2018-02-23 05:54:28 -05:00
Linda_pp bd5b5379a0 fix the default value of payload parameters (#190) 2018-02-23 05:53:28 -05:00
Mykola Mokhnach c0bb5166c8 Print more advanced error message for non-supported protocols (#189) 2018-02-21 17:20:48 +01:00
dan@saucelabs.com e85e4bf741 2.22.2 v2.22.2 2018-02-19 09:23:56 -08:00
Dan Graham a14aa5f428 Convert JSONWP proxy errors (#188)
* Convert JSONWP proxy errors
  * Previously, if a proxied response has a status code >= 0 but http status code 200, the error is thrown but it's an unknown error because the 'getResponseForW3CError' function doesn't translate the error
  * Now, it translates the JSONWP error using logic we already have that accomplishes this
  * Added E2E test that tests a proxy that returns 200 but status 7 to check that it throws the correct ElementNotFoundError
  * Added unit test to handle the new case in 'getResponseForW3CError'
2018-02-19 09:22:01 -08:00
Mykola Mokhnach d47d597731 Add urls caching logic (#187)
* Add urls caching logic

* Tune date verification

* Fix dictionary access

* tune try/catch scope

* simplify the condition
2018-02-16 14:51:16 +01:00
Isaac Murchie b7299c420c 2.22.1 v2.22.1 2018-02-14 08:02:52 -05:00
Mykola Mokhnach d9ee071707 Properly handle unexpected socket errors (#186) 2018-02-13 16:21:57 -08:00
Daniel Graham 6a1bb47e86 2.22.0 v2.22.0 2018-02-09 13:48:11 -08:00
Mykola Mokhnach c679d534e4 Change the request type of queryAppState to POST (#185)
* Change the request type of queryAppState to POST

* Keep GET template
2018-02-08 14:38:26 +01:00
dan@saucelabs.com a5adc116d8 2.21.2 v2.21.2 2018-02-07 10:42:08 -08:00
Dan Graham b00cc4489b Parse strings for W3C and JSON (#184) 2018-02-07 10:39:15 -08:00
Dan Graham d580282b2a Reassign 'errorFromCode' to 'errorFromW3CJSONCode' (#183)
* When doing refactoring, erroFromCode was split into 'errorFromMJSONWPStatusCode' and 'errorFromW3CJsonCode'
* 'errorFromCode' was being exported as an alias for 'errorFromW3CJSONCode' to avoid breaking changes
* Should have been an alias for 'errorFromMJSONWPStatusCode' though
2018-02-06 14:19:52 -08:00
dan@saucelabs.com 361d6f1c59 2.21.1 v2.21.1 2018-02-05 11:56:38 -08:00
Dan Graham 7ffda66813 Fixed W3C error messaging (#182)
* Do proxying for W3C responses
  * If a W3C Response is provided by a proxy, map to the correct error
  * Checks if `value` is an object and `value.error` and maps it based on that (`value.error` is the W3C error code)
  * Broke off `errorFromCode` into `errorFromMJSONWPStatusCode` and `errorFromW3CJsonCode`
* Rename '.error' property to correct W3C property
  * The error property in the ProtocolError objects should match up with https://www.w3.org/TR/webdriver/#handling-errors under the 'JSON Error Code' column
  * Added tests for all of these
* Make ProxyRequestError work for W3C
  * Added an arg called `.w3c` that passes in the proxied W3C error
  * Fixed the `getActualError` function that looks for the .w3c variable and parses error from the code
2018-02-05 11:55:56 -08:00
Isaac Murchie 2933fe45ec 2.21.0 v2.21.0 2018-02-01 08:38:13 -05:00
Mykola Mokhnach c8d1a1f7da Add an endpoint for application activation (#181) 2018-01-31 14:47:40 +01:00