一.滑動的介紹:
1.我們在第一次安裝APP或者APP更新版本(重裝)了以后,需要滑動引導頁面(介紹),目前一般向左滑動,才能查看內容。
2.部分模塊需要向上或向下滑動才能看到內容
二.老版本狀況:
最開始的時候,我們都會使用API中swipe()方法,通過獲取坐標點來滑動頁面,當我自己使用最新appium的java的jar包來編寫代碼時,發現swipe()無法找到,經過查看資料和API文檔,這個方法已經去掉了!
三.替代者:
TouchAction對象
TouchAction針對手勢的一些操作,如滑動頁面、按壓屏幕、長按、拖動、移動等(具體TouchAction對象中的方法不做一一介紹,有興趣可以自行查詢)
四.目的:
目前涉及到java+appium的最新滑動引導頁方法使用介紹的特別的少,所以我只是拿目前自己所使用這個方法以及自己封裝的一個工具類做一個介紹:
五.導入使用的包(使用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對象,調用其按壓press()方法,輸入坐標點,moveTo移動到下一個坐標點,之后調用release()和perform()方法執行,注意,寬乘以或者除以的數字自己來定義計算的,主要是呈現一個公共的方式,兼容所有的手機*/
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();
}
}