当前位置: 首页 > 知识库问答 >
问题:

AlertDialog阻止Espresso测试执行

丰景同
2023-03-14

在我的Espresso测试执行和AlertDialog会被提示并等待用户响应。Espresso测试只有在我按下“Accept”按钮但我想测试代替用户执行此事件时才会继续。

@Test
protected void testLogin() {
    Log.d(TAG,"testLogin");

    onView(withId(R.id.et_user)).perform(clearText())
            .perform(replaceText(USER),
                    pressImeActionButton(),
                    closeSoftKeyboard());

    onView(withId(R.id.et_passwd)).perform(clearText())
            .perform(replaceText(PASSWD), closeSoftKeyboard());

    onView(withId(R.id.bt_login)).perform(click());

    // Here is where it stops until I click accept on the alert dialog

}

我注意到我的线程选项卡上有以下状态

共有1个答案

左丘恩
2023-03-14

首先,您可以通过检查对话框中的文本来测试AlertDialog是否可见:

onView(withText("Your text in the dialog, such as title or message")).check(matches(isDisplayed()));

如果它是一个常规的AlertDialog,那么它的积极按钮将具有idAndroid.r.id.button1,因此您可以在测试中按下它,如下所示:

onView(withId(android.R.id.button1)).perform(click());
 类似资料:
  • 问题内容: 当try块中存在时,我对try- finally执行感到困惑。据我了解,finally块将始终执行,即在返回调用方法之前。在考虑以下简单代码时: 实际打印的结果为1。这是否意味着不执行finally块?有人可以帮我吗? 问题答案: 从块返回时,返回值存储在该方法的堆栈帧中。之后,将执行finally块。 更改finally块中的值不会更改堆栈中已存在的值。但是,如果您从finally块

  • null 和之间的主要区别是什么? 必须修改源代码才能集成这些框架吗? 一个框架比另一个框架有什么优势吗?如果是,那么哪个框架最适合Android应用程序的UI自动化?

  • 本文向大家介绍Android中阻止AlertDialog关闭实例代码,包括了Android中阻止AlertDialog关闭实例代码的使用技巧和注意事项,需要的朋友参考一下 Android如何关闭AlertDialog.Builder对话框呢?AlertDialog.Builder对话框没有类似finish()或者dismiss()这样的方法。 但是它的父类AlertDialog有dismiss方法

  • 本文向大家介绍Android 创建Espresso测试类,包括了Android 创建Espresso测试类的使用技巧和注意事项,需要的朋友参考一下 示例 将下一个Java类放在src / androidTest / java中并运行它。            

  • 功能测试框架 espresso > 原文链接 : the-hitchhikers-guide-to-android-testing-part-2-espresso 译者 : Lollypo 校对者: kang 状态 : 校对完成 正如Ali Derbane和我写的第一篇关于Android的功能测试的文章中提到的,有许多的框架供你使用. 在这个旅程的第二部分,我将讲解Espresso这个功能测试框架

  • 因为我们的测试环境不使用HTTPS,所以我们对Android 9的UI测试失败了。问题是,我们正在从espresso测试中进行网络调用(例如,直接在后端创建全新的用户以用于测试),这意味着它们在espresso测试应用程序上运行。 将networkSecurityConfig添加到应用程序清单无济于事,因为问题不在于应用程序,而在于espresso应用程序。 我怎么才能修好这个?espresso应