測(cè)試開發(fā):分享幾點(diǎn)提高GUI自動(dòng)化測(cè)試穩(wěn)定性解決方案

針對(duì)"GUI自動(dòng)化測(cè)試穩(wěn)定性問題"這個(gè)問題同木,最典型的情景就是:同樣的測(cè)試用例甘萧,在同樣的測(cè)試執(zhí)行環(huán)境下,測(cè)試的結(jié)果有時(shí)是Success,有時(shí)是Fail躯护,這嚴(yán)重降低了GUI測(cè)試的可信度,同時(shí)也是GUI層面的自動(dòng)化測(cè)試位于金字塔最頂端的原因之一母市。

在實(shí)際的項(xiàng)目過程中够坐,GUI測(cè)試幾乎不可能做到100%穩(wěn)定,根據(jù)我的經(jīng)驗(yàn)贞奋,如果能夠做到 90% 以上的穩(wěn)定性赌厅,就已經(jīng)非常不錯(cuò)了,這需要整個(gè)產(chǎn)品技術(shù)團(tuán)隊(duì)的共同努力才有希望達(dá)成轿塔。

要提高 GUI 測(cè)試穩(wěn)定性特愿,首先我們需要知道到底是什么原因引起的不穩(wěn)定仲墨。我們必須找出盡可能多的不穩(wěn)定因素,然后找到每一類不穩(wěn)定因素對(duì)應(yīng)的解決方案揍障。

我列舉了幾種常見的造成GUI測(cè)試不穩(wěn)定的因素目养,如下:

1、非預(yù)期的彈框

在用例執(zhí)行過程中毒嫡,操作系統(tǒng)或被測(cè)系統(tǒng)可能會(huì)突然彈出預(yù)期范圍之外的對(duì)話框癌蚁,GUI自動(dòng)化測(cè)試有可能就會(huì)因此而失敗。

解決方案:常用的解決方式兜畸,引入異常場(chǎng)景恢復(fù)模式或者采取無界面GUI自動(dòng)化測(cè)試來處理努释。

2、頁面控件屬性的細(xì)微變化

如果頁面控件的屬性發(fā)生了變化咬摇,哪怕只是細(xì)微的變化伐蒂,也必定會(huì)導(dǎo)致測(cè)試腳本的元素定位失敗。這可以說是GUI自動(dòng)化測(cè)試最大的痛點(diǎn)肛鹏。

目前逸邦,一些商用 GUI 自動(dòng)化測(cè)試工具,比如 UFT(原QTP)在扰,已經(jīng)集成了模糊匹配的功能缕减。通常情況下,只需要啟用“模糊匹配”選項(xiàng)即可芒珠。如果某個(gè)對(duì)象的定位是通過模糊匹配完成的桥狡,那么,測(cè)試報(bào)告中將會(huì)顯示該信息妓局,明確告知此次對(duì)象識(shí)別是基于模糊匹配完成的总放,因?yàn)?GUI 自動(dòng)化工具并不能保證每次模糊匹配都一定正確。

解決方案:元素定位時(shí)采用模糊匹配技術(shù)好爬。

3局雄、隨機(jī)的頁面延遲造成控件識(shí)別失敗

隨機(jī)的頁面延遲,也是 GUI 測(cè)試防不勝防的存炮。既然是隨機(jī)的炬搭,也就是說我們沒有辦法去控制它,解決辦法是加入重試(retry)機(jī)制穆桂。重試機(jī)制是指宫盔,當(dāng)某一步 GUI操作失敗時(shí),框架會(huì)自動(dòng)發(fā)起重試享完。對(duì)于Robot Framework+SeleniumLirary灼芭,可以使用有wait until系列的關(guān)鍵字(智能等待),盡量少的使用sleep般又。

Wait For Condition
Wait Until Element Contains
Wait Until Element Does Not Contain
Wait Until Element Is Enabled
Wait Until Element Is Not Visible
Wait Until Element Is Visible
Wait Until Page Contains
Wait Until Page Contains Element
Wait Until Page Does Not Contain
Wait Until Page Does Not Contain Element

解決方案:引入重試機(jī)制retry

4彼绷、測(cè)試數(shù)據(jù)問題

測(cè)試數(shù)據(jù)問題巍佑,也是造成 GUI 自動(dòng)化測(cè)試不穩(wěn)定的一個(gè)重要原因。比如寄悯,測(cè)試用例所依賴的數(shù)據(jù)被其他用例修改了萤衰。要解決此類的問題,就要回歸到第一篇中所談到的內(nèi)容猜旬,必須要保證用例之間的獨(dú)立性和盡量減少對(duì)執(zhí)行環(huán)境的依賴脆栋。Robot框架本身不會(huì)規(guī)定Case執(zhí)行的順序,所以從某種程度上來說同一層級(jí)的Cases是隨機(jī)執(zhí)行的洒擦。很典型的情況就是椿争,測(cè)試用例在本地調(diào)試時(shí)怎么跑怎么過,放到Server上所有Cases一起跑的時(shí)候就會(huì)Fail,還可能是偶發(fā)的秘遏,這種情況下就很可能是由于其他Case的痕跡影響到了它丘薛,查找問題的根源往往比較耗時(shí)。

解決方案:保證用例之間的獨(dú)立性和盡量減少對(duì)執(zhí)行環(huán)境的依賴

image

5邦危、小結(jié)

界面自動(dòng)化測(cè)試,它最接近用戶真實(shí)場(chǎng)景舍扰,也容易發(fā)現(xiàn)問題倦蚪,但它的實(shí)現(xiàn)成本最高且太容易受外部依賴,容易影響腳本成功率边苹×昵遥總體來說,適當(dāng)?shù)慕缑孀詣?dòng)化測(cè)試是有必要的个束,但是也大可不必在UI層投入太多精力慕购。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市茬底,隨后出現(xiàn)的幾起案子沪悲,更是在濱河造成了極大的恐慌,老刑警劉巖阱表,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殿如,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡最爬,警方通過查閱死者的電腦和手機(jī)涉馁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爱致,“玉大人烤送,你說我怎么就攤上這事】访酰” “怎么了帮坚?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵妻往,是天一觀的道長。 經(jīng)常有香客問我叶沛,道長蒲讯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任灰署,我火速辦了婚禮判帮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘溉箕。我一直安慰自己晦墙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布肴茄。 她就那樣靜靜地躺著晌畅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寡痰。 梳的紋絲不亂的頭發(fā)上抗楔,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音拦坠,去河邊找鬼连躏。 笑死,一個(gè)胖子當(dāng)著我的面吹牛贞滨,可吹牛的內(nèi)容都是我干的入热。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼晓铆,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼勺良!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起骄噪,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤尚困,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后腰池,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尾组,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年示弓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讳侨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奏属,死狀恐怖跨跨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤勇婴,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布忱嘹,位于F島的核電站,受9級(jí)特大地震影響耕渴,放射性物質(zhì)發(fā)生泄漏拘悦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一橱脸、第九天 我趴在偏房一處隱蔽的房頂上張望础米。 院中可真熱鬧,春花似錦添诉、人聲如沸屁桑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蘑斧。三九已至,卻和暖如春须眷,著一層夾襖步出監(jiān)牢的瞬間竖瘾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國打工花颗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留准浴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓捎稚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親求橄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子今野,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容