亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Android自動(dòng)化測(cè)試-從入門到入門(6)會(huì)玩的Espresso

Aklman / 623人閱讀

摘要:附錄自動(dòng)化測(cè)試從入門到入門自動(dòng)化測(cè)試從入門到入門自動(dòng)化測(cè)試從入門到入門入門自動(dòng)化測(cè)試從入門到入門自動(dòng)化測(cè)試從入門到入門的測(cè)試自動(dòng)化測(cè)試從入門到入門會(huì)玩的自動(dòng)化測(cè)試從入門到入門

之前的文章中,我們介紹了Android自動(dòng)化測(cè)試的一些背景,以及Espresso的基本應(yīng)用。除了之前介紹過的Espresso的相關(guān)用法,Espresso還提供了一些其他的用法,可以讓我們?cè)诓煌瑘?chǎng)景下靈活使用。這篇文章我們依然關(guān)注于Espresso提供的功能。

Sibling View

有些時(shí)候,一個(gè)布局中可能包含很多重復(fù)的控件。這些控件可能擁有相同的ID以及相同的text,不容易通過簡(jiǎn)單的匹配規(guī)則進(jìn)行匹配。很典型的一個(gè)例子是ListView,比方在我們的通訊錄列表中每一項(xiàng)都有一個(gè)打電話的按鈕,這些按鈕有同樣的ID,并且顯示同樣的文字,這樣一來我們很難通過onView()進(jìn)行匹配。

除了通過上一篇文章AdapterView的測(cè)試介紹的onData()方法以外,Espresso還提供了一個(gè)hasSibling()方法,用來通過目標(biāo)控件的Sibling進(jìn)行匹配。

官網(wǎng)提供了這么一個(gè)例子:我們有一個(gè)如下圖所示的列表,

這個(gè)列表的每一項(xiàng)都有一個(gè)顯示“7”TextView,這些TextViewtext屬性是相同的,但是在View層級(jí)中,每一個(gè)TextView左邊都對(duì)應(yīng)有一個(gè)彼此不同的TextView。比方說我們要找的第一個(gè)“7”左邊顯示了“item: 0”,此時(shí)可以通過如下的代碼匹配目標(biāo)控件:

onView(allOf(withText("7"), hasSibling(withText("item: 0"))))
  .perform(click());
Child View

有時(shí)候我們需要對(duì)一個(gè)View中的某個(gè)子控件進(jìn)行操作(比如點(diǎn)擊一個(gè)ListView條目中的某個(gè)指定Button),這時(shí)我們可以通過onChildView()方法指定相應(yīng)的子控件。

我們來看如下一個(gè)例子。

在這個(gè)列表中,對(duì)于每個(gè)列表項(xiàng),左邊顯示了一個(gè)字符串,右邊顯示了該字符串的長(zhǎng)度。我們現(xiàn)在想要點(diǎn)擊“item: 50”這一行右邊的TextView。我們已經(jīng)通過onData()匹配出了該行View

onData(withItemContent("item: 60"))

其中withItemContent()提供了一個(gè)自定義Matcher。關(guān)于自定義Matcher的介紹可以參考之前的AdapterView的測(cè)試中的相關(guān)介紹。

此時(shí),我們可以再通過onChildView()方法找到相應(yīng)的子控件:

onData(withItemContent("item: 60"))
  .onChildView(withId(R.id.item_size))
  .perform(click());
Web測(cè)試

Espresso還支持對(duì)WebView的測(cè)試,如果需要對(duì)Web進(jìn)行測(cè)試,需要在buid.gradle中添加如下依賴:

androidTestCompile "com.android.support.test.espresso:espresso-web:2.2.1"

請(qǐng)注意,目前Espresso-Web只支持Espresso 2.2+以及testing support library 0.3+版本。

Espresso-Web對(duì)Web的測(cè)試思路與對(duì)原生APP的測(cè)試思路大體相同,也是首先匹配出我們需要的目標(biāo)元素,然后執(zhí)行一系列操作,再通過Assertions進(jìn)行結(jié)果的檢查。因此在這里簡(jiǎn)單說明一下Espresso-Web提供的一系列方法,大家可以自行查看官方文檔或者源碼了解細(xì)節(jié)。

