Appium處理滑動方法是swipe
滑動API:Swipe(int 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毫秒)。
屏幕左上角為起點,坐標為(0,0),起點往右為Y軸,起點以下為X軸
微信來說,登錄按鈕起點和終點坐標分別為(63,1716)和(432,1860)
讓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); } }