1愈污、Espresso是Google的開源自動化測試框架耀态。相對于Robotium和UIAutomator,它的特點是規(guī)模更小暂雹、更簡潔首装,API更加精確,編寫測試代碼簡單杭跪,容易快速上手仙逻。因為是基于Instrumentation的系奉,所以不能跨App偎蘸。
2限书、Selendroid:也是基于Instrumentation的測試框架,可以測試Native App、Hybird App卤档、Web App,但是網(wǎng)上資料較少,社區(qū)活躍度也不大稳诚。
3、Robotium也是基于Instrumentation的測試框架工扎,目前國內(nèi)外用的比較多,資料比較多,社區(qū)也比較活躍拘荡。缺點是對測試人員來說要有一定的Java基礎(chǔ)巨税,了解Android基本組件驶兜,不能跨App驰后。
4、Athrun是淘寶出的一個移動測試框架/平臺颤专,同時支持iOS和Android。Android部分也是基于Instrumentation簇捍,在Android原有的ActivityInstrumentationTestCase2類基礎(chǔ)上進行了擴展,提供一整套面向?qū)ο蟮腁PI。
5、Appium是最近比較熱門的框架谁鳍,社區(qū)也很活躍柠新。這個框架應(yīng)該是是功能最強大的,
它的優(yōu)點:
o開源;
o支持Native App、Hybird App程梦、Web App挺份;
o支持Android优训、iOS揣非、Firefox OS搁嗓;
oServer也是跨平臺的,你可以使用Mac OS X、Windows或者Linux够委;
它的哲理是:
o用Appium自動化測試不需要重新編譯App;
o支持很多語言來編寫測試腳本茫船,Java埋泵、Javascript、PHP、Python徒坡、C#不脯、Ruby等主流語言;
o不需要為了自動化測試來重造輪子则涯,因為擴展了WebDriver浮入。(WebDriver是測試WebApps的一種簡單易迹、快速的自動化測試框架,所以有Web自動化測試經(jīng)驗的測試人員可以直接上手)窘疮;
o移動端自動化測試應(yīng)該是開源的;
它的設(shè)計理念:
oClient/Server架構(gòu)骄酗,運行的時候Server端會監(jiān)聽Client端發(fā)過來的命令趋翻,翻譯這些命令發(fā)送給移動設(shè)備或模擬器掸掏,然后移動設(shè)備或模擬器做出響應(yīng)的反應(yīng)。正是因為這種架構(gòu)仍侥,所以Client可以使用Appium client libraries多種語言的測試腳本,而且Server端完全可以部署在服務(wù)器上,甚至云服務(wù)器啰扛。
oSession嚎京,每個Client連接到Server以后都會有一個Session ID,而且Client發(fā)送命令到Server端都需要這個Session ID隐解,因為這個seesion id代表了你所打開的瀏覽器或者是移動設(shè)備的模擬器鞍帝。所以你甚至可以打開N個Session,同時測試不同的設(shè)備或模擬器煞茫。
oDesired Capabilities帕涌,其實就是一個鍵值對,設(shè)置一些測試的相關(guān)信息來告訴Server端续徽,我們需要測試iOS蚓曼、還是Android,或者換是WebApp等信息钦扭。
oAppium Server是Node.js寫的纫版,所以可以直接用NPM來進行安裝。
oAppium Clients客情,Mac OS和Win下提供GUI其弊,不需要裝Node.js,方便測試人員操作膀斋。
相關(guān)限制:
o如果你在Windows使用Appium梭伐,你沒法使用預(yù)編譯專用于OS X的.app文件,因為Appium依賴OS X專用的庫來支持iOS測試仰担,所以在Windows平臺你不能測試iOS Apps糊识。這意味著你只能通過在Mac上來運行iOS測試。
總結(jié):
o在iOS部分是封裝了UIAutomation惰匙;Android 4.2以上是用UiAutomator技掏,Android 2.3 ~ 4.1用的是Instrumentation,也就說Appium同時封裝了UiAutomator和Instrumentation项鬼。所以Appium擁有了以上幾大框架的所有優(yōu)點:跨App,支持Native App劲阎、Hybird App绘盟、Web App,還支持N種語言來編寫你的測試腳本。
6龄毡、TestWriter是上海博為峰結(jié)合多年為企業(yè)做測試服務(wù)的經(jīng)驗所研發(fā)的一款具有自主知識產(chǎn)權(quán)的自動化測試工具吠卷。
優(yōu)點:
a、完全零編碼
TestWriter引入對象庫沦零,支持對頁面元素的智能分析祭隔,自動生成操作對象庫,或通過簡單的點擊生成操作對象庫路操;
b疾渴、圖形化界面
通過圖形化界面,對測試對象屯仗、測試步驟搞坝、用例等層層封裝映射,清晰理清業(yè)務(wù)關(guān)系魁袜;
業(yè)務(wù)變動桩撮、界面調(diào)整時僅需修改相應(yīng)業(yè)務(wù)庫內(nèi)容;
c峰弹、簡單易操作
支持分布式測試店量,通過擬定計劃,自動匹配測試環(huán)境并分配執(zhí)行機器鞠呈,無需測試人員干預(yù)垫桂,輕松實現(xiàn)自動定期回歸;
d粟按、結(jié)果更直觀
實時查看執(zhí)行情況诬滩,自動記錄測試結(jié)果,并對錯誤步驟進行問題分析及錯誤時UI截圖灭将。