我正在寻找目前主流的Android UI测试框架& Android Studio。
Android Developer网站上的文档适用于Eclipse,但我使用的是Android Studio。我看过Robolectric,之前说的默认框架,WebDriver等等,但看起来都不赞成,或者太复杂了。
我有一个几乎完整的项目,所以我无法从一些基于Github的项目开始。我尝试合并Deckard,wiliamsouza的蓝牙项目(see)等,但没有任何成功。
Android目前首选的UI测试框架是什么?你能用Android Studio向我展示一个循序渐进的教程吗?我好几天都在寻找它。
谢谢!
答案 0 :(得分: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