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