Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
a729d73
New interfaces. The beginning of #105 fix
TikhomirovSergey Sep 12, 2014
59c1486
#105 #108 AndroidDriver. AppiumDriver. Implement & improvement.
TikhomirovSergey Sep 16, 2014
c158b00
#105 & #108 IOSDriver. AppiumDriver. InteractsWithApps.
TikhomirovSergey Sep 21, 2014
5988801
more refactoring. moved tests around, added AppiumDriverTests
Jonahss Sep 23, 2014
cadd0b0
#108 #105 Refactor is going on. AppiumDriver is made abstract.
TikhomirovSergey Sep 24, 2014
8b012e9
Merge pull request #113 from TikhomirovSergey/interfacesRefactor
Jonahss Sep 25, 2014
202d271
#100 Fix
TikhomirovSergey Sep 25, 2014
edbcbee
Merge pull request #114 from TikhomirovSergey/interfacesRefactor
Jonahss Sep 25, 2014
8f2d86e
moved context tests around, added AppiumDriverTest
Jonahss Sep 25, 2014
e6a2790
reimplemented ScrollTo() and ScrollToExact()
Jonahss Sep 25, 2014
0102e91
New interfaces. The beginning of #105 fix
TikhomirovSergey Sep 12, 2014
07c3327
#105 #108 AndroidDriver. AppiumDriver. Implement & improvement.
TikhomirovSergey Sep 16, 2014
dddb062
#105 & #108 IOSDriver. AppiumDriver. InteractsWithApps.
TikhomirovSergey Sep 21, 2014
81be93b
more refactoring. moved tests around, added AppiumDriverTests
Jonahss Sep 23, 2014
15ba3c2
#108 #105 Refactor is going on. AppiumDriver is made abstract.
TikhomirovSergey Sep 24, 2014
3efe96e
#100 Fix
TikhomirovSergey Sep 25, 2014
d9c5ab4
moved context tests around, added AppiumDriverTest
Jonahss Sep 25, 2014
cd5bc3e
Reimplemented ScrollTo() and ScrollToExact()
Jonahss Sep 25, 2014
c8e81b6
v2.0.0
Jonahss Sep 26, 2014
36a63fd
Final improvements before 2.0.
TikhomirovSergey Sep 26, 2014
6a5dcf4
Merge pull request #1 from arachnidium/master
Jonahss Sep 26, 2014
88197f7
removed scrollTo() from AndroidElement
Jonahss Sep 26, 2014
1d45e63
AndroidPageObjectTest improvement.
TikhomirovSergey Sep 27, 2014
f7687da
Merge pull request #2 from arachnidium/master
Jonahss Sep 29, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,18 @@ Depends upon the Selenium Java client library, available [here](http://docs.sele
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>1.7.0</version>
<version>2.0.0</version>
</dependency>
```

Javadocs: http://appium.github.io/java-client/

###Structure###

There is an abstract _AppiumDriver_ class which inherits from the Selenium Java Client.
The _AppiumDriver_ class contains all methods shared by iOS and Android.
_IOSDriver_ and _AndroidDriver_ both extend _AppiumDriver_ and provide more methods, and specific implementations for some methods.

###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.

Expand Down Expand Up @@ -64,6 +70,11 @@ Locators:
- findElementsByAndroidUIAutomator()

##Changelog##
*2.0.0*
- AppiumDriver is now an abstract class, use IOSDriver and AndroidDriver which both extend it. You no longer need to include the `PLATFORM_NAME` desired capability since it's automatic for each class. Thanks to @TikhomirovSergey for all their work
- ScrollTo() and ScrollToExact() methods reimplemented
- Zoom() and Pinch() are now a little smarter and less likely to fail if you element is near the edge of the screen. Congratulate @BJap on their first PR!

*1.7.0*
- Removed `scrollTo()` and `scrollToExact()` methods because they relied on `complexFind()`. They will be added back in the next version!
- Removed `complexFind()`
Expand Down
83 changes: 21 additions & 62 deletions java-client.iml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
<orderEntry type="library" name="commons-lang-2.4" level="project" />
<orderEntry type="library" name="commons-codec-1.9" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.2.4" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-java:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-chrome-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-remote-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-java:2.43.1" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-chrome-driver:2.43.1" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-remote-driver:2.43.1" level="project" />
<orderEntry type="library" name="Maven: cglib:cglib-nodep:2.1_3" level="project" />
<orderEntry type="library" name="Maven: org.json:json:20080701" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-api:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-api:2.43.1" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:17.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.3.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.3.2" level="project" />
Expand All @@ -33,71 +33,30 @@
<orderEntry type="library" name="Maven: org.apache.commons:commons-exec:1.1" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna:3.4.0" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:platform:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-htmlunit-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.htmlunit:htmlunit:2.14" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-htmlunit-driver:2.43.1" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.htmlunit:htmlunit:2.15" level="project" />
<orderEntry type="library" name="Maven: xalan:xalan:2.7.1" level="project" />
<orderEntry type="library" name="Maven: xalan:serializer:2.7.1" level="project" />
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.2.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.3.2" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.htmlunit:htmlunit-core-js:2.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.3.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.3.3" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.htmlunit:htmlunit-core-js:2.15" level="project" />
<orderEntry type="library" name="Maven: xerces:xercesImpl:2.11.0" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.nekohtml:nekohtml:1.9.20" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.cssparser:cssparser:0.9.13" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.nekohtml:nekohtml:1.9.21" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.cssparser:cssparser:0.9.14" level="project" />
<orderEntry type="library" name="Maven: org.w3c.css:sac:1.3" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-websocket:8.1.14.v20131031" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:8.1.14.v20131031" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:8.1.14.v20131031" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:8.1.14.v20131031" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-firefox-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-ie-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-safari-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.webbitserver:webbit:0.4.14" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty:3.5.2.Final" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-support:2.42.2" level="project" />
<orderEntry type="library" name="Maven: junit:junit:4.11" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.2.4" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-java:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-chrome-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-remote-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: cglib:cglib-nodep:2.1_3" level="project" />
<orderEntry type="library" name="Maven: org.json:json:20080701" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-api:2.42.2" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:17.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.3.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.3.2" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.3" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-exec:1.1" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:jna:3.4.0" level="project" />
<orderEntry type="library" name="Maven: net.java.dev.jna:platform:3.4.0" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-htmlunit-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.htmlunit:htmlunit:2.14" level="project" />
<orderEntry type="library" name="Maven: xalan:xalan:2.7.1" level="project" />
<orderEntry type="library" name="Maven: xalan:serializer:2.7.1" level="project" />
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.2.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.3.2" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.htmlunit:htmlunit-core-js:2.14" level="project" />
<orderEntry type="library" name="Maven: xerces:xercesImpl:2.11.0" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.nekohtml:nekohtml:1.9.20" level="project" />
<orderEntry type="library" name="Maven: net.sourceforge.cssparser:cssparser:0.9.13" level="project" />
<orderEntry type="library" name="Maven: org.w3c.css:sac:1.3" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-websocket:8.1.14.v20131031" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:8.1.14.v20131031" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:8.1.14.v20131031" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:8.1.14.v20131031" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-firefox-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-ie-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-safari-driver:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.webbitserver:webbit:0.4.14" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty:3.5.2.Final" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-support:2.42.2" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-websocket:8.1.15.v20140411" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-util:8.1.15.v20140411" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-io:8.1.15.v20140411" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty:jetty-http:8.1.15.v20140411" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-firefox-driver:2.43.1" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-ie-driver:2.43.1" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-safari-driver:2.43.1" level="project" />
<orderEntry type="library" name="Maven: org.webbitserver:webbit:0.4.15" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty:3.5.5.Final" level="project" />
<orderEntry type="library" name="Maven: org.seleniumhq.selenium:selenium-support:2.43.1" level="project" />
<orderEntry type="library" name="Maven: junit:junit:4.11" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" />
Expand Down
20 changes: 17 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>1.7.0</version>
<version>2.0.0</version>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
Expand All @@ -15,7 +15,7 @@
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.42.2</version>
<version>2.43.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
Expand All @@ -37,7 +37,21 @@
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>

<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.8</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
<exclusion>
<artifactId>xml-apis</artifactId>
<groupId>xml-apis</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<packaging>jar</packaging>
<name>java-client</name>
Expand Down
Loading