|
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