560 Commits
Author SHA1 Message Date
Isaac Murchie 46a78c96df 3.5.0 v3.5.0 2018-08-14 10:06:30 -04:00
Mykola Mokhnach b161cb9527 Tune arguments transformation for /timeouts API call (#248)
* Tune arguments transformation for /timeouts API call

* Tune number verification

* Remove unnecessary validator

* Remove obsolete tests
2018-08-14 10:48:19 +02:00
Kazuaki Matsuo b90ed154d9 fix raising NotYetImplementedError against commands which exist in image-element (#245)
* fix raising NotYetImplementedError when the element is image-element
2018-08-05 22:37:59 +09:00
Mykola Mokhnach 4ed0c0b3cc Add an optional parameter to /window call (#244)
* Add an optional parameter to /window call

* update the validation

* Use util.hasValue

* Make args to make both protocols happy
2018-08-02 07:53:53 +02:00
Jonathan Lipps 1bb7a3802a 3.4.0 v3.4.0 2018-07-30 13:24:18 -07:00
Jonathan Lipps ec72948de2 add -image locator strategy and related logic (#235)
* add -image locator strategy and related logic

* use appium-support jimp helper

* handle find multiple elements by image

* update staleness check variable name

* ensure that a settings object always exists so we can rely on global settings always existing too

* only fix template size if user requests it in settings

* add note about implicit wait error handling

* only automatically update image element position if user turns on an appropriate setting

* add setting to control whether we check for image element staleness

* add setting to determine the image element tap strategy (w3c or mjsonwp)

* prefer single quotes

* add setting to turn off screenshot resizing if not desired

* add docstrings (except for cache class which we may not keep)

* address additional review comments

* add better jsdoc arg info

* use lru-cache npm package instead of rolling our own

* use new versino of appium-support

* make sure the lru cache is checking element size correctly

* give better names and tighten up logic around image el tap strategies

* add some unit tests for image elements

* ensure DeviceSettings has a default no-op update method

* check that driver implements action strategies and fall back / throw as appropriate

* finish out image element unit tests

* have basedriver set noop onSettingsUpdate rather than doing it in DeviceSettings

* move route avoidance detection from protocol to driver

* handle proxying actions to downstream drivers during image tap

* tighten up logic for deciding whether to proxy based on presence of image element

* add find by image specs and fix issues that arose in the process

* clean up regexes

* don't try to be smart and proxy actions for drivers; let them set it up themselves to support image elements

* change default match threshold based on experimentation

* export which settings are handled by basedriver so downstream drivers can utilize this information

* make sure to include a duration for the initial pointerMove action

* add docstring to proxyRouteIsAvoided
2018-07-30 13:17:54 -07:00
Isaac Murchie f99299a357 3.3.2 v3.3.2 2018-07-27 08:29:50 -04:00
Isaac A. Murchie 855ebe15de Add method to check for unknown error (#242)
* Add method to check for unknown error

* Do not catch and re-throw proxied error

* Fix isUnknownError function and clean up handling
2018-07-26 13:11:47 -04:00
Isaac Murchie 54abe1047c 3.3.1 v3.3.1 2018-07-25 13:26:26 -04:00
Isaac A. Murchie 42f64a87d9 Get message for MJSONWP error (#241)
* Get message for MJSONWP error

* Add comment

* Change parameter, and make work for espresso driver
2018-07-25 13:26:08 -04:00
Isaac Murchie 5face22c10 3.3.0 v3.3.0 2018-07-25 09:30:34 -04:00
Mykola Mokhnach dfae5caf62 Properly handle MJSONWP responses with non-zero status and return code < 400 (#240)
* Properly handle MJSONWP responses with non-zero status and return code < 400

* code 500 looks more appopriate

* Optimize downstream protocol detection

* Update the unit test

* Update errors handling inside proxyReqRes

* Improve the condition
2018-07-25 08:34:45 +02:00
Isaac A. Murchie 2bb0be7ad9 Fix handling of proxy url (#239)
* Fix handling of proxy url

* Allow no base in original proxy url
2018-07-24 15:45:22 -04:00
Mykola Mokhnach 6c81d550d9 Try to fix the destination URL if the upstream and downstream drivers operate different protocols (#238)
* Try to fix the destination URL if the upstream and downstream drivers operate different procotols

* detect route name in smarter manner

* Fix command name extraction

* consider the situation where url is equal to the endpoint

* Simplify helper functions

* Refactor command name extraction

* Refactor urls fixing

* Cache downstream procotol

* speed up downstream protocol detection

* Address comments

* Minor tunings
2018-07-24 15:25:31 +02:00
greenkeeper[bot] 87a64b7e7c fix(package): update ws to version 6.0.0 (#237) 2018-07-23 08:52:47 -04:00
Isaac Murchie 4b92c72db2 3.2.0 v3.2.0 2018-07-20 12:19:43 -04:00
Isaac Murchie ff7320d355 Revert 0fd07f9332 2018-07-20 12:19:03 -04:00
Isaac Murchie 89dedf8d5c 3.1.0 v3.1.0 2018-07-19 09:27:04 -07:00
Isaac A. Murchie 0fd07f9332 Add base to regexp for original proxy url (#236)
* Add base to regexp for original proxy url

* Add test
2018-07-19 09:26:31 -07:00
Isaac A. Murchie f0bb198d7d Remove list of possible values for platformName cap (#233) 2018-07-12 09:15:23 -04:00
greenkeeper[bot] 3f7ec4776a fix(package): update method-override to version 3.0.0 (#234) 2018-07-12 09:14:45 -04:00
Dan Graham c6c56093f5 Handle /timeouts W3C + MJSONWP proxying (#231) 2018-07-11 09:05:01 -07:00
Dan Graham ae21c08248 Log typos (#232) 2018-07-06 19:05:12 -07:00
Isaac Murchie c55754de72 3.0.1 v3.0.1 2018-06-29 16:27:41 -04:00
Isaac Murchie d98c9afe2b Fix reset tests 2018-06-29 16:26:56 -04:00
Isaac Murchie 9330be607d 3.0.0 v3.0.0 2018-06-29 13:04:34 -04:00
Isaac A. Murchie 5f318b4eef Remove list of valid automation names (#229) 2018-06-29 11:02:08 -04:00
Mykola Mokhnach 94522d13be Log errors, which happens during caps merging (#228) 2018-06-27 22:04:04 +02:00
flyofsky 89da842132 Add Tizen tag in desired-caps.js for supporting Tizen (#1) (#227) 2018-06-25 12:52:18 -04:00
dan@saucelabs.com afc5c7adb5 2.33.0 v2.33.0 2018-06-24 06:31:24 -07:00
Dan Graham 850ab93833 Fix: Add 'app' cap to reset tests (#226)
* This test worked fine in base driver but these tests also run in fake driver and don't work beause `app ` is a required capability
* Added `app=fake` to caps
2018-06-23 18:58:38 -07:00
Isaac A. Murchie 87d2f9b672 Fix reset tests for importation (#224) 2018-06-12 07:49:21 -04:00
Kazuaki Matsuo f4b89448d6 add format in deviveTime as a parameter (#225) 2018-06-12 07:59:39 +09:00
greenkeeper[bot] c5cc644098 chore(package): update sinon to version 6.0.0 (#223) 2018-06-11 08:52:05 -04:00
Jonathan Lipps f7c4829111 2.32.2 v2.32.2 2018-06-10 10:58:45 -07:00
Jonathan Lipps cf11eedf7d Merge pull request #222 from appium/jlipps-instanceof
use safer error type check
2018-06-10 10:58:20 -07:00
Jonathan Lipps 1b63101ca9 use safer error type check 2018-06-10 10:50:50 -07:00
Mykola Mokhnach 165543e16d Avoid throwing proxy request error inside command call (#220)
* Avoid throwing proxy request error inside command call

* Tune stacktrace handling for W3C

* Fix var name

* Apply safer check

* Tune the verification
2018-06-08 19:49:41 +02:00
dan@saucelabs.com 9f1dd2ef18 2.32.1 v2.32.1 2018-06-07 13:18:08 -07:00
Dan Graham f72dc5a3ac Fix: Make 'reset' re-use same protocol (#219)
* Before, reset was creating a new session and using the processed caps
* The problem with is, if it was W3C it would create a MJSONWP
* Now it checks the protocol before resetting and passes in the appropriate args to createSession depending on the protocol type
2018-06-07 13:15:28 -07:00
Isaac Murchie ac5386def7 2.32.0 v2.32.0 2018-06-07 09:44:03 -04:00
Mykola Mokhnach bd398761dc Fix sending of commands by JWProxy class (#218) 2018-06-07 06:47:00 +02:00
greenkeeper[bot] 8439803500 Update dependencies to enable Greenkeeper 🌴 (#216)
* chore(package): update dependencies

* docs(readme): add Greenkeeper badge

* chore: adapt code to updated dependencies
2018-06-04 14:48:50 -04:00
Mykola Mokhnach 72dd453b9a Enforce UTF-8 encoding on request headers (#214)
* Enforce UTF-8 encoding on request headers

* Return all headers in lowercase as per HTTP/2 requirement
2018-05-29 07:15:23 +02:00
Isaac Murchie aeec08a08a 2.31.0 v2.31.0 2018-05-22 09:03:10 -04:00
Isaac A. Murchie 2e0b162331 Check for proxied error (#212)
* Check for proxied error

* Fix issue
2018-05-22 09:00:02 -04:00
dan@saucelabs.com 3ebd427d6b 2.30.1 v2.30.1 2018-05-14 08:38:04 -07:00
Dan Graham a74d25cb1e Fix: Throw error after parsing protocol from proxied response (#211)
* Before it was throwing immediately which meant we weren't parsing the protocol and weren't showing the proper error responses
* If proxied W3C error doesn't have an error, make it `Unknown Error`
2018-05-14 08:36:49 -07:00
Dan Graham 8890bef9f1 Use protocol-specific logger (#209) 2018-05-12 11:20:21 -07:00
Isaac Murchie 937392dcbf 2.30.0 v2.30.0 2018-05-08 11:29:37 -04:00