2015-04-02 25 views
-1

我試圖在啓動測試的項目外存在的應用程序上使用UIAutomator運行UI測試。因爲我正在使用我的測試項目之外的應用程序,所以我無法使用Espresso(據我所知)。我想打開這個應用程序中的左側抽屜。 Espresso有一個非常簡單的方法做到這一點使用UIAutomator打開抽屜而不修改應用程序代碼

openDrawer(R.id.drawer_layout) 

但它似乎是更復雜的UIAutomator。

有人在別處問過類似的問題,並且給出的建議是,他們應該在他們正在測試的應用程序的源代碼中修改抽屜,以便UIAutomator可以更簡單地打開它。儘管如此,我無法訪問我想測試的應用程序的源代碼,所以我不能這樣做。這也似乎使用一般的拖動和滑動功能也不能很好地工作,但我不確定。

是否可以使用UIAutomator打開抽屜?如果是這樣,最好的方法是什麼?

回答

1

您必須使用ActionBarDrawerToggle的內容說明。如果你看看doc,你會看到ActionBarDrawerToggle只有兩個構造函數,它們的編號分別爲openDrawerContentDescRescloseDrawerContentDescRes。因此,在不更改代碼的情況下,您可以使用此topic的答案。

+0

我在發佈我的問題之前查看過該主題,但我認爲我需要在應用程序的源代碼中添加ActionBarDrawerToggle。你是說它可以在測試本身內部實現嗎? – ThisIsAName12345 2015-04-03 18:08:53

+0

您沒有ActionBarDrawerToggle?我認爲你必須有一個,看看[這裏](http://developer.android.com/training/implementing-navigation/nav-drawer.html#ActionBarIcon)。如果你沒有一個,也許你應該提供一個簡單的代碼,所以我會盡力幫你 – ThomasThiebaud 2015-04-06 18:01:02

+0

我沒有訪問我正在測試的應用程序的源代碼,所以我不能在那裏添加一個甚至看看是否有一個。我使用uiautomatorviewer查看了應用程序,看看是否可以找到ActionBarDrawerToggle元素,但我沒有看到那個元素。我相信,我之前沒有使用ActionBarDrawerToggle實現了一個導航抽屜,所以我不確定是否有。 – ThisIsAName12345 2015-04-07 14:48:43

0

如果你想要做的唯一事情就是打開側面的抽屜裏,你可以不喜歡它的用戶會:

  • 操作欄中點擊應用按鈕

  • 從左邊緣向右滑動(到屏幕中間應該足夠了,但我發現有時候它並沒有完全打開,引發了立即關閉,所以我建議你滑動t例如)

第二個選項你甚至不需要知道任何元素的id。

相關問題