Java-Client-5.0.3 的 Android 滑动功能无法正常工作
Swipe funtion in Andriod for Java-Client-5.0.3 is not working
我在 Android 移动自动化测试中使用以下代码进行页面滑动,不支持滑动功能。它给出了错误:
The method swipe(int, int, int, int, int) is undefined for the type
AppiumDriver
下面是代码
public static void Swipe(String Direction) throws Exception,IOException{
if(Direction.equalsIgnoreCase("Right to Left")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
Dimension size = AgenceGS_Framwork.driver.manage().window().getSize();
int startx = (int) (size.height * 0.8);
int endx = (int) (size.height * 0.20);
int starty = size.width / 2;
//Mobile_Framwork.driver.swipe(startx, starty, endx, starty, 1000);
AgenceGS_Framwork.driver.swipe(endx, starty, startx, starty, 2000);
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
if(Direction.equalsIgnoreCase("Left to Right")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
Dimension size = AgenceGS_Framwork.driver.manage().window().getSize();
int endx = (int) (size.width * 0.8);
System.out.println("start width");
int startx = (int) (size.width * 0.20);
System.out.println("start width");
int starty = size.height / 2;
AgenceGS_Framwork.driver.swipe(startx, starty, endx, starty, 1000);
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
if(Direction.equalsIgnoreCase("Coordinate Scroll")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
TouchAction touch=new TouchAction(AgenceGS_Framwork.driver);
touch.longPress(664,600).moveTo(664, 100).release().perform();
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
}
检查一下,它将帮助您进行页面滑动(对于 Java 客户端 5.0.3),它对我来说非常有用。
public static void swipeHorizontal(AppiumDriver driver, double startPercentage, double finalPercentage, double anchorPercentage, int duration) throws Exception {
Dimension size = driver.manage().window().getSize();
int anchor = (int) (size.height * anchorPercentage);
int startPoint = (int) (size.width * startPercentage);
int endPoint = (int) (size.width * finalPercentage);
new TouchAction(driver).press(startPoint, anchor).waitAction(Duration.ofMillis(duration)).moveTo(endPoint, anchor).release().perform();
}
public static void swipeVertical(AppiumDriver driver, double startPercentage, double finalPercentage, double anchorPercentage, int duration) throws Exception {
Dimension size = driver.manage().window().getSize();
int anchor = (int) (size.width * anchorPercentage);
int startPoint = (int) (size.height * startPercentage);
int endPoint = (int) (size.height * finalPercentage);
new TouchAction(driver).press(anchor, startPoint).waitAction(Duration.ofMillis(duration)).moveTo(anchor, endPoint).release().perform();
}
打电话给他们:
向上滚动:swipeVertical((AppiumDriver)driver,0.9,0.1,0.5,3000);
向下滚动:swipeVertical((AppiumDriver)driver,0.1,0.9,0.5,3000);
从右到左:swipeHorizontal((AppiumDriver) driver,0.9,0.01,0.5,3000);
从左到右:swipeHorizontal((AppiumDriver) driver,0.01,0.9,0.5,3000);
我在 Android 移动自动化测试中使用以下代码进行页面滑动,不支持滑动功能。它给出了错误:
The method swipe(int, int, int, int, int) is undefined for the type AppiumDriver
下面是代码
public static void Swipe(String Direction) throws Exception,IOException{
if(Direction.equalsIgnoreCase("Right to Left")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
Dimension size = AgenceGS_Framwork.driver.manage().window().getSize();
int startx = (int) (size.height * 0.8);
int endx = (int) (size.height * 0.20);
int starty = size.width / 2;
//Mobile_Framwork.driver.swipe(startx, starty, endx, starty, 1000);
AgenceGS_Framwork.driver.swipe(endx, starty, startx, starty, 2000);
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
if(Direction.equalsIgnoreCase("Left to Right")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
Dimension size = AgenceGS_Framwork.driver.manage().window().getSize();
int endx = (int) (size.width * 0.8);
System.out.println("start width");
int startx = (int) (size.width * 0.20);
System.out.println("start width");
int starty = size.height / 2;
AgenceGS_Framwork.driver.swipe(startx, starty, endx, starty, 1000);
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
if(Direction.equalsIgnoreCase("Coordinate Scroll")){
AgenceGS_Framwork.driver.context("NATIVE_APP");
TouchAction touch=new TouchAction(AgenceGS_Framwork.driver);
touch.longPress(664,600).moveTo(664, 100).release().perform();
AgenceGS_Framwork.switchWebview("android.webkit.WebView");
}
}
检查一下,它将帮助您进行页面滑动(对于 Java 客户端 5.0.3),它对我来说非常有用。
public static void swipeHorizontal(AppiumDriver driver, double startPercentage, double finalPercentage, double anchorPercentage, int duration) throws Exception {
Dimension size = driver.manage().window().getSize();
int anchor = (int) (size.height * anchorPercentage);
int startPoint = (int) (size.width * startPercentage);
int endPoint = (int) (size.width * finalPercentage);
new TouchAction(driver).press(startPoint, anchor).waitAction(Duration.ofMillis(duration)).moveTo(endPoint, anchor).release().perform();
}
public static void swipeVertical(AppiumDriver driver, double startPercentage, double finalPercentage, double anchorPercentage, int duration) throws Exception {
Dimension size = driver.manage().window().getSize();
int anchor = (int) (size.width * anchorPercentage);
int startPoint = (int) (size.height * startPercentage);
int endPoint = (int) (size.height * finalPercentage);
new TouchAction(driver).press(anchor, startPoint).waitAction(Duration.ofMillis(duration)).moveTo(anchor, endPoint).release().perform();
}
打电话给他们:
向上滚动:swipeVertical((AppiumDriver)driver,0.9,0.1,0.5,3000);
向下滚动:swipeVertical((AppiumDriver)driver,0.1,0.9,0.5,3000);
从右到左:swipeHorizontal((AppiumDriver) driver,0.9,0.01,0.5,3000);
从左到右:swipeHorizontal((AppiumDriver) driver,0.01,0.9,0.5,3000);