研究Android自動化測試框架後,我偶然發現了Espresso。它似乎擁有我想要的一切:可靠的測試,最少的樣板代碼,更高的性能。使用Expresso更好的Android自動化測試性能?
我觀看了演示Espresso的GTAC 2013演示文稿,很高興看到它運行測試的速度。但是,實際上已經實現了一些測試,但我必須說,如果有任何性能優於使用標準Android測試框架,我不會注意太多。我還沒有做過任何「官方」基準測試,但我的理解是,Espresso吹掉了標準的Android測試框架。
我正在測試的項目是在developer.android.com上的教程中描述的項目。那我寫的測試是非常簡單的:
@Test
public void test_sendButton_shouldInitiallyBeDisabled() {
onView(withId(R.id.button_send)).check(matches(not(ViewMatchers.isEnabled())));
}
@Test
public void test_sendButton_shouldBeEnabledAfterEnteringText() {
String enteredText = "This is my message!";
// Type Text
onView(withId(R.id.edit_message)).perform(ViewActions.typeText(enteredText));
// Validate the Result
onView(withId(R.id.button_send)).check(matches(ViewMatchers.isEnabled()));
}
@Test
public void test_enteringTextAndPressingSendButton_shouldDisplayEnteredText() {
String enteredText = "This is my message!";
// Type Text
onView(withId(R.id.edit_message)).perform(ViewActions.typeText(enteredText));
// Click Button
onView(withId(R.id.button_send)).perform(click());
// Validate the Results
onView(withId(R.id.display_message)).check(ViewAssertions.matches(ViewMatchers.withText(enteredText)));
}
我跟着咖啡網站上的所有指令,支付特別是我的運行配置中使用的GoogleInstrumentationTestRunner密切關注。
那麼我錯過了什麼?我錯過了簡單的事情嗎?或者,我的前提是完全錯誤地改進了性能?