Appium-Desktop+java實現(xiàn)頁面滑動(新方法)

一.滑動的介紹:

1.我們在第一次安裝APP或者APP更新版本(重裝)了以后,需要滑動引導(dǎo)頁面(介紹),目前一般向左滑動,才能查看內(nèi)容。

2.部分模塊需要向上或向下滑動才能看到內(nèi)容

二.老版本狀況:

最開始的時候,我們都會使用API中swipe()方法,通過獲取坐標(biāo)點來滑動頁面,當(dāng)我自己使用最新appium的java的jar包來編寫代碼時,發(fā)現(xiàn)swipe()無法找到,經(jīng)過查看資料和API文檔,這個方法已經(jīng)去掉了!

三.替代者:

TouchAction對象

TouchAction針對手勢的一些操作,如滑動頁面、按壓屏幕、長按、拖動、移動等(具體TouchAction對象中的方法不做一一介紹,有興趣可以自行查詢)

四.目的:

目前涉及到j(luò)ava+appium的最新滑動引導(dǎo)頁方法使用介紹的特別的少,所以我只是拿目前自己所使用這個方法以及自己封裝的一個工具類做一個介紹:

五.導(dǎo)入使用的包(使用maven做jar包管理):

<!-- https://mvnrepository.com/artifact/io.appium/java-client -->

<dependency>

? ? <groupId>io.appium</groupId>

? ? <artifactId>java-client</artifactId>

? ? <version>6.1.0</version>

</dependency>

目前在maven倉庫來說還是很新的

六.工具類代碼:

(以下我對最常用的左滑動的代碼做一次詳細注釋)

package com.kid.service;

import com.kid.driver.AppiumDriverInit;

import io.appium.java_client.TouchAction;

import io.appium.java_client.touch.offset.PointOption;

/**

* createTime:2018年9月16日

*滑動公共方法是需要使用AppiumDriver,所以必須繼承包含AppiumDriver的AppiumDriverInit 類

*/

public class slideScreen extends AppiumDriverInit {

/**

*向上滑動屏幕

*/

public static void slideUp() {

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

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

new TouchAction(driver).press(PointOption.point(width / 2, height * 3 / 4)).

moveTo(PointOption.point(width / 2, height / 10)).release().perform();

}

/**

*向下滑動屏幕

*/

public static void slideDown() {

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

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

new TouchAction(driver).press(PointOption.point(width / 2, height / 10))

.moveTo(PointOption.point(width / 2, height * 3 / 4)).release().perform();

}

/**

*向左滑動屏幕

*/

public static void slideLeft() {

//獲取手機屏幕的寬度

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

//獲取手機屏幕的高度

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

/*new一個TouchAction對象,調(diào)用其按壓press()方法,輸入坐標(biāo)點,moveTo移動到下一個坐標(biāo)點,之后調(diào)用release()和perform()方法執(zhí)行,注意,寬乘以或者除以的數(shù)字自己來定義計算的,主要是呈現(xiàn)一個公共的方式,兼容所有的手機*/

new TouchAction(driver).press(PointOption.point(width * 3 / 4, height / 2))

.moveTo(PointOption.point(width / 10, height / 2)).release().perform().perform();

}

/**

*向右滑動屏幕

*/

public static void slideRight() {

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

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

new TouchAction(driver).press(PointOption.point(width / 10, height / 2))

.moveTo(PointOption.point(width * 3 / 4 , height / 2)).release().perform();

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容