无论文本是成功还是失败,Espresso总是给我成功

时间:2018-07-18 11:51:10

标签: android dialog android-espresso

我正在使用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”的对话框,但是作为凭据,我填写的是正确的,因此对话框将显示“成功”消息。

任何人都可以让我知道我在代码中做错了什么吗?

致谢

0 个答案:

没有答案