withElement(ElementReference)方法提供了尋找目標(biāo)元素的功能,實(shí)例代碼如下:

onWebView().withElement(findElement(Locator.ID, "teacher"))

perform(Atom)方法會(huì)對(duì)目標(biāo)元素進(jìn)行一系列操作:

onWebView().withElement(findElement(Locator.ID, "teacher"))
    .perform(webClick());

check(WebAssertion)方法會(huì)對(duì)目標(biāo)元素進(jìn)行檢查:

onWebView()
      .withElement(findElement(Locator.ID, "teacher"))
      .withContextualElement(findElement(Locator.ID, "person_name"))
      .check(webMatches(getText(), containsString("Socrates")));
小結(jié)

本篇文章作為之前文章對(duì)Espresso介紹的補(bǔ)充,比較簡(jiǎn)單,總體上也是根據(jù)官方提供的文檔選取了我認(rèn)為比較好玩的幾個(gè)小話題,除了這些以外官方文檔中還提供了其他一些細(xì)節(jié)的說明,在此附上Espresso官方文檔的地址,大家可以自行查閱:

Espresso官方文檔

到此為止,我們的系列文章已經(jīng)完成了對(duì)Espresso的介紹。實(shí)際上大家看完官方文檔之后,也會(huì)發(fā)現(xiàn)其實(shí)內(nèi)容很少,基本上也就是我介紹過的這些東西,具體怎么使用還是需要結(jié)合我們的實(shí)際業(yè)務(wù)場(chǎng)景靈活進(jìn)行選擇。

接下來的文章中,我們會(huì)相繼介紹Android自動(dòng)化測(cè)試的一些其他相關(guān)工具和話題。

附錄

Android自動(dòng)化測(cè)試-從入門到入門(1) Hello Testing!
Android自動(dòng)化測(cè)試-從入門到入門(2) Testing APIs
Android自動(dòng)化測(cè)試-從入門到入門(3) Espresso入門
Android自動(dòng)化測(cè)試-從入門到入門(4) uiautomatorviewer
Android自動(dòng)化測(cè)試-從入門到入門(5) AdapterView的測(cè)試
Android自動(dòng)化測(cè)試-從入門到入門(6) 會(huì)玩的Espresso
Android自動(dòng)化測(cè)試-從入門到入門(7) UI Automator

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/65529.html

相關(guān)文章

  • Android動(dòng)化測(cè)試-入門入門(4)uiautomatorviewer

    摘要:右下角部分顯示當(dāng)前選中控件的各個(gè)屬性。然后,向這個(gè)中輸入賬號(hào)信息就完成了一個(gè)表單的輸入。我們可以根據(jù)屬性區(qū)域顯示的來進(jìn)行匹配賬號(hào)小總結(jié)所提供的界面簡(jiǎn)單,使用方便,對(duì)于我們的自動(dòng)化測(cè)試來說是一個(gè)很好的輔助工具。 我們用如下一行代碼來回顧一下之前介紹過的內(nèi)容: import static android.support.test.espresso.Espresso.onView; impo...

    winterdawn 評(píng)論0 收藏0
  • Android動(dòng)化測(cè)試-入門入門(7)UI Automator

    摘要:檢查操作的結(jié)果是否符合預(yù)期。大家在實(shí)際編寫自動(dòng)化測(cè)試腳本時(shí)可以靈活選用。 到目前為止,我們已經(jīng)完成了對(duì)Espresso的介紹。從之前的文章我們可以看到,Espresso對(duì)Android APP的自動(dòng)化測(cè)試提供了一系列非常強(qiáng)大的工具和方法。 現(xiàn)在試想這樣一個(gè)場(chǎng)景:我們?cè)贏PP中有一個(gè)更改頭像的功能,此時(shí)我們需要調(diào)用系統(tǒng)相機(jī)進(jìn)行拍照,然后再回到APP提交拍好的照片。在這種場(chǎng)景下,我們需要從...

    Dean 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<