Java language binding for writing Appium Tests, conforms to Mobile JSON Wire Protocol
Depends upon the Selenium Java client library, available here
Download the jar from Maven or add the following to pom.xml:
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>1.5.0</version>
</dependency>
Javadocs: http://appium.github.io/java-client/
###Added functions### More can be found in the docs, but here's a quick list of features which this project has added to the usual selenium binding.
- resetApp()
- getAppString()
- sendKeyEvent()
- currentActivity()
- pullFile()
- pushFile()
- pullFolder()
- hideKeyboard()
- runAppInBackground()
- performTouchAction()
- performMultiTouchAction()
- tap()
- swipe()
- pinch()
- zoom()
- getNamedTextField()
- isAppInstalled()
- installApp()
- removeApp()
- launchApp()
- closeApp()
- endTestCoverage()
- lockScreen()
- shake()
- complexFind()
- scrollTo()
- scrollToExact()
- openNotifications()
- Context Switching: .context(), .getContextHandles(), getContext())
- getNetworkConnection(), setNetworkConnection()
Locators:
- findElementByAccessibilityId()
- findElementsByAccessibilityId()
- findElementByIosUIAutomation()
- findElementsByIosUIAutomation()
- findElementByAndroidUIAutomator()
- findElementsByAndroidUIAutomator()
##Changelog## 1.5.0
- Added MobileCapabilityType enums for desired capabilities
findElement
andfindElements
return MobileElement objects (still need to be casted, but no longer instantiated)- new appium v1.2
hideKeyboard()
strategies added getNetworkConnection()
andsetNetworkConnection()
commands added
1.4.0
- Added openNotifications() method, to open the notifications shade on Android
- Added pullFolder() method, to pull an entire folder as a zip archive from a device/simulator
- Upgraded Selenium dependency to 2.42.2
1.3.0
- MultiGesture with a single TouchAction fixed for Android
- Now depends upon Selenium java client 2.42.1
- Cleanup of Errorcode handling, due to merging a change into Selenium
1.2.1
- fix dependency issue
1.2.0
- complexFind() now returns MobileElement objects
- added scrollTo() and scrollToExact() methods for use with complexFind()
1.1.0
- AppiumDriver now implements Rotatable. rotate() and getOrientation() methods added
- when no appium server is running, the proper error is thrown, instead of a NullPointerException
1.0.2
- recompiled to include some missing methods such as shake() and complexFind()
Run a test using
mvn -Dtest=io.appium.java_client.MobileDriverAndroidTest clean test