Skip to content

Commit cabf518

Browse files
committed
Merge pull request appium-boneyard#67 from TikhomirovSergey/master
Update to java_client 3.3.0
2 parents db2c1be + f461e88 commit cabf518

File tree

70 files changed

+7367
-3
lines changed

Some content is hidden

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

70 files changed

+7367
-3
lines changed
229 KB
Binary file not shown.

sample-code/apps/RottenTomatoesPageSnapshot.html

Lines changed: 2084 additions & 0 deletions
Large diffs are not rendered by default.

sample-code/apps/RottenTomatoesSnapshot.html

Lines changed: 2192 additions & 0 deletions
Large diffs are not rendered by default.
310 KB
Binary file not shown.

sample-code/apps/chromedriver

10.3 MB
Binary file not shown.

sample-code/apps/chromedriverWin

4.78 MB
Binary file not shown.

sample-code/examples/java/junit/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<dependency>
1818
<groupId>io.appium</groupId>
1919
<artifactId>java-client</artifactId>
20-
<version>3.2.0</version>
20+
<version>3.3.0</version>
2121
</dependency>
2222
<dependency>
2323
<groupId>com.googlecode.json-simple</groupId>

sample-code/examples/java/junit/src/test/java/com/saucelabs/appium/driver_service/DriverServiceSample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public void checkTheAbilityToStartADriverWithTheDefaultServerAndNode(){
6565

6666
@Test
6767
public void checkTheAbilityToStartADriverWithTheDefaultServerAndNotDefaultNode(){
68-
System.setProperty(AppiumServiceBuilder.APPIUM_NODE_PROPERTY, findCustomNode().getAbsolutePath());
68+
System.setProperty(AppiumServiceBuilder.APPIUM_PATH, findCustomNode().getAbsolutePath());
6969

7070
File classpathRoot = new File(System.getProperty("user.dir"));
7171
File appDir = new File(classpathRoot, "../../../apps/ApiDemos/bin");
@@ -79,7 +79,7 @@ public void checkTheAbilityToStartADriverWithTheDefaultServerAndNotDefaultNode()
7979
new AndroidDriver<MobileElement>(capabilities).quit();
8080
}
8181
finally {
82-
System.clearProperty(AppiumServiceBuilder.APPIUM_NODE_PROPERTY);
82+
System.clearProperty(AppiumServiceBuilder.APPIUM_PATH);
8383
}
8484

8585
}
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
package com.saucelabs.appium.page_object.widgets;
2+
3+
import io.appium.java_client.android.AndroidDriver;
4+
import io.appium.java_client.pagefactory.AppiumFieldDecorator;
5+
import io.appium.java_client.pagefactory.TimeOutDuration;
6+
import io.appium.java_client.remote.MobileCapabilityType;
7+
import org.apache.commons.lang3.StringUtils;
8+
import org.junit.AfterClass;
9+
import org.junit.Before;
10+
import org.junit.BeforeClass;
11+
import org.junit.Test;
12+
import org.openqa.selenium.NoSuchElementException;
13+
import org.openqa.selenium.remote.DesiredCapabilities;
14+
import org.openqa.selenium.support.PageFactory;
15+
16+
import java.io.File;
17+
import java.net.URL;
18+
import java.util.concurrent.TimeUnit;
19+
20+
import static org.junit.Assert.assertNotNull;
21+
import static org.junit.Assert.assertTrue;
22+
23+
public class AndroidOverrideWidgetTest implements WidgetTest{
24+
25+
private static AndroidDriver<?> driver;
26+
private static RottenTomatoes rottenTomatoes;
27+
28+
@BeforeClass
29+
public static void beforeClass() throws Exception {
30+
31+
File appDir = new File("../../../apps");
32+
File app = new File(appDir, "android-rottentomatoes-demo-debug.apk");
33+
DesiredCapabilities capabilities = new DesiredCapabilities();
34+
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator");
35+
capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
36+
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
37+
38+
rottenTomatoes = new RottenTomatoes();
39+
PageFactory.initElements(new AppiumFieldDecorator(driver, new TimeOutDuration(5, TimeUnit.SECONDS)), rottenTomatoes);
40+
}
41+
42+
@Before
43+
public void setUp() throws Exception {
44+
if (driver != null)
45+
driver.startActivity("com.codepath.example.rottentomatoes", "BoxOfficeActivity");
46+
}
47+
48+
@AfterClass
49+
public static void afterClass() throws Exception {
50+
if (driver != null)
51+
driver.quit();
52+
}
53+
54+
@Test
55+
@Override
56+
public void checkACommonWidget() {
57+
assertTrue(rottenTomatoes.getSimpleMovieCount() >= 1);
58+
Movie movie = rottenTomatoes.getASimpleMovie(0);
59+
assertTrue(!StringUtils.isBlank(movie.title()));
60+
assertTrue(!StringUtils.isBlank(movie.score()));
61+
assertNotNull(movie.getPoster());
62+
movie.goToReview();
63+
64+
rottenTomatoes.checkSimpleReview();
65+
}
66+
67+
@Override
68+
@Test
69+
public void checkAnAnnotatedWidget() {
70+
assertTrue(rottenTomatoes.getAnnotatedMovieCount() >= 1);
71+
Movie movie = rottenTomatoes.getAnAnnotatedMovie(0);
72+
assertTrue(!StringUtils.isBlank(movie.title()));
73+
assertTrue(!StringUtils.isBlank(movie.score()));
74+
assertNotNull(movie.getPoster());
75+
movie.goToReview();
76+
77+
rottenTomatoes.checkAnnotatedReview();
78+
}
79+
80+
81+
@Override
82+
@Test
83+
public void checkAnExtendedWidget() {
84+
assertTrue(rottenTomatoes.getExtendeddMovieCount() >= 1);
85+
Movie movie = rottenTomatoes.getAnExtendedMovie(0);
86+
assertTrue(!StringUtils.isBlank(movie.title()));
87+
assertTrue(!StringUtils.isBlank(movie.score()));
88+
assertNotNull(movie.getPoster());
89+
movie.goToReview();
90+
91+
rottenTomatoes.checkExtendedReview();
92+
}
93+
94+
@Override
95+
@Test
96+
public void checkTheLocatorOverridingOnAWidget() {
97+
try {
98+
assertTrue(rottenTomatoes.getFakedMovieCount() == 0);
99+
}
100+
catch (Exception e){
101+
if (!NoSuchElementException.class.isAssignableFrom(e.getClass()))
102+
throw e;
103+
}
104+
105+
rottenTomatoes.getASimpleMovie(0).goToReview();
106+
107+
try {
108+
rottenTomatoes.checkFakeReview();
109+
}
110+
catch (Exception e){
111+
if (NoSuchElementException.class.isAssignableFrom(e.getClass()))
112+
return;
113+
else
114+
throw e;
115+
}
116+
throw new RuntimeException("Any exception was expected");
117+
}
118+
}
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
package com.saucelabs.appium.page_object.widgets;
2+
3+
import io.appium.java_client.pagefactory.AppiumFieldDecorator;
4+
import io.appium.java_client.pagefactory.TimeOutDuration;
5+
import org.apache.commons.io.FileUtils;
6+
import org.apache.commons.lang3.StringUtils;
7+
import org.junit.AfterClass;
8+
import org.junit.Before;
9+
import org.junit.BeforeClass;
10+
import org.junit.Test;
11+
import org.openqa.selenium.NoSuchElementException;
12+
import org.openqa.selenium.Platform;
13+
import org.openqa.selenium.chrome.ChromeDriver;
14+
import org.openqa.selenium.chrome.ChromeDriverService;
15+
import org.openqa.selenium.support.PageFactory;
16+
17+
import java.io.File;
18+
import java.util.concurrent.TimeUnit;
19+
20+
import static org.junit.Assert.assertNotNull;
21+
import static org.junit.Assert.assertTrue;
22+
23+
public class HtmlOverrideWidgetTest implements WidgetTest{
24+
25+
private static ChromeDriver driver;
26+
private static RottenTomatoes rottenTomatoes;
27+
28+
@BeforeClass
29+
public static void beforeClass() throws Exception {
30+
31+
if (Platform.getCurrent().is(Platform.WINDOWS)) {
32+
FileUtils.copyFile(new File("../../../apps/chromedriverWin"), new File("../../../apps/chromedriver.exe"));
33+
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY,
34+
new File("../../../apps/chromedriver.exe").getAbsolutePath());
35+
}
36+
else {
37+
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY,
38+
new File("../../../apps/chromedriver").getAbsolutePath());
39+
}
40+
41+
driver = new ChromeDriver();
42+
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
43+
rottenTomatoes = new RottenTomatoes();
44+
PageFactory.initElements(new AppiumFieldDecorator(driver, new TimeOutDuration(5, TimeUnit.SECONDS)), rottenTomatoes);
45+
}
46+
47+
@Before
48+
public void setUp() throws Exception {
49+
if (driver != null)
50+
driver.get("file:///" + new File("../../../apps/RottenTomatoesSnapshot.html").getAbsolutePath());
51+
}
52+
53+
@AfterClass
54+
public static void afterClass() throws Exception {
55+
if (driver != null)
56+
driver.quit();
57+
}
58+
59+
@Test
60+
@Override
61+
public void checkACommonWidget() {
62+
assertTrue(rottenTomatoes.getSimpleMovieCount() >= 1);
63+
Movie movie = rottenTomatoes.getASimpleMovie(0);
64+
assertTrue(!StringUtils.isBlank(movie.title()));
65+
assertTrue(!StringUtils.isBlank(movie.score()));
66+
assertNotNull(movie.getPoster());
67+
movie.goToReview();
68+
69+
rottenTomatoes.checkSimpleReview();
70+
}
71+
72+
@Override
73+
@Test
74+
public void checkAnAnnotatedWidget() {
75+
assertTrue(rottenTomatoes.getAnnotatedMovieCount() >= 1);
76+
Movie movie = rottenTomatoes.getAnAnnotatedMovie(0);
77+
assertTrue(!StringUtils.isBlank(movie.title()));
78+
assertTrue(!StringUtils.isBlank(movie.score()));
79+
assertNotNull(movie.getPoster());
80+
movie.goToReview();
81+
82+
rottenTomatoes.checkAnnotatedReview();
83+
}
84+
85+
86+
@Override
87+
@Test
88+
public void checkAnExtendedWidget() {
89+
assertTrue(rottenTomatoes.getExtendeddMovieCount() >= 1);
90+
Movie movie = rottenTomatoes.getAnExtendedMovie(0);
91+
assertTrue(!StringUtils.isBlank(movie.title()));
92+
assertTrue(!StringUtils.isBlank(movie.score()));
93+
assertNotNull(movie.getPoster());
94+
movie.goToReview();
95+
96+
rottenTomatoes.checkExtendedReview();
97+
}
98+
99+
@Override
100+
@Test
101+
public void checkTheLocatorOverridingOnAWidget() {
102+
try {
103+
assertTrue(rottenTomatoes.getFakedMovieCount() == 0);
104+
}
105+
catch (Exception e){
106+
if (!NoSuchElementException.class.isAssignableFrom(e.getClass()))
107+
throw e;
108+
}
109+
110+
rottenTomatoes.getASimpleMovie(0).goToReview();
111+
112+
try {
113+
rottenTomatoes.checkFakeReview();
114+
}
115+
catch (Exception e){
116+
if (NoSuchElementException.class.isAssignableFrom(e.getClass()))
117+
return;
118+
else
119+
throw e;
120+
}
121+
throw new RuntimeException("Any exception was expected");
122+
}
123+
}

0 commit comments

Comments
 (0)