1. 程式人生 > >appium中引導圖等-滑動.通過座標定位

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);

}

}

到此  滑動就結束了,也進行了簡單的二次封裝,如果有不理解或者更好見解的地方歡迎各位大神評論區留言.

滑動並不是只有一個方法.歡迎大家留言討論.

                                                                                                                                -小餅呀