67 Commits
Author SHA1 Message Date
Mykola Mokhnach 26c0932520 fix: Never destroy sockets explicitly (#437) 2020-11-24 07:06:32 +01:00
Mykola Mokhnach 14efcc973a feat: Add Webauthn routes (#433) 2020-09-19 21:24:07 +02:00
dependabot-preview[bot]andMykola Mokhnach 93ff4c16f2 chore(deps): bump http-status-codes from 1.4.0 to 2.1.1 (#428)
* chore(deps): bump http-status-codes from 1.4.0 to 2.1.1

Bumps [http-status-codes](https://github.com/prettymuchbryce/node-http-status) from 1.4.0 to 2.1.1.
- [Release notes](https://github.com/prettymuchbryce/node-http-status/releases)
- [Commits](https://github.com/prettymuchbryce/node-http-status/compare/v1.4.0...2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update imports

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
2020-08-24 07:41:47 +02:00
JesseCodeBones ea431ca7af fix: send empty string instead of null in setValue call (#423) 2020-08-13 10:19:00 +02:00
Jonathan Lipps f1833e33a6 feat: allow plugins to modify the server and method map (#422) 2020-07-22 10:16:36 -07:00
Mykola Mokhnach faf0fb2a7c refactor: Move common constants to a separate file to avoid unnecessary cross-imports (#411) 2020-05-20 20:06:04 +02:00
Mykola Mokhnach 5b5d6dde28 fix: Adjust the validation of proxied requests (#410) 2020-05-05 21:02:32 +02:00
snoopy-peace 5d36756c1c chore: Define options for for doubleClick, buttonUp\Down routes (#406) 2020-04-24 11:31:51 +02:00
Kazuaki Matsuo d22c01f759 feat: add calling chrome devtools endpoint for chromium (#405)
* add calling chrome devtools for chromium

* fill command and required parameter in

* replace goog with :vendor
2020-04-18 10:08:56 +09:00
Isaac A. Murchie 8784face21 fix: add another condition for terminating socket 2020-01-10 15:54:08 -05:00
Isaac A. Murchie 1d350ebb17 fix: terminate socket on DELETE and NoSuchDriverError (#382) 2020-01-10 13:34:55 -05:00
Mykola Mokhnach 9de802864c fix: Sync parameters validation for the old and the new set alert text endpoints (#369) 2019-11-20 09:35:08 +01:00
Jonathan Lipps 09a7bf81c9 feat: add ability to retrieve log events as a new api route (#365) 2019-11-05 16:38:30 -08:00
Jonathan Lipps e434762c31 feat: add new route to allow logging of custom events (#364) 2019-11-04 19:56:31 -08:00
Mykola Mokhnach b860a3bfa4 fix: Adjust the error codes for NotImplementedError (#357) 2019-10-04 13:42:56 +02:00
Mykola Mokhnach 7d0de6b6e4 fix: Avoid using instanceof verification (#356) 2019-09-23 18:52:39 +02:00
Mykola Mokhnach e2b4fb3570 fix: Tune status presence verification for generic protocol (#355) 2019-09-05 20:09:15 +02:00
Jonathan Lipps cc8b879da2 feat: stop hardcoding /wd/hub and make route prefix configurable [BREAKING CHANGE] (#346) 2019-08-27 09:23:10 -07:00
Kazuaki Matsuo 58222d35f9 accept text for setValueImmediate and replaceValue as W3C (#347) 2019-08-16 10:20:53 +09:00
Mykola Mokhnach f64d116e2c Update response handling for proxyReqRes call (#344) 2019-08-10 19:29:51 +02:00
Jonathan Lipps 23d6ecf949 Add endpoint that receives a webdriver script for batch command execution (#328)
* add executeDriverScript route, command, tests

* allow driver scripts to write and collect console logs

* ensure driver script protocol is set to same protocol as driver, and also includes all appium commands

* implement isFeatureEnabled to check for insecure feature

* add tests for isFeatureEnabled

* update feature flag name to match style of other flags

* add ensureFeatureEnabled method for use by other drivers

* move driver script execution into a child process so we can kill it if necessary

* use this.opts.address instead of this.opts.host

* ensure driver script timeout is a number in the child proc as well

* ensure we get webdriverio without issues
2019-06-25 12:12:27 -07:00
Kazuaki Matsuo 25ac169436 fix handling 0 in gsmSignal (#321)
* fix handling 0 in gsmSignal

* use hasValue
2019-05-01 01:43:07 +09:00
Isaac A. Murchie 5b12eebcf0 Add function names (#309) 2019-03-21 14:38:22 -04:00
Khanh Do 757e029fad Fixed typo signalStrength (#308)
* Fixed typo signalStrength

* Update hash

* Added backward-compatible

* Updated hash & fixed unit test
2019-03-06 23:20:11 +09:00
greenkeeper[bot] 4eab674f92 Update eslint-config-appium to the latest version 🚀 (#295)
* chore(package): update eslint-config-appium to version 4.0.1

* chore: fix linting
2019-01-07 13:11:57 -06:00
Kazuaki Matsuo a98f22607e add POST for system_time in order to set payload (#294) 2019-01-07 09:26:10 +01:00
Dan Graham 644208fe60 Copy W3C/Element keys instead of renaming them (#290) 2018-12-10 13:24:36 -08:00
Mykola Mokhnach 27a2d45e38 Avoid TypeError if stacktrace is undefined (#269) 2018-10-16 07:13:39 +02:00
Isaac A. Murchie 04af064564 Update appium-gulp-plugins (#266) 2018-10-03 09:00:58 -04:00
Mykola Mokhnach d176cda10c Append the current session identifier to the protocol name prefix (#259) 2018-09-18 13:53:33 +02:00
Mykola Mokhnach 16e2852a1b Fix the way current protocol is determined from execute response (#258) 2018-09-11 18:27:27 +02:00
Mykola Mokhnach d80a78a615 Fix protocol detection inside the routing function (#257) 2018-09-08 20:39:08 +02:00
Mykola Mokhnach e6218fb4b1 Replace isError lodash verification as it is not reliable (#256) 2018-09-07 16:18:13 +02:00
Mykola Mokhnach 432915f234 Fix setting alert text for W3C protocol (#254) 2018-09-06 18:01:03 +02:00
Mykola Mokhnach 50e4c04805 Change logging level to debug for internal errors (#255) 2018-09-06 18:00:23 +02:00
Mykola Mokhnach e50ef5e6aa Remove the redundant logging from getResponseForW3CError helper (#252) 2018-08-24 16:25:56 +02:00
Mykola Mokhnach f909201791 Add JSONWP<>W3C mapping for window/handles endpoint (#251) 2018-08-21 21:50:00 +02:00
Isaac A. Murchie 5e9df93eeb Clean up error message from protocol (#249) 2018-08-15 08:04:14 -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
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 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 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 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
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
Kazuaki Matsuo f4b89448d6 add format in deviveTime as a parameter (#225) 2018-06-12 07:59:39 +09: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
Isaac A. Murchie 2e0b162331 Check for proxied error (#212)
* Check for proxied error

* Fix issue
2018-05-22 09:00:02 -04: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
Mykola Mokhnach 0765c92d7b Add an optional flags parameter to press_key_code endpoint (#208) 2018-05-07 18:29:21 +02:00