5個(gè)新自動(dòng)化測(cè)試框架,你值得了解

作者:說(shuō)說(shuō)軟件測(cè)試那些事兒

前言

UI測(cè)試是測(cè)試應(yīng)用中的各種交互是否達(dá)到了實(shí)現(xiàn)的效果。常用的UI測(cè)試框架有Espresso和UIAutomator。

今天給大家分享5個(gè)可能不曾聽(tīng)過(guò)的新自動(dòng)化測(cè)試框架。

1. Kaspresso


Kaspresso是一個(gè)基于Espresso和UIAutomator構(gòu)建的測(cè)試自動(dòng)化框架。并針對(duì)Espresso的一些已知缺點(diǎn)進(jìn)行優(yōu)化:

解決flakiness問(wèn)題;

解決Espresso不支持adb問(wèn)題;

優(yōu)化代碼可讀性;

以如下示例說(shuō)明代碼可讀性:

Espresso測(cè)試示例寫(xiě)法:

@Testfunlogout(){

onView(withId(R.id.logoutButton))

.check(ViewAssertions.matches(

ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)))

onView(withId(R.id.logoutButton)).perform(click())

}

Kaspresso測(cè)試示例寫(xiě)法:

@Test

fun testFirstFeature() {

mainScreen {

logoutButton {

isVisible()

click()

}

}

}

由此可見(jiàn),測(cè)試代碼精簡(jiǎn)度有很大提升。

同時(shí),相對(duì)于傳統(tǒng)的UIAutomator,測(cè)試速度上也有很大的提升。




綜上概括:

Kaspresso優(yōu)點(diǎn):

與所有其他測(cè)試自動(dòng)化框架相比,通過(guò)復(fù)雜的策略提高了測(cè)試的穩(wěn)定性;

測(cè)試運(yùn)行速度提高;

抽象化并因此具有更好的測(cè)試可維護(hù)性;

可以處理關(guān)閉系統(tǒng)彈框;

開(kāi)源,Github上有800多個(gè)Star;

Kaspresso缺點(diǎn):

DSL進(jìn)一步提高了抽象水平,學(xué)習(xí)和熟悉入手的成本將會(huì)有所增加;

DSL有時(shí)會(huì)導(dǎo)致代碼混亂;

因?yàn)槭强ò退够銎?,部分文檔和issues都是俄文,對(duì)于大部分同學(xué),英文閱讀已經(jīng)是艱難,俄語(yǔ)將會(huì)是災(zāi)難;

2. Barista



Barista也是基于Espresso構(gòu)建的測(cè)試自動(dòng)化框架。通過(guò)提供簡(jiǎn)化且可視的API解決Espresso模板冗長(zhǎng)的問(wèn)題;同時(shí),Barista增加重試策略,可以設(shè)置測(cè)試case執(zhí)行失敗后的重試次數(shù),減少Espresso的flakiness問(wèn)題。

Barista優(yōu)點(diǎn):

通過(guò)自動(dòng)重試和自動(dòng)滾動(dòng)提高了穩(wěn)定性;

附加的抽象級(jí)別(Page對(duì)象)有效提高可讀性;

完備的文檔有效降低學(xué)習(xí)成本;

開(kāi)源,Github上有1200多個(gè)Star;

Barista缺點(diǎn):

Idlingresources仍然必須手動(dòng)實(shí)現(xiàn);

3. BusyBee



和前面的Kaspresso一樣,BusyBee也是基于Espresso構(gòu)建的,提供了CountingIdlingResource的替代方法。同時(shí),BusyBee通過(guò)跟蹤Java對(duì)象,字符串或者ID來(lái)記錄當(dāng)前運(yùn)行的進(jìn)程,如果出現(xiàn)超時(shí),則輸出正在運(yùn)行的進(jìn)程,降低測(cè)試和開(kāi)發(fā)調(diào)試成本。

BusyBee優(yōu)點(diǎn):

簡(jiǎn)化實(shí)現(xiàn),可以簡(jiǎn)化Idlingresources的處理;

開(kāi)源,Github上有150多個(gè)Star;

BusyBee缺點(diǎn):

小型工具,功能全面性上難以和Kaspresso,Barista相比較;

4. Repeato



Repeato是適用于Android的無(wú)代碼自動(dòng)化測(cè)試框架,通過(guò)動(dòng)作記錄器錄制測(cè)試用例,通過(guò)回放實(shí)現(xiàn)case執(zhí)行,也可以通過(guò)添加adb等終端命令執(zhí)行,類似于國(guó)內(nèi)的solopi和airtest。

測(cè)試用例錄制示例:

測(cè)試用例回放示例:


Repeato優(yōu)點(diǎn):

非常易于使用,可供非開(kāi)發(fā)人員使用;

Repeato不需要訪問(wèn)應(yīng)用程序的源代碼,降低使用門(mén)檻;

使用快速便捷,安裝軟件僅需幾分鐘;

提供可視化報(bào)告,簡(jiǎn)化故障排除;

Repeato缺點(diǎn):

沒(méi)有開(kāi)源;

付費(fèi),擴(kuò)展版本是商業(yè)版本(每月49歐元);

5. Waldo



?Waldo是一個(gè)云測(cè)試平臺(tái),類似于國(guó)內(nèi)的幾大云測(cè)廠商,使用便捷簡(jiǎn)單。Waldo通過(guò)改動(dòng)前后版本的縱向?qū)Ρ?,直觀輸出問(wèn)題UI的對(duì)比,提高問(wèn)題發(fā)現(xiàn)和解決的效率。



Waldo優(yōu)點(diǎn):

界面非常清晰直觀,便于用戶使用;

Waldo缺點(diǎn):

沒(méi)有開(kāi)源;

價(jià)格昂貴,每個(gè)月1999美元的費(fèi)用將大部分國(guó)內(nèi)用戶拒之門(mén)外;

不支持?jǐn)?shù)據(jù)驅(qū)動(dòng)測(cè)試和復(fù)雜的測(cè)試用例;

目前不支持Android,官網(wǎng)表示即將推出;

結(jié)語(yǔ)

業(yè)界中各個(gè)自動(dòng)化測(cè)試框架都有明顯的優(yōu)點(diǎn)和缺點(diǎn),大家可以依據(jù)自己項(xiàng)目的實(shí)際情況選擇合適的方案,同時(shí)也可以依據(jù)開(kāi)源項(xiàng)目完成自己的定制化修改。


愿你我相遇,皆有所獲! 歡迎關(guān)注微信公眾號(hào):程序員一凡?

1.免費(fèi)領(lǐng)取一份216頁(yè)軟件測(cè)試工程師面試寶典文檔資料。

?2.軟件測(cè)試學(xué)習(xí)路線以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容