1 回答

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個贊
一般前端自動化測試大致包括
類庫單元測試自動化
UI組件測試自動化
類庫單元測試自動化
較好實(shí)現(xiàn)
基本思路是讓不同的瀏覽器可以自動根據(jù)指令跑一些JS函數(shù)
結(jié)果與預(yù)期比對后返回是否通過case測試標(biāo)志
其中一般有兩種實(shí)現(xiàn)方式:
其一:
1.打開目標(biāo)瀏覽器,運(yùn)行測試框架站點(diǎn)
2.測試框架站點(diǎn)通過ajax 輪詢、websocket 等方式,將待測 js 的 case 在瀏覽器內(nèi)運(yùn)行(通過eval 、createElement("script") 等方式)
3.比對測試結(jié)果,將結(jié)果 post 到遠(yuǎn)端
4.遠(yuǎn)端接受測試結(jié)果
5.遠(yuǎn)端等待所有瀏覽器返回結(jié)果完成
6.marge 所有瀏覽器數(shù)據(jù)顯示最終通過與否結(jié)果。
這種方式弊端:
人工開啟一次所有瀏覽器
需要排隊(duì)測試,瀏覽器只能一次運(yùn)行完一組測試后才能再運(yùn)行下一組
如果中間某testcase導(dǎo)致瀏覽器異常,返回結(jié)果將缺失,需要人工去服務(wù)器上檢查下瀏覽器狀態(tài)
好處:
可以覆蓋所有想覆蓋到的瀏覽器
另一種方式:
1.將常用瀏覽器內(nèi)核放進(jìn)一個或多個相互有關(guān)聯(lián)的進(jìn)程內(nèi)
2.用例通過系統(tǒng)消息發(fā)送到各個包裝的內(nèi)核中
3.每次開啟一個新內(nèi)核進(jìn)程運(yùn)行JS用例
4.用例結(jié)果發(fā)送給包裝進(jìn)程
5.包裝進(jìn)程匯集所有用例結(jié)果后post到遠(yuǎn)端保存
6.包裝進(jìn)程連帶內(nèi)核進(jìn)程一起退出
優(yōu)點(diǎn):
無序人工開啟一次瀏覽器
獨(dú)立進(jìn)程運(yùn)行,無需排隊(duì)
不怕內(nèi)核異常,異常后包裝進(jìn)程可以直接恢復(fù)內(nèi)核或者通知測試失敗
缺點(diǎn):
前端實(shí)現(xiàn)太困難,需要C++開發(fā)
無法覆蓋到所有瀏覽器
常用內(nèi)核覆蓋更新勞心勞力
添加回答
舉報(bào)