appium中引導圖等-滑動.通過座標定位
給大家分享一下如何進行座標定位,從而實現滑動的例子:
首先我們的應從場景有很多,比如app首頁的引導圖,例如我們公司的資訊流的下拉重新整理上拉載入.等等,都會用到頁面的滑動.
首先先了解一下什麼是座標滑動:
我們app的座標是在左上角進行的原點定位.
通過針對座標的定位以及java中的swipe 便可以進行滑動的操作:
首先看第一步程式碼:
通過座標來進行引導圖進行向左滑動. swipe函式:
driver.swipe(900,800,100,800,1000);
900和800 是滑動的起始座標位置,
100和800 是結束時候的座標位置.
1000指的是 滑動的間隔時間,
這種如果是同一款手機的解析度是沒有問題的,但是針對不同的手機的解析度.我們怎麼才能讓他自動識別呢?
下面我們來進行定位寫活:
int width = driver.manager.windows.getsize().width; 這個是獲取到的螢幕寬度.
int height = driver.manager.windows.getsize().height; 這個是獲取到的螢幕高度.
同過上述的兩個程式碼,就能實時的獲取到我們當前螢幕的寬和高.
在通過獲取到的這兩個變數,我們進行活動式的加減乘除,就可以進行頁面的滑動:
下面是一個小demo 輔助理解:
int width = driver.manager.windows.getsize().width;
int height = driver.manager.windows.getsize().height;
driver.swipe(width*9/10,height/2,width/20,height/2,1000);
到這一步我們可以說是已經實現了滑動.
下面再拓展一下,我們知道java最大的特點就是面向物件, 面向物件第一步就是封裝.
我們可以將這個方法封裝成物件,進行呼叫.
還可以也就是接下來說的 二次封裝.
封裝成方法後 傳入一個方向的字串. 然後用if語句進行判斷.
下面這個是個demo也是通用的二次封裝滑動,直接傳參進方向即可進行執行程式碼:
public static void page_huadong(String direction){
int width = driver.manager.windows.getsize().width;
int height = driver.manager.windows.getsize().height;
if(direction.equals("左滑")){
driver.swipe(width*9/10,height/2,width/20,height/2,1000);
}
if(direction.equals("右滑")){
driver.swipe(width/20,height/2,width*9/10,height/2,1000);
}
if(direction.equals("上滑")){
driver.swipe(width/2,height*9/10,width/2,height/20,1000);
}
if(direction.equals("下滑")){
driver.swipe(width/2,height/20,width/2,height*9/10,1000);
}
}
到此 滑動就結束了,也進行了簡單的二次封裝,如果有不理解或者更好見解的地方歡迎各位大神評論區留言.
滑動並不是只有一個方法.歡迎大家留言討論.
-小餅呀