現(xiàn)在客戶端流行的ui自動化測試框架層出不窮,但是也有很多人質(zhì)疑UI自動化測試對測試本身的投入產(chǎn)出比,甚至認(rèn)為UI自動化測試有用嗎.
一.UI異常
UI異常包括白屏,黑屏,數(shù)據(jù)加載異常,花屏,重影,錯位,覆蓋等.
二.UI自動化測試的使用場景
UI測試主要測試的是產(chǎn)品的功能需求.那么,功能主要驗證的方面有:
1)業(yè)務(wù)邏輯;
2)頁面樣式;
3)兼容性.
我們每測一輪測試,在回歸和兼容性方面投入的人力是巨大的.而這些人力做的都是重復(fù)的勞動.UI自動化在降低人力方面,發(fā)揮著重要的作用.而最近熱門的圖像識別和深度學(xué)習(xí),又給UI自動化測試在頁面樣式識別方面補(bǔ)足了短板.
三.UI自動化元素定位
很多人反應(yīng)UI自動化腳本維護(hù)成本高,因為頁面布局總是在變.所以,UI自動化測試更適合業(yè)務(wù)相對穩(wěn)定的產(chǎn)品.而且我們在寫自動化腳本時,主要是通過
1.控件識別,控件識別的方法有:
1)id;
2)classPath;
3)text/linktext;
4)xpath;
5)js;
6)tag;
4)Bound;
等.而其中最不穩(wěn)定的就是classPath,最穩(wěn)定的是id.所以我們?nèi)绾吻擅畹亩ㄎ豢丶?成為了其中腳本是否穩(wěn)定的關(guān)鍵.
2.圖片識別:
sikuli/airtest;
3.圖片對比:
感知哈希算法;圖片縮放;圖片像素值對比.
其次穴店,要做好失敗重試碗誉,和顯式隱式等待等缠局,pom模型欣尼,用例步驟原子化,獨(dú)立性底燎。
四.UI自動化測試效果
接口測試我們很容易很清楚的可以拿到接口的成功與失敗,響應(yīng)時間,響應(yīng)內(nèi)容.但是客戶端琳瑯滿目.
接口成功了,客戶端就一定能看到頁面數(shù)據(jù)嗎?這個問題值得我們思考.
從發(fā)起請求,到頁面呈現(xiàn).其中諸多環(huán)節(jié)和諸多耗時.而客戶端作為檢驗產(chǎn)品的最后一個環(huán)節(jié),無疑起著決定性的作用.是用戶最直觀的感受.UI自動化測試就是作為真實用戶的角色去檢驗產(chǎn)品,檢驗端到端的可用性.
六. 效果對比