Squashing 2
Use lower case adb.
Use === not ==
create ChromeAndroid device which subclasses Android
move remote execute functionality into device common
send commands to chrome as javascript atoms via remote debugger
make chrome device proxy to chromedriver instead of using atoms
add describeForChrome in driverBlock and add webview tests for chrome
fix outstanding issue in doRequest so there's no empty body, misc cleanup
use streams instead of data events for chromedriver subproc
add comment about why we're doing dumb things with chromedriver
add docs for mobile safari and mobile chrome
update grunt docs
remove unused remote debugger files
clean up callback structure
make sure to encode doRequest response to JSON if possible (fix#847)
Fix undefined
Squashing 1
allow testsuite to take port from env so ios/android tests can run simultaneously
make sure webview guinea pig runs on same port as appium
make sure to discard series info here so it doesn't get passed on
fix find element from element tests
update test to use correct appium port
Squashing
make sure fruitstrap gets into build/ for npm releases (cc @snevesbarros)
/session/:sessionId/element/:id/enabled should return a boolean value.
Signed-off-by: Matt Isaacs <misaacs@gilt.com>
Unneccessary
Removing MonkeyPinch
One thing to keep in mind: iOS and Android treat dialogs differently. iOS "system" dialogs can be triggered from the application under test as well as from external sources (the system). However, Android treats dialogs as any other window. So, to make this work, the bootstrap app looks for windows with the package name of "com.android.systemui". These are dialogs that the system has instantiated, but not the app.
So, for example, if we had the same application written on both platforms, and they both had a login screen, and you click on the login button without putting in a username. On iOS, you would be notified if they used a standard system dialog, and you would not be notified on Android. However, if the system put up a low battery dialog, it would be detected on both systems.
So... The main reason for implementing this is to stop failing tests from unintentional dialogs appearing during an overnight test.
Updated call signiture to instruments.