42 Commits
Author SHA1 Message Date
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
Dan Graham 1a8730138d Check shouldValidate before validating (#162) 2017-12-23 16:19:38 -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 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
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
wei-gu c63e2e9ce1 fix smbfs path (#140) 2017-09-22 14:49:09 -04:00
Mykola Mokhnach 7f01fb001d Add a possibility to execute commands without queueing them 2017-08-18 14:29:03 +02: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
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
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
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
Jonathan Lipps 0ad8e49b8e error out if someone tries to use both fullReset and noReset together 2017-01-31 14:17:36 -08:00
Isaac Murchie 1de1af6b0c Remove logger, and start using one from appium-support 2016-12-20 12:55:23 -05:00
Isaac Murchie d2c5caafd4 Move appium-logger into base driver 2016-11-23 09:15:38 -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
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
Isaac Murchie 5f84cc8cf1 Make use of os.tmpdir instead of os.tmpDir 2016-10-31 12:07:03 -07:00
Yatin Phatak 9b746ae23a Copy from WindowsNetworkShare
addressing comments

calling mountNetwrokShare once

addressing comments

addressing comments
2016-09-14 13:24:11 -07:00
Isaac A. Murchie c6062c559c Merge pull request #66 from sravanmedarapu/master
Implemented throwing ProxyRequestError
2016-09-09 08:33:48 -04:00
Sravan Medrapu c5026bf227 Implemented throwing ProxyRequestError
ProxyRequestError will be thrown for all unsuccessfull proxy requests, ProxyRequestError will contain the actual error route cause information(`jsonwp`)
2016-09-09 16:17:24 +05:30
Isaac Murchie 0df402b1b2 Add linting and pre-commit hooks 2016-07-12 09:48:01 -07:00
Isaac Murchie b883d8601b Add basic getStatus method 2016-07-08 09:21:29 -07:00
Yosef Durr 8c5d7dbfa5 add Windows platform, fix utf-8 typo 2016-07-03 17:07:57 -07:00
Isaac Murchie e44ed397f6 Add ability to manage delegated drivers 2016-07-01 09:15:33 -07:00
Isaac Murchie d534bb151f Make sure async is there, and add logging 2016-06-28 13:00:47 -07:00
Isaac Murchie e8bd69e433 Change name of xcuitest automation name 2016-06-28 10:32:19 -07:00
Simon Granger 59f2cf1c29 Added YouiEngine to the list of automationName 2016-06-27 15:34:37 -04:00
Jonah e1c238eb03 Add comment for find command return type
The exact specification of what to return in a findElement command was a little hard to find. This was the first place I looked, so a good place to put the answer.
2016-05-30 19:55:30 -07:00
Jonathan Lipps 809b0fb27e update readmes to make sense for new package 2016-05-06 08:42:29 -07:00
Jonathan Lipps 48113db62a merge node-mobile-json-wire protocol project into basedriver (and bump package to denote breaking changes) 2016-05-04 21:28:25 -07:00