Skip to content

Commit 1d32d0b

Browse files
committed
Merge branch 'readperformancedata' of https://github.com/heeseon/java-client into readperformancedata
* 'readperformancedata' of https://github.com/heeseon/java-client: (156 commits) build error Do not hardcode Do not hardcode Update README.md Update README.md Code style issues which were found by reviewer were fixed Code style issues which were found by reviewer were fixed The addition to appium#738 - following dependencies were updated: `org.seleniumhq.selenium:selenium-java` to 3.6.0 `com.google.code.gson:gson` to 2.8.2 `org.springframework:spring-context` to 5.0.0.RELEASE `org.aspectj:aspectjweaver` to 1.8.11 do not zero out implicit wait during location call rename DEFAULT_IMPLICITLY_WAIT_TIMEOUT to DEFAULT_TIMEOUT Update README.md some minor things that were found by reviewers were improved code style issues were got fixed appium#732 FIX ServerBuilderTest: ip calculation was improved ServerBuilderTest: the path resolving ServerBuilderTest: magic strings were turned into final values ServerBuilderTest: magic strings were turned into final values ServerBuilderTest: code improvement. Tests of local appium DriverService were re-designed. ...
2 parents b163ac5 + 9fb37db commit 1d32d0b

File tree

267 files changed

+6303
-20495
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

267 files changed

+6303
-20495
lines changed

NOTICE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Copyright 2014-2016 Appium Contributors
1+
Copyright 2014-2017 Appium Contributors

README.md

Lines changed: 113 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#java-client
1+
# java-client
22

