代码之家  ›  专栏  ›  技术社区  ›  Varun.S

Andriod for Java-Client-5.0.3中的刷卡功能不工作

  •  1
  • Varun.S  · 技术社区  · 6 年前

    我在Android Mobile Automation测试中使用以下代码进行页面滑动,不支持滑动功能。它给出了错误:

    类型的方法滑动(int,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");
        }
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Al Imran    6 年前

    看看它,它将帮助您进行页面浏览(对于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);