Функцията за плъзгане в Andriod за Java-Client-5.0.3 не работи

Използвах кода по-долу за плъзгане на страница в Android Mobile Automation Testing, функцията за плъзгане не се поддържа. Дава грешката:

Методът swipe(int, int, int, int, int) е недефиниран за типа 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");
    }
}

person Varun.S    schedule 12.03.2018    source източник


Отговори (1)


Проверете го, ще ви помогне за плъзгане на страници (за 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);

person Al Imran    schedule 12.03.2018
comment
Благодаря за помощта, това наистина ми помогна :) - person Varun.S; 13.03.2018
comment
Приет отговорът ви - person Varun.S; 13.03.2018