自動化用例在運(yùn)行過程中經(jīng)常會出現(xiàn)不穩(wěn)定的情況,也就是說這次可以通過,下次就沒辦法通過了,如何去提升用例的穩(wěn)定性?
公司:#小米 #美團(tuá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í)行的時候要操作的元素沒有顯示出來。這種情況比較常見, 運(yùn)行一次網(wǎng)速好的時候通過了,再運(yùn)行一次,頁面沒有打開,就不通過了。
為了提高穩(wěn)定性,我們只能犧牲運(yùn)行時間了, 在經(jīng)常檢測失敗的元素前加上等待時間,等要操作的元素出現(xiàn)之后再執(zhí)行下面的操作。
2、Selelnium的原因:Selenium1.0和2.0還是有區(qū)別的,有些兒函數(shù)在2.0下運(yùn)行確實(shí)時而有效,時面無效。 如果mouseover()函數(shù),就是這種情況, 我們需要避免使用這類的函數(shù)。
3、多線程的時候,測試用例間相互影響。雖然多線程的時候運(yùn)行速度比較快,但是如果用例之間的耦合性沒有設(shè)計(jì)好, 也會影響的,如果用例A先于用例B執(zhí)行的時候,就會影響到用例B;反之則沒有問題。
這種情況,如果你的自動化測試工程打算多線程的時候,提前就要把測試用例測試的耦合度比較松,盡量沒有任何關(guān)系,因?yàn)槎嗑€程的執(zhí)行順序是不受控制的。