33
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.appium/java-client/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.appium/java-client)
44
[![Javadoc](https://javadoc-emblem.rhcloud.com/doc/io.appium/java-client/badge.svg)](http://www.javadoc.io/doc/io.appium/java-client)
@@ -9,17 +9,123 @@ This is the Java language binding for writing Appium Tests, conforms to [Mobile
99

1010
[API docs](http://appium.github.io/java-client/)
1111

12-
###Features and other interesting information###
12+
### Features and other interesting information
1313

1414
[Tech stack](https://github.com/appium/java-client/blob/master/docs/Tech-stack.md)
1515

1616
[How to install the project](https://github.com/appium/java-client/blob/master/docs/Installing-the-project.md)
1717

1818
[WIKI](https://github.com/appium/java-client/wiki)
1919

20-
##Changelog##
21-
*5.0.0 (under construction yet)*
22-
20+
## Changelog
21+
22+
*5.1.0 (under construction yet)*
23+
24+
*5.0.4*
25+
- **[BUG FIX]**. Client was crashing when user was testing iOS with server 1.7.0. Report: [#732](https://github.com/appium/java-client/issues/732). Fix: [#733](https://github.com/appium/java-client/pull/733).
26+
- **[REFACTOR]** **[BREAKING CHANGE]** Excessive invocation of the implicit waiting timeout was removed. This is the breaking change because API of `AppiumElementLocator` and `AppiumElementLocatorFactory` was changed. Request: [#735](https://github.com/appium/java-client/issues/735), FIXES: [#738](https://github.com/appium/java-client/pull/738), [#741](https://github.com/appium/java-client/pull/741)
27+
- **[DEPENDENCY UPDATES]**
28+
- org.seleniumhq.selenium:selenium-java to 3.6.0
29+
- com.google.code.gson:gson to 2.8.2
30+
- org.springframework:spring-context to 5.0.0.RELEASE
31+
- org.aspectj:aspectjweaver to 1.8.11
32+
33+
*5.0.3*
34+
- **[BUG FIX]** Selenuim version was reverted from boundaries to the single number. Issue report: [#718](https://github.com/appium/java-client/issues/718). FIX: [#722](https://github.com/appium/java-client/pull/722)
35+
- **[ENHANCEMENT]** The `pushFile` was added to IOSDriver. Feature request: [#720](https://github.com/appium/java-client/issues/720). Implementation: [#721](https://github.com/appium/java-client/pull/721). This feature requires appium node server v>=1.7.0
36+
37+
*5.0.2* **[BUG FIX RELEASE]**
38+
- **[BUG FIX]** Dependency conflict resolving. The report: [#714](https://github.com/appium/java-client/issues/714). The fix: [#717](https://github.com/appium/java-client/pull/717). This change may affect users who use htmlunit-driver and/or phantomjsdriver. At this case it is necessary to add it to dependency list and to exclude old selenium versions.
39+
40+
*5.0.1* **[BUG FIX RELEASE]**
41+
- **[BUG FIX]** The fix of the element genering on iOS was fixed. Issue report: [#704](https://github.com/appium/java-client/issues/704). Fix: [#705](https://github.com/appium/java-client/pull/705)
42+
43+
*5.0.0*
44+
- **[REFACTOR]** **[BREAKING CHANGE]** 5.0.0 finalization. Removal of obsolete code. [#660](https://github.com/appium/java-client/pull/660)
45+
- **[ENHANCEMENT]** Enable nativeWebTap setting for iOS. [#658](https://github.com/appium/java-client/pull/658)
46+
- **[ENHANCEMENT]** The `getCurrentPackage` was added. [#657](https://github.com/appium/java-client/pull/657)
47+
- **[ENHANCEMENT]** The `toggleTouchIDEnrollment` was added. [#659](https://github.com/appium/java-client/pull/659)
48+
- **[BUG FIX]** The clearing of existing actions/parameters after perform is invoked. [#663](https://github.com/appium/java-client/pull/663)
49+
- **[BUG FIX]** [#669](https://github.com/appium/java-client/pull/669) missed parameters of the `OverrideWidget` were added:
50+
- `iOSXCUITAutomation`
51+
- `windowsAutomation`
52+
- **[BUG FIX]** ByAll was re-implemented. [#680](https://github.com/appium/java-client/pull/680)
53+
- **[BUG FIX]** **[BREAKING CHANGE]** The issue of compliance with Selenium grid 3.x was fixed. This change is breaking because now java_client is compatible with appiun server v>=1.6.5. Issue report [#655](https://github.com/appium/java-client/issues/655). FIX [#682](https://github.com/appium/java-client/pull/682)
54+
- **[BUG FIX]** issues related to latest Selenium changes were fixed. Issue report [#696](https://github.com/appium/java-client/issues/696). Fix: [#699](https://github.com/appium/java-client/pull/699).
55+
- **[UPDATE]** Dependency update
56+
- `selenium-java` was updated to 3.5.x
57+
- `org.apache.commons-lang3` was updated to 3.6
58+
- `org.springframework.spring-context` was updated to 4.3.10.RELEASE
59+
- **[ENHANCEMENT]** Update of the touch ID enroll method. The older `PerformsTouchID#toggleTouchIDEnrollment` was marked `Deprecated`.
60+
It is recoomended to use `PerformsTouchID#toggleTouchIDEnrollment(boolean)` instead. [#695](https://github.com/appium/java-client/pull/695)
61+
62+
63+
*5.0.0-BETA9*
64+
- **[ENHANCEMENT]** Page factory: Mixed locator strategies were implemented. Feature request:[#565](https://github.com/appium/java-client/issues/565) Implementation: [#646](https://github.com/appium/java-client/pull/646)
65+
- **[DEPRECATED]** All the content of the `io.appium.java_client.youiengine` package was marked `Deprecated`. It is going to be removed. [#652](https://github.com/appium/java-client/pull/652)
66+
- **[UPDATE]** Update of the `com.google.code.gson:gson` to v2.8.1.
67+
68+
*5.0.0-BETA8*
69+
- **[ENHANCEMENT]** Page factory classes became which had package visibility are `public` now. [#630](https://github.com/appium/java-client/pull/630)
70+
- `io.appium.java_client.pagefactory.AppiumElementLocatorFactory`
71+
- `io.appium.java_client.pagefactory.DefaultElementByBuilder`
72+
- `io.appium.java_client.pagefactory.WidgetByBuilder`
73+
74+
- **[ENHANCEMENT]** New capabilities were added [#626](https://github.com/appium/java-client/pull/626):
75+
- `AndroidMobileCapabilityType#AUTO_GRANT_PERMISSIONS`
76+
- `AndroidMobileCapabilityType#ANDROID_NATURAL_ORIENTATION`
77+
- `IOSMobileCapabilityType#XCODE_ORG_ID`
78+
- `IOSMobileCapabilityType#XCODE_SIGNING_ID`
79+
- `IOSMobileCapabilityType#UPDATE_WDA_BUNDLEID`
80+
- `IOSMobileCapabilityType#RESET_ON_SESSION_START_ONLY`
81+
- `IOSMobileCapabilityType#COMMAND_TIMEOUTS`
82+
- `IOSMobileCapabilityType#WDA_STARTUP_RETRIES`
83+
- `IOSMobileCapabilityType#WDA_STARTUP_RETRY_INTERVAL`
84+
- `IOSMobileCapabilityType#CONNECT_HARDWARE_KEYBOARD`
85+
- `IOSMobileCapabilityType#MAX_TYPING_FREQUENCY`
86+
- `IOSMobileCapabilityType#SIMPLE_ISVISIBLE_CHECK`
87+
- `IOSMobileCapabilityType#USE_CARTHAGE_SSL`
88+
- `IOSMobileCapabilityType#SHOULD_USE_SINGLETON_TESTMANAGER`
89+
- `IOSMobileCapabilityType#START_IWDP`
90+
- `IOSMobileCapabilityType#ALLOW_TOUCHID_ENROLL`
91+
- `MobileCapabilityType#EVENT_TIMINGS`
92+
93+
- **[UPDATE]** Dependencies were updated:
94+
- `org.seleniumhq.selenium:selenium-java` was updated to 3.4.0
95+
- `cglib:cglib` was updated to 3.2.5
96+
- `org.apache.httpcomponents:httpclient` was updated to 4.5.3
97+
- `commons-validator:commons-validator` was updated to 1.6
98+
- `org.springframework:spring-context` was updated to 4.3.8.RELEASE
99+
100+
101+
*5.0.0-BETA7*
102+
- **[ENHANCEMENT]** The ability to customize the polling strategy of the waiting was provided. [#612](https://github.com/appium/java-client/pull/612)
103+
- **[ENHANCEMENT]** **[REFACTOR]** Methods which were representing time deltas instead of elementary types became `Deprecated`. Methods which use `java.time.Duration` are suugested to be used. [#611](https://github.com/appium/java-client/pull/611)
104+
- **[ENHANCEMENT]** The ability to calculate screenshots overlap was included. [#595](https://github.com/appium/java-client/pull/595).
105+
106+
107+
*5.0.0-BETA6*
108+
- **[UPDATE]** Update to Selenium 3.3.1
109+
- **[ENHANCEMENT]** iOS XCUIT mode automation: API to run application in background was added. [#593](https://github.com/appium/java-client/pull/593)
110+
- **[BUG FIX]** Issue report: [#594](https://github.com/appium/java-client/issues/594). FIX: [#597](https://github.com/appium/java-client/pull/597)
111+
- **[ENHANCEMENT]** The class chain locator was added. [#599](https://github.com/appium/java-client/pull/599)
112+
113+
114+
*5.0.0-BETA5*
115+
- **[UPDATE]** Update to Selenium 3.2.0
116+
- **[BUG FIX]** Excessive dependency on `guava` was removed. It causes errors. Issue report: [#588](https://github.com/appium/java-client/issues/588). FIX: [#589](https://github.com/appium/java-client/pull/589).
117+
- **[ENHANCEMENT]**. The capability `io.appium.java_client.remote.AndroidMobileCapabilityType#SYSTEM_PORT` was added. [#591](https://github.com/appium/java-client/pull/591)
118+
119+
*5.0.0-BETA4*
120+
- **[ENHANCEMENT]** Android. API to read the performance data was added. [#562](https://github.com/appium/java-client/pull/562)
121+
- **[REFACTOR]** Android. Simplified the activity starting by reducing the number of parameters through POJO clas. Old methods which start activities were marked `@Deprecated`. [#579](https://github.com/appium/java-client/pull/579) [#585](https://github.com/appium/java-client/pull/585)
122+
- **[BUG FIX]** Issue report:[#574](https://github.com/appium/java-client/issues/574). Fix:[#582](https://github.com/appium/java-client/pull/582)
123+
124+
*5.0.0-BETA3*
125+
[BUG FIX]
126+
- **[BUG FIX]**:Issue report: [#567](https://github.com/appium/java-client/issues/567). Fix: [#568](https://github.com/appium/java-client/pull/568)
127+
128+
*5.0.0-BETA2*
23129
- **[BUG FIX]**:Issue report: [#549](https://github.com/appium/java-client/issues/549). Fix: [#551](https://github.com/appium/java-client/pull/551)
24130
- New capabilities were added [#533](https://github.com/appium/java-client/pull/553):
25131
- `IOSMobileCapabilityType#USE_NEW_WDA`
@@ -35,6 +141,8 @@ The capability `IOSMobileCapabilityType#REAL_DEVICE_LOGGER` was removed. [#533](
35141
- `boolean isBrowser()`
36142
- `io.appium.java_client.HasSessionDetails` is used by the ` io.appium.java_client.internal.JsonToMobileElementConverter ` to define which instance of the `org.openqa.selenium.WebElement` subclass should be created.
37143

144+
- **[ENHANCEMENT]**: The additional event firing feature. PR: [#559](https://github.com/appium/java-client/pull/559). The [WIKI chapter about the event firing](https://github.com/appium/java-client/blob/master/docs/The-event_firing.md) was updated.
145+
38146
*5.0.0-BETA1*
39147
- **[MAJOR ENHANCEMENT]**: Migration to Java 8. Epic: [#399](https://github.com/appium/java-client/issues/399)
40148
- API with default implementation. PR [#470](https://github.com/appium/java-client/pull/470)

archive/docs/How-to-propose-a-PR.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#A good pull-request should contain
1+
# A good pull-request should contain
22

33
### Change list
44

@@ -19,6 +19,6 @@ There should be provided more details about changes if it is necessary. If there
1919
can provide code samples which show the way they work and possible use cases. Also you can create [gists](https://gist.github.com)
2020
with pasted java code samples or put them at a PR description using markdown. About markdown please read [Mastering markdown](https://guides.github.com/features/mastering-markdown/) and [Writing on GitHub](https://help.github.com/categories/writing-on-github/)
2121

22-
#Pull-request template
22+
# Pull-request template
2323

2424
There is [PULL_REQUEST_TEMPLATE.md)](https://github.com/appium/java-client/blob/master/PULL_REQUEST_TEMPLATE.md) which should help you to make a good pull request.

archive/docs/How-to-report-an-issue.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
#Be sure that it is not a server-side problem if you are facing something that looks like a bug
1+
# Be sure that it is not a server-side problem if you are facing something that looks like a bug
22

33
The Appium Java client is the thin client which just sends requests and receives responces generally.
44
Be sure that this bug is not reported [here](https://github.com/appium/appium/issues) and/or there is
55
no progress on this issue.
66

7-
#The good issue report should contain
7+
# The good issue report should contain
88

99
### Description
1010

@@ -42,9 +42,9 @@ There should be created a [gist](https://gist.github.com) which is a paste of yo
4242
If you are reporting a bug, _always_ include Appium logs as linked gists! It helps to define the problem correctly and clearly.
4343

4444

45-
#Issue template
45+
# Issue template
4646
There is [ISSUE_TEMPLATE.md](https://github.com/appium/java-client/blob/master/ISSUE_TEMPLATE.md) which should help you to make a good issue report.
4747

48-
#... And don't say that you weren't warned.
48+
# ... And don't say that you weren't warned.
4949

5050
If a report is not readable and/or there is no response from a reporter and some important details are needed then the issue will be closed after some time.

build.gradle

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
apply plugin: 'java'
2+
apply plugin: 'idea'
23
apply plugin: 'maven'
34
apply plugin: 'eclipse'
45
apply plugin: 'jacoco'
@@ -7,7 +8,7 @@ apply plugin: 'signing'
78
apply plugin: 'maven-publish'
89

910
group 'io.appium'
10-
version '5.0.0-BETA1'
11+
version '5.0.4'
1112

1213
repositories {
1314
jcenter()
@@ -18,23 +19,26 @@ repositories {
1819

1920
buildscript {
2021
repositories {
22+
jcenter()
2123
maven {
2224
url "http://repo.maven.apache.org/maven2"
2325
}
2426
}
2527
dependencies {
2628
classpath "org.owasp:dependency-check-gradle:1.4.0"
29+
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.4'
2730
}
2831
}
2932

3033
apply plugin: "org.owasp.dependencycheck"
34+
apply plugin: 'com.github.johnrengelman.shadow'
3135

3236
configurations {
3337
ecj
3438
}
3539

3640
dependencies {
37-
ecj 'org.eclipse.jdt.core.compiler:ecj:4.5.1'
41+
ecj 'org.eclipse.jdt.core.compiler:ecj:4.6.1'
3842
}
3943

4044
compileJava {
@@ -50,22 +54,37 @@ compileJava {
5054
]
5155
}
5256

57+
ext.seleniumVersion = '3.6.0'
58+
5359
dependencies {
54-
compile('org.seleniumhq.selenium:selenium-java:3.0.1'){
60+
compile ("org.seleniumhq.selenium:selenium-java:${seleniumVersion}") {
61+
force = true
62+
5563
exclude module: 'cglib'
5664
exclude group: 'com.google.code.gson'
65+
exclude module: 'phantomjsdriver'
66+
exclude module: 'htmlunit-driver'
67+
exclude group: 'net.sourceforge.htmlunit'
68+
69+
}
70+
compile ("org.seleniumhq.selenium:selenium-support:${seleniumVersion}") {
71+
force = true
72+
}
73+
compile ("org.seleniumhq.selenium:selenium-api:${seleniumVersion}") {
74+
force = true
5775
}
58-
compile 'com.google.code.gson:gson:2.8.0'
59-
compile 'org.apache.httpcomponents:httpclient:4.5.2'
60-
compile 'com.google.guava:guava:20.0'
61-
compile 'cglib:cglib:3.2.4'
62-
compile 'commons-validator:commons-validator:1.5.1'
63-
compile 'org.apache.commons:commons-lang3:3.5'
76+
compile 'com.google.code.gson:gson:2.8.2'
77+
compile 'org.apache.httpcomponents:httpclient:4.5.3'
78+
compile 'cglib:cglib:3.2.5'
79+
compile 'commons-validator:commons-validator:1.6'
80+
compile 'org.apache.commons:commons-lang3:3.6'
6481
compile 'commons-io:commons-io:2.5'
65-
compile 'org.springframework:spring-context:4.3.5.RELEASE'
66-
compile 'org.aspectj:aspectjweaver:1.8.10'
82+
compile 'org.springframework:spring-context:5.0.0.RELEASE'
83+
compile 'org.aspectj:aspectjweaver:1.8.11'
84+
compile 'org.openpnp:opencv:3.2.0-1'
6785

6886
testCompile 'junit:junit:4.12'
87+
testCompile 'org.hamcrest:hamcrest-all:1.3'
6988
}
7089

7190
ext {

docs/Functions.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Appium java client has some features based on [Java 8 Functional interfaces](https://www.oreilly.com/learning/java-8-functional-interfaces).
22

3-
#Conditions
3+
# Conditions
44

55
```java
66
io.appium.java_client.functions.AppiumFunction
@@ -58,7 +58,7 @@ private final AppiumFunction<Pattern, WebDriver> contextFunction = input -> {
5858
};
5959
```
6060

61-
##using one function as pre-condition
61+
## using one function as pre-condition
6262

6363
```java
6464
@Test public void tezt() {
@@ -70,7 +70,7 @@ private final AppiumFunction<Pattern, WebDriver> contextFunction = input -> {
7070
}
7171
```
7272

73-
##using one function as post-condition
73+
## using one function as post-condition
7474

7575
```java
7676
import org.openqa.selenium.support.ui.FluentWait;
@@ -85,7 +85,7 @@ import org.openqa.selenium.support.ui.Wait;
8585
}
8686
```
8787

88-
#Touch action supplier
88+
# Touch action supplier
8989

9090
[About touch actions](https://github.com/appium/java-client/blob/master/docs/Touch-actions.md)
9191

@@ -96,7 +96,7 @@ create gesture libraries/utils using suppliers. Appium java client provides this
9696
io.appium.java_client.functions.ActionSupplier
9797
```
9898

99-
##Samples
99+
## Samples
100100

101101
```java
102102
private final ActionSupplier<TouchAction> horizontalSwipe = () -> {

docs/How-to-propose-a-PR.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#A good pull-request should contain
1+
# A good pull-request should contain
22

33
### Change list
44

@@ -19,6 +19,6 @@ There should be provided more details about changes if it is necessary. If there
1919
can provide code samples which show the way they work and possible use cases. Also you can create [gists](https://gist.github.com)
2020
with pasted java code samples or put them at a PR description using markdown. About markdown please read [Mastering markdown](https://guides.github.com/features/mastering-markdown/) and [Writing on GitHub](https://help.github.com/categories/writing-on-github/)
2121

22-
#Pull-request template
22+
# Pull-request template
2323

2424
There is [PULL_REQUEST_TEMPLATE.md)](https://github.com/appium/java-client/blob/master/PULL_REQUEST_TEMPLATE.md) which should help you to make a good pull request.

docs/How-to-report-an-issue.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
#Be sure that it is not a server-side problem if you are facing something that looks like a bug
1+
# Be sure that it is not a server-side problem if you are facing something that looks like a bug
22

33
The Appium Java client is the thin client which just sends requests and receives responces generally.
44
Be sure that this bug is not reported [here](https://github.com/appium/appium/issues) and/or there is
55
no progress on this issue.
66

7-
#The good issue report should contain
7+
# The good issue report should contain
88

99
### Description
1010

@@ -42,9 +42,9 @@ There should be created a [gist](https://gist.github.com) which is a paste of yo
4242
If you are reporting a bug, _always_ include Appium logs as linked gists! It helps to define the problem correctly and clearly.
4343

4444

45-
#Issue template
45+
# Issue template
4646
There is [ISSUE_TEMPLATE.md](https://github.com/appium/java-client/blob/master/ISSUE_TEMPLATE.md) which should help you to make a good issue report.
4747

48-
#... And don't say that you weren't warned.
48+
# ... And don't say that you weren't warned.
4949

5050
If a report is not readable and/or there is no response from a reporter and some important details are needed then the issue will be closed after some time.

docs/Installing-the-project.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
#Requirements
1+
# Requirements
22

33
Firstly you should install appium server. [Appium getting started](http://appium.io/getting-started.html). The version 1.6.3 or greater is recommended.
44

55
Since version 5.x there many features based on Java 8. So we recommend to install JDK SE 8 and provide that source compatibility.
66

7-
#Maven
7+
# Maven
88

99
Add the following to pom.xml:
1010

@@ -40,7 +40,7 @@ If it is necessary to change the version of Selenium then you can configure pom.
4040
</dependency>
4141
```
4242

43-
#Gradle
43+
# Gradle
4444

4545
Add the following to build.gradle:
4646

0 commit comments

Comments
 (0)