資源描述:
《【韓露】Android_Automation.pdf》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、AndroidAPP自動化測試背景APP的功能類似于聯(lián)通移動營業(yè)廳?自助服務(wù)?查詢流量?查詢帳單?繳費(fèi)自動化測試自動化測試單元測試–為什么需要單元測試單元測試–方法工具?TDD?Robolectric?JUnit?在JVM上運(yùn)行?可以模擬幾乎所有的AndroidAPI單元測試-例子單元測試–例子@Testpublicvoidshould_pop_toast_if_email_mismatch(){//Initialactivity,andinputemailaddressactivity.setInten
2、t(buildIntent());activity.onCreate(null);((EditText)activity.findViewById(R.id.emailEditText)).setText(TEST_EMAIL);//clickbuttontoupdateemailaddressRobolectric.clickOn(activity.findViewById(R.id.confirmButton));//AssertionStringerrorToast=ShadowToast.getT
3、extOfLatestToast();assertThat(errorToast,is("Theemailaddressesyouentereddonotmatch."));}統(tǒng)計數(shù)據(jù)自動化測試功能測試?側(cè)重點(diǎn)是業(yè)務(wù)邏輯方面的測試測試用例-功能測試方法:BDD工具:Calabash原因:?BDD用自然語言描述測試用例?基于Ruby?支持CI?非常靈活與CI集成CI工具:JenkinsCalabash運(yùn)行命令:Calabash-androidrun靈活給Test分類?SmokeTest?Env1?
4、Env2?FeatureA?FeatureB???靈活Login步驟1.Ilaunchtheapp2.Iwaittosee"MYACCOUNTLOGIN”3.Ienter"#{$username}”4.Ienter“#{$passwork}”5.Ilogin自定義步驟Given/^IlaunchandloginApp$/dostep%Q
5、Ilaunchtheapp
6、step%Q
7、Iwaittosee"MYACCOUNTLOGIN"
8、step%Q
9、Ienter"#{$username}”
10、step%Q
11、Ie
12、nter“#{$passwork}”
13、step%Q
14、Ilogin
15、EndCalabash例子FeatureStep運(yùn)行Calabash測試運(yùn)行結(jié)果運(yùn)行結(jié)果運(yùn)行結(jié)果實際工作方式工作方式:?測試人員負(fù)責(zé)寫feature文檔?開發(fā)和測試人員一起實現(xiàn)自定義的step?測試人員維護(hù)測試用例運(yùn)行方式:?與CI集成?定期自動執(zhí)行?根據(jù)需要針對某個功能運(yùn)行自動化測試MockServer什么是MockServer?部在本地環(huán)境上的“假冒”的server測試環(huán)境/MockServer系統(tǒng)架構(gòu)MockServer為什么需要Mo
16、ckServer?不可控的第三方系統(tǒng)?測試環(huán)境的數(shù)據(jù)不可控?在中國無法連接客戶的3G環(huán)境MockServerMockServer的作用?模擬ServiceCall/Response?模擬3G/4G網(wǎng)絡(luò)MockServer實現(xiàn)方式?RubyonRails?JSON格式的數(shù)據(jù)存在Views里面自動化測試集成測試?側(cè)重點(diǎn)是與第三方系統(tǒng)的集成測試測試用例兩種實踐?QTP?CalabashQTP通過MEUX來測試移動設(shè)備MEUX優(yōu)點(diǎn)?成熟商業(yè)軟件?支持多設(shè)備?錄制回放?KeyWord模式缺點(diǎn)?編寫維護(hù)成本高?錄制出
17、來的代碼要進(jìn)行大量的手工修改?錄不上的頁面元素還是要手動添加?需要維護(hù)對象庫?VBS?MEUX慢?需要build特殊的測試包?與CI集成非常困難?貴QTPvsCalabash鏈接實現(xiàn)AndroidCI?http://www.infoq.com/cn/articles/realize-android-ciCucumber?http://cukes.infoCalabash?http://calaba.shCalabash-android?https://github.com/calabash/calabas
18、h-android