摘要:右下角部分顯示當(dāng)前選中控件的各個屬性。然后,向這個中輸入賬號信息就完成了一個表單的輸入。我們可以根據(jù)屬性區(qū)域顯示的來進行匹配賬號小總結(jié)所提供的界面簡單,使用方便,對于我們的自動化測試來說是一個很好的輔助工具。
我們用如下一行代碼來回顧一下之前介紹過的內(nèi)容:
import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.action.ViewActions.click; import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withText; import static org.hamcrest.Matchers.allOf; onView(allOf(withId(id), isDisplayed())).perform(click()).check(matches(withText(text)));
還記得以上代碼的意義么?這行代碼找到了屏幕上正在顯示的指定id的控件,對其進行了一次點擊操作,然后檢查了一下其文本為text。
關(guān)于onView()方法,我們需要首先知道目標(biāo)控件的一些屬性值,然后再圍繞我們的目標(biāo)屬性構(gòu)建一個匹配規(guī)則。但有些時候,控件的屬性并不是那么明顯,或者并沒有那么容易獲取到,這時,我們可以使用Android提供的uiautomatorviewer工具幫助我們進行分析。
uiautomatorvieweruiautomatorviewer工具位于Android SDK目錄下,本文會介紹在Mac下uiautomatorviewer的用法,其他系統(tǒng)下的用法相當(dāng)雷同,就不一一介紹了。
在終端中切換到Android SDK的目錄下,在tools目錄下可以看到uiautomatorviewer工具:
運行./uiautomatorviewer,便可以看到uiautomatorviewer的主界面了:
很樸素對不對~
屏幕截圖將手機連接到設(shè)備上,在手機上啟動一個需要測試的目標(biāo)頁面,然后點擊uiautomatorviewer左上角的第二個按鈕(Device Screenshot(uiautomator dump)),便可以把當(dāng)前頁面截下來了:
如上所示,我截取了一張答疑君APP登錄頁面的截圖。可以看到,uiautomatorviewer的界面分成了3個部分:
左邊部分:顯示當(dāng)前屏幕的截圖。在這個部分,我們可以對這個頁面上的各個控件做一些選中的操作。
右上角部分:顯示當(dāng)前頁面的View層級。
右下角部分:顯示當(dāng)前選中控件的各個屬性。
比如說,我現(xiàn)在想要做一個登錄的測試用例,我需要在“賬號”和“密碼” 的輸入框中輸入一些內(nèi)容,然后點擊“登錄”按鈕執(zhí)行登錄。首先,我選中填寫賬號的EditText:
大家可以看到,右上角的View層級自動定位到了我選中的EditText上,同時右下角顯示了這個EditText的一些屬性信息。其中,resource-id便是這個EditText的id,于是我通過:
onView(withId(R.id.login_account))
便找到了這個EditText。然后,向這個EditText中輸入賬號信息:
onView(withId(R.id.login_account)).perform(click(), replaceText("..."), closeSoftKeyboard())
就完成了一個表單的輸入。
類似地,我們還可以通過text的屬性來尋找我們的目標(biāo)控件。我們可以根據(jù)屬性區(qū)域顯示的text來進行匹配:
onView(withText("賬號"))小總結(jié)
Android所提供的uiautomatorviewer界面簡單,使用方便,對于我們的自動化測試來說是一個很好的輔助工具。對于我們之后將要介紹的UI Automator,以及第三方測試框架Appium,都離不開這個小工具的支持。于是,請大家趕快操練起來吧~
附錄Android自動化測試-從入門到入門(1) Hello Testing!
Android自動化測試-從入門到入門(2) Testing APIs
Android自動化測試-從入門到入門(3) Espresso入門
Android自動化測試-從入門到入門(4) uiautomatorviewer
Android自動化測試-從入門到入門(5) AdapterView的測試
Android自動化測試-從入門到入門(6) 會玩的Espresso
Android自動化測試-從入門到入門(7) UI Automator
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/65404.html
摘要:檢查操作的結(jié)果是否符合預(yù)期。大家在實際編寫自動化測試腳本時可以靈活選用。 到目前為止,我們已經(jīng)完成了對Espresso的介紹。從之前的文章我們可以看到,Espresso對Android APP的自動化測試提供了一系列非常強大的工具和方法。 現(xiàn)在試想這樣一個場景:我們在APP中有一個更改頭像的功能,此時我們需要調(diào)用系統(tǒng)相機進行拍照,然后再回到APP提交拍好的照片。在這種場景下,我們需要從...
閱讀 3925·2021-10-12 10:12
閱讀 2886·2021-09-10 11:18
閱讀 3673·2019-08-30 15:54
閱讀 2808·2019-08-30 15:53
閱讀 638·2019-08-30 13:54
閱讀 965·2019-08-30 13:21
閱讀 2260·2019-08-30 12:57
閱讀 1687·2019-08-30 11:10