3

我正在寻找目前主流的Android UI测试框架和Android Studio。

Android Developer 网站上的文档适用于 Eclipse,但我使用的是 Android Studio。我看过 Robolectric、之前所说的默认框架、WebDriver 等,但看起来都已弃用或过于复杂。

我有一个几乎完整的项目,所以我不能从一些基于 Github 的项目开始。我试图合并Deckard, wiliamsouza 的蓝牙项目(请参阅参考资料)等等,但没有成功。

Android 目前首选的 UI 测试框架是什么?你能给我看一个使用 Android Studio 的分步教程吗?我已经找了好几天了。

谢谢!

4

1 回答 1

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();
    }
}

第二,浓缩咖啡。另一个易于与 Gradle 集成。谷歌 IO官方视频

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
于 2014-10-03T16:11:52.113 回答