教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Appium自身非必現(xiàn)bug影響自動化測試正常運行如何解決?

更新時間:2019年10月09日15時15分 來源:傳智播客 瀏覽次數(shù):

在進(jìn)行軟件UI自動化測試的時候,經(jīng)常會出現(xiàn)非被測軟件bug導(dǎo)致的測試執(zhí)行失敗,常見原因包括:測試腳本的問題、網(wǎng)絡(luò)問題、產(chǎn)品UI的變更等等。還有一種情況是測試工具自身的bug,特別是偶現(xiàn)的bug并且開源的自動化測試工具還沒有修復(fù)該bug的時候,我們關(guān)心的是如何繞過這個已知bug繼續(xù)使用appium進(jìn)行其他場景的自動化測試,本文通過一個實例進(jìn)行分析,分兩步闡述?!就扑]了解:軟件測試培訓(xùn)課程

一、使用appium測試抖音軟件

目標(biāo)

使用appium進(jìn)行抖音主頁的自動化測試,發(fā)現(xiàn)導(dǎo)致腳本執(zhí)行失敗的非必現(xiàn)appium自身的bug

具體場景

1. 使用appium連接安卓手機(jī)后運行腳本打開抖音主頁


Appium自身非必現(xiàn)bug解決方法1

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ā)等等

appium進(jìn)行ui自動化

總結(jié):在使用appium進(jìn)行ui自動化時由于該工具本身的一些偶現(xiàn)bug導(dǎo)致腳本執(zhí)行失敗,可以通過java中的try-catch進(jìn)行異常捕獲后繼續(xù)運行剩余的腳本,保證了測試腳本的正常運行。同時出現(xiàn)異常時打印的語句也可以在appium server的控制臺中進(jìn)行查看。

0 分享到:
和我們在線交談!