GitHub - henrylilucas/java-client: Java language binding for writing Appium Tests, conforms to Mobile JSON Wire Protocol

Java language binding for writing Appium Tests, conforms to Mobile JSON Wire Protocol

Depends upon the Selenium Java client library, available here

Hosted in Maven Central Repository:

<dependency>
  <groupId>io.appium</groupId>
  <artifactId>java-client</artifactId>
  <version>1.1.0</version>
</dependency>

Or, the compiled jar can be found in out/artifacts/java_client

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()
  • hideKeyboard()
  • runAppInBackground()
  • performTouchAction()
  • performMultiTouchAction()
  • tap()
  • swipe()
  • pinch()
  • zoom()
  • getNamedTextField()
  • isAppInstalled()
  • installApp()
  • removeApp()
  • launchApp()
  • closeApp()
  • endTestCoverage()
  • lockScreen()
  • shake()
  • complexFind()
  • scrollTo()
  • scrollToExact()
  • Context Switching: .context(), .getContextHandles(), getContext())

Locators:

  • findElementByAccessibilityId()
  • findElementsByAccessibilityId()
  • findElementByIosUIAutomation()
  • findElementsByIosUIAutomation()
  • findElementByAndroidUIAutomator()
  • findElementsByAndroidUIAutomator()

##Changelog## 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()

Running tests

Run a test using

mvn -Dtest=io.appium.java_client.MobileDriverAndroidTest clean test