|
1 | 1 | java-client |
2 | 2 | =========== |
3 | 3 |
|
4 | | -Java language binding for writing Appium Tests, conforms to [Mobile JSON Wire Protocol](https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md) |
5 | | - |
6 | | -Depends upon the Selenium Java client library, available [here](http://docs.seleniumhq.org/download/) |
7 | | - |
8 | | -[Download the jar from Maven](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22io.appium%22%20AND%20a%3A%22java-client%22) or add the following to pom.xml: |
9 | | - |
10 | | -``` |
11 | | -<dependency> |
12 | | - <groupId>io.appium</groupId> |
13 | | - <artifactId>java-client</artifactId> |
14 | | - <version>3.4.1</version> |
15 | | -</dependency> |
16 | | -``` |
17 | | - |
18 | | -It currently depends on selenium-java 2.53.0. If it is necessary to use another version of Selenium then you can configure pom.xml as follows: |
19 | | - |
20 | | -``` |
21 | | -<dependency> |
22 | | - <groupId>io.appium</groupId> |
23 | | - <artifactId>java-client</artifactId> |
24 | | - <version>3.4.1</version> |
25 | | - <exclusions> |
26 | | - <exclusion> |
27 | | - <groupId>org.seleniumhq.selenium</groupId> |
28 | | - <artifactId>selenium-java</artifactId> |
29 | | - </exclusion> |
30 | | - </exclusions> |
31 | | -</dependency> |
32 | | -
|
33 | | -<dependency> |
34 | | - <groupId>org.seleniumhq.selenium</groupId> |
35 | | - <artifactId>selenium-java</artifactId> |
36 | | - <version>${selenium.version.you.require}</version> |
37 | | -</dependency> |
38 | | -``` |
39 | | - |
40 | | -Javadocs: http://appium.github.io/java-client/ |
| 4 | +This is the Java language binding for writing Appium Tests, conforms to [Mobile JSON Wire Protocol](https://github.com/SeleniumHQ/mobile-spec/blob/master/spec-draft.md) |
| 5 | + |
| 6 | +[How to install it and to use it](https://github.com/appium/java-client/blob/master/docs/Installing-the-project.md) |
| 7 | + |
| 8 | +[API docs](http://appium.github.io/java-client/) |
41 | 9 |
|
42 | 10 | ###Structure### |
43 | 11 |
|
44 | | -There is an abstract _AppiumDriver_ class which inherits from the Selenium Java Client. |
45 | | -The _AppiumDriver_ class contains all methods shared by iOS and Android. |
46 | | -_IOSDriver_ and _AndroidDriver_ both extend _AppiumDriver_ and provide more methods, and specific implementations for some methods. |
| 12 | +There is an abstract `io.appium.java_client.AppiumDriver` class which extends `org.openqa.selenium.remote.RemoteWebDriver` |
| 13 | +from the Selenium Java Client. The `io.appium.java_client.AppiumDriver` class contains all methods shared by iOS and Android. |
| 14 | +`io.appium.java_client.ios.IOSDriver` and `io.appium.java_client.android.AndroidDriver` both extend `io.appium.java_client.AppiumDriver` |
| 15 | +and provide more methods, and specific implementations for some methods. |
47 | 16 |
|
48 | | -In the same way, _IOSElement_ and _AndroidElement_ both are subclasses of _MobileElement_ |
| 17 | +In the same way, `io.appium.java_client.ios.IOSElement` and `io.appium.java_client.android.AndroidElement` both are subclasses of |
| 18 | +`io.appium.java_client.MobileElement` |
49 | 19 |
|
50 | | -You can instantiate and AppiumDriver with the class of element you want commands to return. For example |
51 | | -`AppiumDriver<MobileElement> driver;` |
52 | | -and now when you call the Find functions, they return elements of class MobileElement. |
53 | | -You can also instantiate drivers like this, to make things simpler: |
54 | | -`AndroidDriver<AndroidElement> driver = new AndroidDriver(.......` |
55 | | -`IOSElement el = driver.findElementByAccessiblityId('sample');` |
56 | 20 |
|
57 | 21 | ###Added functions### |
58 | 22 | 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. |
@@ -105,12 +69,14 @@ Locators: |
105 | 69 | - findElementByAndroidUIAutomator() |
106 | 70 | - findElementsByAndroidUIAutomator() |
107 | 71 |
|
108 | | -## Note to developers! ## |
109 | | -If you are working on this project and use Intellij Idea, you need to change the compiler to the Eclipse compilers instead of the default. |
110 | | -If you are using the Eclipse IDE, make sure you are using version Luna or later. |
| 72 | +### Features and other interesting information### |
111 | 73 |
|
112 | | -##Changelog## |
113 | | -*4.0.0 (under construction yet)* |
| 74 | +You can get it on [WIKI](https://github.com/appium/java-client/wiki) |
| 75 | + |
| 76 | +## Changelog# |
| 77 | +*4.1.0 (under construction yet)* |
| 78 | +... |
| 79 | +*4.0.0* |
114 | 80 | - all code marked `@Deprecated` was removed. Java client won't support old servers (v<1.5.0) |
115 | 81 | anymore. |
116 | 82 | - the ability to start an activity using Android intent actions, intent categories, flags and arguments |
|
0 commit comments