如何使用Selendroid WebDriver实现在移动Web页面中进行滑动?

3
  1. I have tried with below codings for swiping a mobile pages.
  2. While running the test case, the swipe action doesn't occurs and i am also not getting any error message.
  3. How can I swipe on both side from left to right and vice-versa.

    1. //Swipe Right to Left side of the Media Viewer First Page
                    WebElement firstPages = driver.findElement(By.id("media-list"));
                    TouchActions flick = new TouchActions(driver).flick(firstPages,-100,0,0);
                    flick.perform();
    
    2. //perform swipe gesture
                   TouchActions swipe = new TouchActions(driver).flick(0, -20);
                   swipe.perform();
    

    3.public static void swipe(WebDriver driver) {

                JavascriptExecutor js = (JavascriptExecutor) driver;
                HashMap<String, Double> swipeObject = new java.util.HashMap<String, Double>();
                swipeObject.put("startX", 0.95);
                swipeObject.put("startY", 0.5);
                swipeObject.put("endX", 0.05);
                swipeObject.put("endY", 0.5);
                swipeObject.put("duration", 1.8);
                js.executeScript("mobile: swipe", swipeObject);
            }
    
1个回答

1
 Obtain the start point end point of the object to be swiped by using appium inspector or use settings->developer options->show pointer location to get starting and end point of object to be scrolled and then perform swipe on that co-ordinates with minimum duration of >500 , swipe wont work if u give any value below 500 in duration.        



        self.driver.swipe(start_x=300, start_y=281, end_x=75, end_y=281, duration=500)
        self.driver.implicitly_wait(10)
        self.driver.swipe(start_x=75, start_y=281, end_x=300, end_y=281, duration=500)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接