Android Test

android 測試框架 Espresso的使用

先配置一下

點(diǎn)擊


a.png

根據(jù)下圖選好

b.png

再去 model 的 build.gradle 中添加依賴
1:添加在 defaultConfig 下面 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" (默認(rèn)是添加了的)

2:
androidTestCompile 'com.android.support:support-annotations:24.2.1' (這個(gè)后面的版本號跟v7包保持一致)
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support.test:rules:0.5'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2'

接下來是代碼部分
1,要測試哪個(gè)activity 就直接在 activity中右鍵--》go to --》test --》create new test--》。。。。跟著提示來就行

2,


Paste_Image.png

舉個(gè)例子:我取名WelcomeActivity,那么通過 1 的步驟我成功創(chuàng)建了WelcomActivityTest 這個(gè)測試類,但是這個(gè)測試類是空的,所以接下里
第一步:@RunWith(AndroidJUnit4.class) ,這個(gè)是更改 測試編譯器,現(xiàn)在我們是測試android ,假如測試java業(yè)務(wù)代碼可以改成Junit4.class,編譯器集中,目前我就只了解這兩種

第二步:確認(rèn)要測試的activity,其實(shí) 1 中的步驟只是快速創(chuàng)建測試類而已,跟要測哪個(gè)activity是沒關(guān)系的,所以 1 的步驟可以用直接在androidTest目錄下創(chuàng)建測試類來取代,回歸正題,
@Rule
public ActivityTestRule<WelcomActivity> mActivityTestRule = new ActivityTestRule<WelcomActivity>(WelcomActivity.class);
這里的@Rule 就是確認(rèn)測試的activity,下面的代碼照些就行

第三步: 找到 view --》給view添加值--》結(jié)果比對。大概思路就是這樣,
@Test
public void inputText(){ Espresso.onView(ViewMatchers.withId(R.id.edittext)).perform(ViewActions.click()).perform(ViewActions.replaceText("abc")); Espresso.onView(ViewMatchers.withId(R.id.button)).perform(ViewActions.click()); Espresso.onView(ViewMatchers.withId(R.id.result_textview)).check(ViewAssertions.matches(ViewMatchers.withText("abc")));
}
這里代碼的意思就是:獲取到EditText,點(diǎn)一下,輸入abc,接著獲取button,點(diǎn)擊一下button,再獲取Textview ,看textview的內(nèi)容是不是abc。

注意點(diǎn):測試方法要有@Test 修飾,onView()就是找你想找的view,可以通過id啊,text啊,等標(biāo)識來查找,perform()是動(dòng)作的意思,比如點(diǎn)擊view,給edittext 輸入內(nèi)容。check()就是結(jié)果對比,判斷自己給定的內(nèi)容與實(shí)際內(nèi)容是否符合。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,491評論 2 45
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,099評論 25 708
  • 首先看看這次動(dòng)畫的效果圖 好了,現(xiàn)在開始本次教程 分析:這個(gè)動(dòng)畫其實(shí)可以分解為3部分 1、圖片隨著手指的滑動(dòng)進(jìn)行移...
    火星的蟈蟈閱讀 394評論 0 0
  • 一、三大函數(shù) 1、拷貝構(gòu)造 帶指針成員的class必須有。因?yàn)樾值苤g互相是friend,所以可以直接取另一個(gè)ob...
    誦之思之閱讀 205評論 0 0
  • 1 我從小就恐高。 記憶中8、9歲的時(shí)候居然都不敢上二層樓的樓梯。那時(shí)候心里就認(rèn)定高空娛樂項(xiàng)目如過山車、海盜船、甚...
    王玬錦閱讀 348評論 1 1