Appium滑動函數:Swipe


Appium處理滑動方法是swipe

滑動APISwipeint start x,int start y,int end x,int y,duration) 
解釋: 
int start x-開始滑動的x坐標;
int start y -開始滑動的y坐標 ;
int end x -結束點x坐標;
int end y -結束點y坐標; 
duration 滑動時間(默認5毫秒)。

屏幕左上角為起點,坐標為(00,起點往右為Y軸,起點以下為X

 

微信來說,登錄按鈕起點和終點坐標分別為(631716)和(4321860

 

讓apppium 更好的兼容不同分辨率的設備,在執行滑動前先獲取屏幕的分辨率

1.屏幕分辨率

按照屏幕分辨率為終點坐標,比如你手機分辨率1080*1920,那么該手機坐標系的終點  是(1080*1920

2.根據代碼得到

int width = driver.manage().window().getSize().width;  
int height = driver.manage().window().getSize().height;  

現在介紹下自定義方法內的參數

driver(就是把appiumdriver對象傳進來)

during(這里是填寫毫秒數,這里的 毫秒數越小 滑動的速度越快~ 一般設定在500~1000,如果你想快速滑動 那就可以設置的更加小)

num(是只滑動的次數,如相冊多張圖片翻頁測試什么的滑動或者滑動到列表底部。就直接輸入次數就行了)

gosleep()是自己的封裝了Thread.sleep方法,不懂的見以下鏈接 http://www.cnblogs.com/bamu/archive/2013/03/14/2959663.html

上滑 swipeToUp

public static void swipeToUp(AppiumDriver<WebElement> driver,int during, int num) {  
    int width = driver.manage().window().getSize().width;  
    int height = driver.manage().window().getSize().height;  
    for (int i = 0; i < num; i++) {  
        driver.swipe(width / 2, height * 3 / 4, width / 2, height / 4, duri  
        goSleep(3);  
    }  
}  

swipeToDown下拉

public static void swipeToDown(AppiumDriver<WebElement> driver,int during, int num) {  
    int width = driver.manage().window().getSize().width;  
    int height = driver.manage().window().getSize().height;  
    System.out.println(width);  
    System.out.println(height);  
    for (int i = 0; i < num; i++) {  
        driver.swipe(width / 2, height / 4, width / 2, height * 3 / 4, during);  
        goSleep(3);  
    }  
}  

swipeToLeft向左滑動

public static void swipeToLeft(AppiumDriver<WebElement> driver,int during, int num) {  
    int width = driver.manage().window().getSize().width;  
    int height = driver.manage().window().getSize().height;  
    for (int i = 0; i < num; i++) {  
        driver.swipe(width * 3 / 4, height / 2, width / 4, height / 2, during);  
        goSleep(3);  
    }  
} 

swipeToLeft向左滑動

public static void swipeToRight(AppiumDriver<WebElement> driver,int during, int num) {  
    int width = driver.manage().window().getSize().width;  
    int height = driver.manage().window().getSize().height;  
    for (int i = 0; i < num; i++) {  
        driver.swipe(width / 4, height / 2, width * 3 / 4, height / 2, during);  
        goSleep(3);  
    }  
}  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM