![【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android利用Espresso進(jìn)行UI自動(dòng)化測試的方法詳解_第1頁](http://file4.renrendoc.com/view/3c8e41bb0a706f5be0d8a7e025d07b23/3c8e41bb0a706f5be0d8a7e025d07b231.gif)
![【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android利用Espresso進(jìn)行UI自動(dòng)化測試的方法詳解_第2頁](http://file4.renrendoc.com/view/3c8e41bb0a706f5be0d8a7e025d07b23/3c8e41bb0a706f5be0d8a7e025d07b232.gif)
![【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android利用Espresso進(jìn)行UI自動(dòng)化測試的方法詳解_第3頁](http://file4.renrendoc.com/view/3c8e41bb0a706f5be0d8a7e025d07b23/3c8e41bb0a706f5be0d8a7e025d07b233.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android利用Espresso進(jìn)行UI自動(dòng)化測試的方法詳解
為什么需要UI自動(dòng)化測試?我有一個(gè)觀點(diǎn),對(duì)于重復(fù)的工作,那么程序都是可以代替的,我想這是作為一個(gè)程序員的一個(gè)基本素養(yǎng)(能偷懶的絕不干活)。UI自動(dòng)化測試就是為了應(yīng)付一些重復(fù)的工作,比如說測試某個(gè)功能,那么從應(yīng)用點(diǎn)擊,再經(jīng)過一系列的點(diǎn)擊頁面才能到達(dá)這個(gè)頁面,然后進(jìn)行測試,那么我們是不是可以寫段代碼讓app自動(dòng)跑起來,自動(dòng)來到那個(gè)界面進(jìn)行測試呢?答案是肯定的,這就是本文所要說的自動(dòng)化測試。引言谷歌2013年的時(shí)候開源了espress,谷歌的思路是,等到它足夠成熟和穩(wěn)定以后,將其遷移到AndroidSDK中,以此可見對(duì)他的重視。Google使用Espresso測試了他們自己的超過30個(gè)應(yīng)用程序,包括G+、Maps和Drive。
Espresso測試是非常容易實(shí)現(xiàn)的,由三步構(gòu)成:先看下官方給的示例,就能理解以上的三個(gè)步驟:Espresso框架是google官方大力推薦的一套測試框架,所以無論如何都要學(xué)習(xí)一下的.另外,自AndroidStudio2.2版本開始,google就為Espresso框架內(nèi)置了一個(gè)圖形化界面,用來自動(dòng)生成單元測試代碼。
接下來一起寫一demo測試,深入了解Espresso。
準(zhǔn)備
支持Espresso:
在dependencies中添加,一般默認(rèn)會(huì)有testCompile'junit:junit:4.12',所以我們只需添加另一句即可。
在defaultConfig中添加如上語句,支持測試運(yùn)行。
創(chuàng)建Test類
特別注意,該類應(yīng)在androidTest文件夾下
舉個(gè)簡單例子:
@Rule
這句話就定義了一個(gè)測試規(guī)則,可以看到構(gòu)造方法的參數(shù)里指定了一個(gè)MainActivity.class,具體的體現(xiàn)就是當(dāng)你運(yùn)行這段測試代碼時(shí),app將會(huì)直接打開MainActivity界面然后進(jìn)行你所定義的測試用例。所以當(dāng)你想直接測試某個(gè)界面時(shí),你可以把那個(gè)界面填到這個(gè)參數(shù)里,這樣就直接打開你指定的界面進(jìn)行測試了。
@Test
定義一個(gè)測試方法,當(dāng)你的測試類運(yùn)行時(shí),所執(zhí)行的代碼就是Test注解下的方法(Espresso還提供了其他的一些注解:比如@After,@Before等,具體的用法可以去我上面寫的android官網(wǎng)上查看),當(dāng)然上面那段代碼對(duì)應(yīng)的就是testLogin測試方法,testLogin方法里所定義的就是要測試的內(nèi)容。
ViewMachers查找View
使用onView方法找到view:其中參數(shù)可以是withId(通過資源id查找),withText(通過顯示內(nèi)容查找)有多個(gè)約束條件時(shí),可以使用allOf
如allOf(withText("Hello"),withId(R.id.hello))
注意:ViewActions執(zhí)行事件
對(duì)View的操作:perform()方法
方式是onView(...).perform()。也可以執(zhí)行多個(gè)操作在一個(gè)perform中如:perform(click(),clearText())。
所有的操作都有一個(gè)前提————就是要執(zhí)行的view必須在當(dāng)前界面上顯示出來(有且可見)。
ViewAssertions檢驗(yàn)結(jié)果
使用check()方法來檢查View是否符合我們的期望:onView(...).check()檢查view中是否含有文本“hello”
check(matches(withText("hello")))
看下我寫的示例
我們基本所有的app都有登錄功能,都需要呼入用戶名和密碼,那么在點(diǎn)擊登錄之前需要對(duì)用戶名和密碼進(jìn)行非空、格式等驗(yàn)證。
以下示例我們點(diǎn)擊登錄按鈕時(shí),首先對(duì)輸入的用戶名和密碼進(jìn)行驗(yàn)證,驗(yàn)證不通過在TextView上顯示對(duì)應(yīng)原因,驗(yàn)證沒有問題顯示“登錄成功”。
Activity界面及邏輯
其他代碼忽略。
這里
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告宣傳合同廣告合同協(xié)議書
- 設(shè)備維保的預(yù)測性維護(hù)與故障預(yù)測技術(shù)
- 數(shù)字經(jīng)濟(jì)助力“雙碳”目標(biāo)的內(nèi)在機(jī)理及路徑
- 機(jī)電事故案例匯編
- 基于水下感應(yīng)耦合原理的數(shù)據(jù)傳輸系統(tǒng)優(yōu)化研究
- 基于人體姿態(tài)的人物交互檢測算法研究
- 高光譜微波輻射探測關(guān)鍵技術(shù)研究
- 高速公路隧道維修工程招標(biāo)合同三篇
- 消息驅(qū)動(dòng)跳頻通信抗干擾技術(shù)研究
- 2025年西師新版選修歷史下冊階段測試試卷
- 標(biāo)準(zhǔn)作文稿紙模板(A4紙)
- 中小學(xué)校園突發(fā)事件應(yīng)急與急救處理課件
- 2024年山東省普通高中學(xué)業(yè)水平等級(jí)考試生物真題試卷(含答案)
- 2024年青海省西寧市選調(diào)生考試(公共基礎(chǔ)知識(shí))綜合能力題庫匯編
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 廣州綠色金融發(fā)展現(xiàn)狀及對(duì)策的研究
- 《近現(xiàn)代史》義和團(tuán)運(yùn)動(dòng)
- 時(shí)間的重要性英文版
- 2024老舊小區(qū)停車設(shè)施改造案例
- 灰壩施工組織設(shè)計(jì)
- 韓國《寄生蟲》電影鑒賞解讀
評(píng)論
0/150
提交評(píng)論