forked from appium/java-client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAndroidAbilityToUseSupplierTest.java
70 lines (54 loc) · 2.95 KB
/
AndroidAbilityToUseSupplierTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package io.appium.java_client.android;
import static io.appium.java_client.TestUtils.getCenter;
import static io.appium.java_client.touch.WaitOptions.waitOptions;
import static io.appium.java_client.touch.offset.ElementOption.element;
import static java.time.Duration.ofSeconds;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import io.appium.java_client.AppiumBy;
import io.appium.java_client.functions.ActionSupplier;
import io.appium.java_client.touch.offset.ElementOption;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Point;
import org.openqa.selenium.WebElement;
import java.util.List;
public class AndroidAbilityToUseSupplierTest extends BaseAndroidTest {
private final ActionSupplier<AndroidTouchAction> horizontalSwipe = () -> {
driver.findElement(By.id("io.appium.android.apis:id/gallery"));
WebElement gallery = driver.findElement(By.id("io.appium.android.apis:id/gallery"));
List<WebElement> images = gallery.findElements(AppiumBy.className("android.widget.ImageView"));
Point location = gallery.getLocation();
Point center = getCenter(gallery, location);
ElementOption pressOption = element(images.get(2),-10,center.y - location.y);
ElementOption moveOption = element(gallery, 10,center.y - location.y);
return new AndroidTouchAction(driver)
.press(pressOption)
.waitAction(waitOptions(ofSeconds(2)))
.moveTo(moveOption)
.release();
};
private final ActionSupplier<AndroidTouchAction> verticalSwiping = () ->
new AndroidTouchAction(driver)
.press(element(driver.findElement(AppiumBy.accessibilityId("Gallery"))))
.waitAction(waitOptions(ofSeconds(2)))
.moveTo(element(driver.findElement(AppiumBy.accessibilityId("Auto Complete"))))
.release();
@Test public void horizontalSwipingWithSupplier() {
Activity activity = new Activity("io.appium.android.apis", ".view.Gallery1");
driver.startActivity(activity);
WebElement gallery = driver.findElement(By.id("io.appium.android.apis:id/gallery"));
List<WebElement> images = gallery.findElements(AppiumBy.className("android.widget.ImageView"));
int originalImageCount = images.size();
horizontalSwipe.get().perform();
assertNotEquals(originalImageCount,
gallery.findElements(AppiumBy.className("android.widget.ImageView")).size());
}
@Test public void verticalSwipingWithSupplier() throws Exception {
driver.resetApp();
driver.findElement(AppiumBy.accessibilityId("Views")).click();
Point originalLocation = driver.findElement(AppiumBy.accessibilityId("Gallery")).getLocation();
verticalSwiping.get().perform();
Thread.sleep(5000);
assertNotEquals(originalLocation, driver.findElement(AppiumBy.accessibilityId("Gallery")).getLocation());
}
}