我正在使用Espresso进行UI测试,我是这个框架的新手,我通过做一些研究编写了一些代码,并尝试运行该代码。我试图在API被点击后获取对话框的存在。就我而言,成功的对话框文本为“成功”,失败的对话框文本为“失败”。但是,即使我的状况与预期结果不符,我的测试也给这两种情况下的绿色标志:表明测试已通过。
这是代码:-
@RunWith(AndroidJUnit4.class)
public class LoginActivityTest {
String emailAddress,password;
@Rule
public ActivityTestRule<LoginActivity> mActivityRule =
new ActivityTestRule<>(LoginActivity.class);
@Before
public void prepareData(){
emailAddress = "dsf@gmail.com";
password = "Password123#";
onView(withId(R.id.et_email)).perform(typeText(emailAddress), closeSoftKeyboard());
onView(withId(R.id.et_password)).perform(typeText(password), closeSoftKeyboard());
}
@Test
public void clickSignUpButtonAfterFillingForm_showProgressAndSuccessScreen() {
onView(withId(R.id.btn_login)).perform(click());
// onView(withId(R.id.tv_login_email_error)).check(matches(not(isDisplayed())));
// onView(withId(R.id.tv_login_password_error)).check(matches(not(isDisplayed())));
try {
Thread.sleep(2000);
onView(withText("Faliure"))
.inRoot(isDialog()) // <---
.check(matches(isDisplayed()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
我通过的凭据是正确的,并且根据我的条件,测试应该会失败,因为我希望看到带有文本“ Failure”的对话框,但是作为凭据,我填写的是正确的,因此对话框将显示“成功”消息。
任何人都可以让我知道我在代码中做错了什么吗?
致谢