安卓UI测试框架

3

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

Android开发者网站上的文档是针对Eclipse的,但我在使用Android Studio。我尝试了Robolectric、之前说过的默认框架、WebDriver等,但所有这些看起来都已经过时或者太复杂了。

我有一个几乎完成的项目,所以不能从某个基于Github的项目开始。我尝试合并Deckard、wiliamsouza的蓝牙项目(see)等,但都没有成功。

目前Android最受欢迎的UI测试框架是什么?你能给我展示一份使用Android Studio的逐步教程吗?我已经寻找了好几天了。

谢谢!


我建议你尝试这个库:https://github.com/mauriciotogneri/green-coffee你只需要导入它,然后就可以运行用Gherkin编写的测试了。 - Mauricio Togneri
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();
    }
}

其次,Espresso。这是另一个容易与Gradle集成的工具。官方Google 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

好的,我尝试了一下,看起来不错。但是我如何在“EditText”的值上使用“assertEqual”呢?我正在尝试Assert.assertEquals(solo.getEditText(..id..).toString(), "Text");,但它不起作用。我还尝试了https://dev59.com/sn7aa4cB1Zd3GeqPminO#22969743。 - Nagy Vilmos
Appium似乎很有前途且易于使用。http://appium.io/ - Hamedz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接