【发布时间】:2017-01-10 10:52:49
【问题描述】:
我有这个应用程序,我正在测试我需要登录的地方,然后它转到另一个活动,然后它转到另一个我可以注销的活动。问题是我的注销按钮位于ScrollView 的底部,并且在屏幕上看不到,而 espresso 也找不到该按钮。我需要先滚动,然后单击按钮。你能告诉我如何滚动然后点击按钮吗?
@Before
public void init() {
// Specify a valid string.
loginText = "something";
passwordText = "something";
}
@Test
public void loginAction() {
mBrowserActivityMonitor = getInstrumentation().addMonitor(MainActivity.class.getName(), null, false);
// Type text and then press the button.
onView(withId(R.id.editText_username))
.perform(typeText(loginText), closeSoftKeyboard());
onView(withId(R.id.editText_password))
.perform(typeText(passwordText), closeSoftKeyboard());
onView(withId(R.id.button_login)).perform(click());
Activity activity = mBrowserActivityMonitor.waitForActivityWithTimeout(10000);
onView(withId(R.id.button_left)).perform(click());
Activity activity2 = mBrowserActivityMonitor.waitForActivityWithTimeout(10000);
onView(withId(R.id.button_logout)).perform(click()); **//does not recognize**
Activity activity3 = mBrowserActivityMonitor.waitForActivityWithTimeout(10000);
assertNotNull(activity3); //To see if activity 2 (Profile) is opened
这是错误日志:
原因:java.lang.RuntimeException: Action will not be executed 因为目标视图与以下一项或多项不匹配 约束: 至少 90% 的视图区域会显示给用户。
【问题讨论】:
标签: android unit-testing testing android-espresso