160 Commits
Author SHA1 Message Date
Dan Graham ab1c359bad Fix incorrect identifying of unprefixed caps (#157) 2017-12-20 15:14:13 -08:00
Isaac A. Murchie 973a6d70bb Add printPageSourceOnFindFailure flag to print source when find fails (#156) 2017-12-19 09:01:34 -05:00
Jørgensen 8a705f8978 Added info about valid settings (#155) 2017-12-18 07:32:23 -05:00
Mykola Mokhnach 1a91bec967 Support pre-W3C element screenshot endpoint (#154) 2017-12-15 16:03:06 -05: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
Dan Graham 090d94795a Add W3C /actions endpoint (#146) 2017-11-21 04:54:39 -08:00
Dan Graham 4d2a5bd000 w3c routes (#147)
* Add aliased W3C routes
* Implement getTimeouts command
* getTimeouts returns an object containing all the timeouts and their values as key-value pairings
* Added routeHandler too
* Added w3c routes
2017-11-21 04:54:39 -08:00
Dan Graham 308e560ca1 W3C Error Formatting (#145)
* Remember protocol requested in createSession
  * Also renamed 'processCaps' to 'processCapabilities'
  * Checks the parameters in 'createSession' and determines if it's W3C or MJSONWP
* Add W3C error format
  * Add W3C status codes to errors
  * When deciding error format to return in mjsonwp.js, check format and then return eitherJSONWP or W3C format
2017-11-21 04:54:39 -08:00
Stu Duffy 6bda0705b7 Small correction to URI scheme validation (#151) 2017-11-16 07:23:55 -05:00
cschabetsberger-micro-focus b7b0b7b2f3 Detect a non-working chromedriver connection after androidDriver.closeApp() and androidDriver.launchApp() (#136)
* * Make sure to detect a non-working chromedriver connection after calling androidDriver.closeApp() and androidDriver.launchApp() by returning the result body (resBody) only if it does not contain a status code

* Adapted unit test to cover the case when chromedriver responds with http
200 but status code != 0 (which represents an error)
Also fixed a typo in another test description
2017-10-13 09:05:02 -04:00
Isaac Murchie 02aab72bb0 Add error throwing to guinea pig static page 2017-10-10 08:25:35 -04:00
wei-gu c63e2e9ce1 fix smbfs path (#140) 2017-09-22 14:49:09 -04:00
Isaac A. Murchie 4d47b73c3d Add static page with app banner (#138) 2017-09-11 07:32:29 -04:00
Mykola Mokhnach 7f01fb001d Add a possibility to execute commands without queueing them 2017-08-18 14:29:03 +02:00
Mykola Mokhnach 8481b9ac7c Add 'enabled' parameter to toggle_touch_id_enrollment endpoint (#130)
* Add 'enabled' parameter to toggle_touch_id_enrollment endpoint

* Update the hash
2017-08-16 14:35:52 -04:00
Isaac A. Murchie 01e9914b66 Update linting and add coverage (#131) 2017-08-15 08:53:47 -04:00
Mykola Mokhnach a693ac4796 Add driverData property to the base driver class (#132) 2017-08-14 08:29:54 -04:00
Bruno Alassia 8cd54941a3 Add new endpoints (#129)
* add routes for new emulator methods

* add networkSpeed method

* update hash
2017-08-08 16:47:25 -04:00
Jonathan Lipps e2032ebeba warn when a setting does not exist (#127)
* commit npm 5 package-lock

* warn if someone attempts to set a setting which has no default (fix appium/appium#3585)
2017-07-19 07:36:16 -04:00
cool-firer f72c61c071 exchange deleteSession and curCommandCancellable (#126)
session should be closed firstly if some unexpected happens, so the following request can be responsed immediately.
2017-07-19 07:35:48 -04:00
Isaac A. Murchie 3bffc168b8 Allow downloaded app urls to have query strings (#125)
* Allow downloaded app urls to have query strings

* Readjust some of the work
2017-07-07 07:24:59 -04:00
Jonathan Lipps acd890bb20 fix bug in DeviceSettings where we could mutate external object 2017-06-15 14:35:33 -07:00
Isaac A. Murchie 190a896d9c Add route to get current package (#123) 2017-06-15 07:07:25 -04:00
Jonathan Lipps 1991379a00 allow both 'value' and 'text' params for setValue (#121)
* allow both 'value' and 'text' params for setValue

this introduces a 'makeArgs' option for the spec which allows handling of more complex scenarios.

* clarify some variable names and add fuller commentary
2017-05-30 11:13:17 -04:00
Mykola Mokhnach dd084953b8 Add warning message for erroneous responses to make debugging easier (#119) 2017-05-16 09:47:09 -07:00
Dan Graham 0bf5acbd52 Removed adm-zip (#118)
* Added a test for unzipFile (which uses adm-zip)
* Tested that it worked with adm-zip and then failed once adm-zip was taken out
* Replaced 'adm-zip' with zip.extractAllTo from appium-supprt
2017-04-26 17:55:46 -07:00
Dan Graham 9d1b2cedae Implemented capabilities spec (#117)
* Update  hash

* Add validateCapabilities and parseCapabilities

* Added merge capabilities

* Moved capabilities into it's own file

* Added capabilities as a possible required param

* Can pass desiredCapabilities or capabilities into createSession

* Remove 'required' desiredCapabilities

* desiredCapabilities isn't required any more because we can provide capabilities as well
* Will need to  update validation logic in 'driver.createSession' to do the validation there instead

* Code cleanup

* Skip presence constraint in parseCapabilities

* We don't need to check that items are present until after we've formed the matched capabilities

* Added validation function to routes

* Function 'validate' takes params as an arg and then returns a message if the validation fails
* Uses this to validate that either "capabilities" or "desiredCapabilities" was provided

* Renamed capabilities to caps

* Move caps required validator from process to parse

* Removed InvalidParametersError

* Update BadParametersError so that if a message is added as the 3rd argument it shows a different error message

* Made validation re-usable
2017-04-07 15:12:12 -07:00
Isaac A. Murchie 1a34f6b989 Fix casing on record screen endpoints (#115) 2017-03-29 13:00:15 -04:00
heeseon hwang 363fdacbf7 record the screen while testing (#114)
* record the screen while testing

* Update routes-specs.js
2017-03-23 07:31:18 -04:00
Dan Graham 684ca3621b Add toggle_touch_id_enrollment endpoint (#112)
* Add toggle_touch_id_enrollment endpoint

* Update  hash
2017-03-22 18:54:12 -04:00
Dan Cuellar 3b07636377 Make Mac an accepted platform 2017-03-16 09:22:27 +00:00
Jonathan Lipps 9a7c6de17d ensure we log events in a debug fashion at least 2017-03-03 14:37:38 -08:00
Jonathan Lipps d75bde2a0e add event timing framework to base driver 2017-03-03 13:41:02 -08:00
Mykola Mokhnach d5ffe5773a Add proxy method to verify whether it has a request in progress and to cancel active requests (#105) 2017-02-21 08:49:43 -05:00
Mykola Mokhnach a6e522d619 Add helper method for matching endpoints and method names to command names (#104) 2017-02-15 07:39:07 -05:00
Kazuaki MATSUO d62d336357 update required an optional parameters for getting performance 2017-02-01 08:47:49 +09:00
Jonathan Lipps 0ad8e49b8e error out if someone tries to use both fullReset and noReset together 2017-01-31 14:17:36 -08:00
Max Hawkins 4b62dac30b Default to application/json when no Content-Type is supplied
The webdriver spec specifies that requests where the method is POST
should be parsed as JSON (see https://www.w3.org/TR/webdriver/#processing-model step 6).

Appium is too restrictive. It only parses as JSON if the application/json
Content-Type is provided, making it incompatible with some Webdriver clients
that follow the spec but don't send a Content-Type header.

This commit makes Appium less restrictive by defaulting to the application/json
Content-Type if none is provided.
2017-01-21 14:46:11 -06:00
Isaac Murchie bb1f869ca9 Add configurable request timeout to proxy 2017-01-04 12:48:22 -05:00
Isaac A. Murchie eb5abb8878 Merge pull request #97 from appium/isaac-logger
Remove logger, and start using one from appium-support
2016-12-21 15:20:56 -05:00
Isaac Murchie 1de1af6b0c Remove logger, and start using one from appium-support 2016-12-20 12:55:23 -05:00
Isaac Murchie 65807af9fc Do not keep adding sessionId and id to optional parameters 2016-12-20 10:37:23 -05:00
Jonathan Lipps 55fa89153e Merge pull request #93 from appium/isaac-logger
Move appium-logger into base driver
2016-11-24 11:01:40 -08:00
Isaac Murchie d2c5caafd4 Move appium-logger into base driver 2016-11-23 09:15:38 -08:00
황희선 0fd67e4efb add apis to read capability data 2016-11-19 03:09:49 +09:00
Isaac A. Murchie f09b0eb2de Merge pull request #88 from midopa/fix-zip-urls
Fix handling non-ZIP files
2016-11-14 14:41:21 -05:00
Sam Park 71be0dad1a Add routes and docs for device commands
For: https://github.com/appium/appium-android-driver/pull/192
2016-11-14 10:50:29 -08:00
Sam Park 40a9538321 Fix handling non-ZIP files
APK files were not being installed because they were being written to a file without an "apk" extension. So added back the appExt suffix logic. If it's given and the downloaded file is not a ZIP file, then everything behaves normally. If the downloaded file is a ZIP file, then regardless of what we thought initially, it will be unzipped and placed into another temp location.
2016-11-11 23:21:02 -08:00
rkavalap 0e8b1d966e Increase length in _truncate for proxy requests for better debugging 2016-11-10 09:36:54 -08:00
Sam Park 44650f926a Handle zip files from URLs
Sometimes you can't tell the file type from a URL. Let URL minimizers or
if there are parameters, etc. So just check the content type of the
response. If it's a zip file, ensure it gets unzipped in subsequent
logic. Otherwise, assume it's an app file.
2016-11-05 13:01:25 -07:00