使用Calabash的移動測試自動化結(jié)構(gòu),像'When I enter
當(dāng)然,測試用例的運(yùn)行不會和上述一模一樣。在第二步中,測試自動化專家進(jìn)行實(shí)際執(zhí)行:
他們編寫由動詞觸發(fā)的技術(shù)代碼,從技術(shù)層面上通過發(fā)送信息或點(diǎn)擊GUI要素來控制app,收集app的反饋并對反饋?zhàn)龀鲈u價。下面是一則例子:
在解析“測試故事”的代碼時,Calabash試著使用正則表達(dá)式匹配找出匹配的代碼并將之執(zhí)行。這段代碼是由‘When I enter
為了給大量測試用例和移動設(shè)備提供有效的測試自動化,有必要創(chuàng)建一個簡明通用的測試自動化庫(見圖3.使用Calabash3的移動測試自動化結(jié)構(gòu))。該庫包含所有可重復(fù)使用的步驟定義,要注意,那些步驟定義對于不同設(shè)備是可重復(fù)使用的,這樣它們可以在測試故事中透明使用了。這避免了必須為不同設(shè)備多次編寫并維護(hù)同一測試用例的花費(fèi)。此外,應(yīng)該充分將可重復(fù)使用的步驟庫模塊化以區(qū)別分別針對特定產(chǎn)品、特定產(chǎn)品線和分支的動詞。以這種方式將自動化庫模塊化可以減少不同項目中部分相同的庫并再次將測試自動化的開發(fā)花費(fèi)小化。Calabash滿足了我們所有的節(jié)省費(fèi)用的需求(它是一個開源工具,一開始是免費(fèi)的)和所支持的平臺(IOS或Android)。它也能輕易擴(kuò)大顧客功能。這對我們而言很好,因?yàn)镃alabash是佳解決方案——但初它只支持本地和混合型app,并不完美。為了使其能支持web app,我們創(chuàng)建了一個可以從Calabash內(nèi)部控制的web瀏覽器。這意味著我們能夠完全滿足顧客需求。
經(jīng)驗(yàn)
對于成功進(jìn)行的四個階段,我們提出了全面的項目計劃。重要的階段是所選解決方案的實(shí)驗(yàn)階段,一個基于Calabash的測試自動化框架。 我們是發(fā)現(xiàn)了一些障礙,但是通過使用簡單的Calabash拓展可以相當(dāng)輕松地將之解決。可重復(fù)使用性成了一個對我們的顧客來說和節(jié)省費(fèi)用一樣很重要的問題。有了Calabash,有可能為ios和Andriod app編寫自動化測試用例,為兩個平臺都重復(fù)使用80%的測試代碼。Web對象的代碼也可以重復(fù)用于web app和混合型app,這樣再次大大減少了自動化工作。
版權(quán)聲明:本文出自 SPASVO澤眾軟件測試網(wǎng):http://hgh666.cn/news/html/201569155907.html
原創(chuàng)作品,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。