更新時間:2019年10月09日15時15分 來源:傳智播客 瀏覽次數(shù):
一、使用appium測試抖音軟件
目標(biāo)
使用appium進(jìn)行抖音主頁的自動化測試,發(fā)現(xiàn)導(dǎo)致腳本執(zhí)行失敗的非必現(xiàn)appium自身的bug
具體場景
1. 使用appium連接安卓手機(jī)后運行腳本打開抖音主頁
1. 使用腳本向上滑動屏幕刷新抖音內(nèi)容
2. 使用腳本對新出現(xiàn)的內(nèi)容進(jìn)行點贊等操作
3. 發(fā)現(xiàn)自動化腳本在進(jìn)行點贊操作時有時腳本會運行失敗,排查后發(fā)現(xiàn)原因是有時appium執(zhí)行向上滑動操作失敗
4. 因為向上滑動操作在實際編寫的很多自動化測試腳本中都用到,這步失敗會影響后面的測試場景。怎樣解決這個問題進(jìn)行下一步測試?
二、使用try-catch跳過已知bug繼續(xù)進(jìn)行腳本測試
目標(biāo)
跳過已知的bug繼續(xù)運行自動化測試腳本試圖發(fā)現(xiàn)其他場景的bug
步驟
1.定義向上滑動的方法
private void huadong() {
int width = driver.manage().window().getSize().width;
int height = driver.manage().window().getSize().height;
int y1 = height * 3 / 4; // 上滑的開始點,從y1開始也就是屏幕的四分之三處
int y2 = height * 1 / 4; // 上滑的結(jié)束點,到y(tǒng)2結(jié)束也就是屏幕的四分之一處
TouchAction tAction = new TouchAction(driver);
tAction.press(width / 2, y2).waitAction(Duration.ofSeconds(1 / 4)).moveTo(width / 2, y1).release().perform();
}
2.使用try-catch調(diào)用huadong()方法,接收appium滑動出錯后拋出的異常,使腳本可以繼續(xù)運行
try {
huadong();
} catch (Exception e) {
System.out.println("滑動出錯");
}
3.繼續(xù)運行腳本的其他的點擊操作,比如點贊、轉(zhuǎn)發(fā)等等
總結(jié):在使用appium進(jìn)行ui自動化時由于該工具本身的一些偶現(xiàn)bug導(dǎo)致腳本執(zhí)行失敗,可以通過java中的try-catch進(jìn)行異常捕獲后繼續(xù)運行剩余的腳本,保證了測試腳本的正常運行。同時出現(xiàn)異常時打印的語句也可以在appium server的控制臺中進(jìn)行查看。