自動化用例在運行過程中經(jīng)常會出現(xiàn)不穩(wěn)定的情況,也就是說這次可以通過,下次就沒辦法通過了,如何去提升用例的穩(wěn)定性?
公司:#小米 #美團
崗位:#自動化測試工程師
關(guān)鍵字:#自動化測試 #腳本執(zhí)行 #腳本穩(wěn)定性
1、time.sleep( )
2、driver.implicitly_wait(30)
3、多用 try 捕捉,except處理異常 此時我們要分析出不穩(wěn)定的原因,然后有針對性的去解決問題。
主要有以下幾個方面 :
1、網(wǎng)速問題:有的時候網(wǎng)頁加載的比較慢,在程序執(zhí)行的時候要操作的元素沒有顯示出來。這種情況比較常見, 運行一次網(wǎng)速好的時候通過了,再運行一次,頁面沒有打開,就不通過了。
為了提高穩(wěn)定性,我們只能犧牲運行時間了, 在經(jīng)常檢測失敗的元素前加上等待時間,等要操作的元素出現(xiàn)之后再執(zhí)行下面的操作。
2、Selelnium的原因:Selenium1.0和2.0還是有區(qū)別的,有些兒函數(shù)在2.0下運行確實時而有效,時面無效。 如果mouseover()函數(shù),就是這種情況, 我們需要避免使用這類的函數(shù)。
3、多線程的時候,測試用例間相互影響。雖然多線程的時候運行速度比較快,但是如果用例之間的耦合性沒有設(shè)計好, 也會影響的,如果用例A先于用例B執(zhí)行的時候,就會影響到用例B;反之則沒有問題。
這種情況,如果你的自動化測試工程打算多線程的時候,提前就要把測試用例測試的耦合度比較松,盡量沒有任何關(guān)系,因為多線程的執(zhí)行順序是不受控制的。