2014-10-03 81 views
3

我正在尋找目前主流的Android UI測試框架& Android Studio。Android UI測試框架

Android開發人員網站上的文檔適用於Eclipse,但我使用的是Android Studio。我看過Robolectric,之前說過的默認框架,WebDriver的東西等,但都看起來不贊成,或者太複雜。

我有一個幾乎完整的項目,所以我不能從一些基於Github項目開始。我試圖合併Deckard,wiliamsouza的藍牙項目(see)等,沒有任何成功。

Android目前首選的UI測試框架是什麼?您可以向我展示Android Studio的分步教程嗎?我一直在尋找它好幾天了。

謝謝!

+0

我建議你試試這個庫:https://github.com/mauriciotogneri/green-coffee 你只需要導入它,然後你就可以運行用小黃瓜你的測試。 – 2017-02-04 10:06:55

回答

4

首先,你試過Robotium?這很簡單,適用於本地混合應用程序。我經常使用它。與Maven,Gradle或Ant平滑集成,作爲持續集成的一部分運行測試。

import junit.framework.Assert; 

public class EditorTest extends ActivityInstrumentationTestCase2<EditorActivity> { 
    private Solo solo; 

    public EditorTest() { 
     super(EditorActivity.class); 
    } 

    public void setUp() throws Exception { 
     solo = new Solo(getInstrumentation(), getActivity()); 
    } 

    public void testPreferenceIsSaved() throws Exception { 
     solo.sendKey(Solo.MENU); 
     solo.clickOnText("More"); 
     solo.clickOnText("Preferences"); 
     solo.clickOnText("Edit File Extensions"); 
     Assert.assertTrue(solo.searchText("rtf")); 

     solo.clickOnText("txt"); 
     solo.clearEditText(2); 
     solo.enterText(2, "robotium"); 
     solo.clickOnButton("Save"); 
     solo.goBack(); 
     solo.clickOnText("Edit File Extensions"); 
     Assert.assertTrue(solo.searchText("application/robotium")); 
    } 

    @Override 
    public void tearDown() throws Exception { 
     solo.finishOpenedActivities(); 
    } 
} 

二,Espresso。另一個容易與Gradle整合。官方Google IO video

onView(withId(R.id.my_view))  // withId(R.id.my_view) is a ViewMatcher 
     .perform(click())    // click() is a ViewAction 
     .check(matches(isDisplayed())); // matches(isDisplayed()) is a ViewAssertion 
+0

好吧,我試過了,看起來不錯。但是我怎樣才能在'EditText'的值上使用assertEqual?我試着'Assert.assertEquals(solo.getEditText(.. id ..)。toString(),「Text」);',但它不起作用。也試過http://stackoverflow.com/a/22969743/2891426 – 2014-10-03 16:59:07

+0

Appium似乎很有前途,很容易。 http://appium.io/ – Hamedz 2016-06-13 16:51:22