安卓仪表化测试运行所有测试时对话框不显示。
创始人
2024-11-09 17:00:19
0

问题产生原因可能是因为在测试过程中有某些代码块阻塞了主线程,而导致对话框无法正常显示。因此需要在测试代码中加入异步处理的机制来避免主线程卡死的情况。

示例代码:

@Test public void testDialogShowing() { // 在测试的代码块中加入异步处理机制,以避免阻塞主线程 new Handler(Looper.getMainLooper()).post(new Runnable() { @Override public void run() { // 显示对话框 showDialog(); } }); // 执行测试操作 onView(withId(R.id.button)).perform(click()); // 对话框显示时间 onView(withText("Hello World!")).inRoot(new ToastMatcher()) .check(matches(isDisplayed())); }

// 自定义 Matcher,用于匹配 Toast 弹出的对话框 public class ToastMatcher extends TypeSafeMatcher {

@Override
public void describeTo(Description description) {
    description.appendText("is toast");
}

@Override
public boolean matchesSafely(Root root) {
    int type = root.getWindowLayoutParams().get().type;
    if (type == WindowManager.LayoutParams.TYPE_TOAST) {
        IBinder windowToken = root.getDecorView().getWindowToken();
        IBinder appToken = root.getDecorView().getApplicationWindowToken();
        if (windowToken == appToken) {
            // 确认需要显示的对话框已经显示出来了
            return true;
        }
    }
    return false;
}

}

相关内容

热门资讯

安装程序教程!陕麻圈破解,微信... 安装程序教程!陕麻圈破解,微信微乐辅助(确实存在有挂)所有人都在同一条线上,像星星一样排成一排,每一...
一分钟揭秘!九天大厅挂价格,广... 一分钟揭秘!九天大厅挂价格,广东雀神挂件定制(总是是真的有挂)运广东雀神挂件定制辅助工具,进入游戏界...
科普常识!瑞安玉海楼茶苑辅助器... 科普常识!瑞安玉海楼茶苑辅助器,蜜瓜大厅小程序辅助(果然真的有挂)瑞安玉海楼茶苑辅助器辅助器是一种具...
今日头条!琼戏互娱破解版,雀友... 今日头条!琼戏互娱破解版,雀友圈斗地主有挂(切实真的有挂)雀友圈斗地主有挂脚本下载中分为三种模型:雀...
玩家必看教程!丽水茶苑辅助,新... 玩家必看教程!丽水茶苑辅助,新二号辅助软件多少(一贯是真的有挂)一、新二号辅助软件多少游戏安装教程牌...
热点讨论!仙桃晃晃辅助器,菠萝... 热点讨论!仙桃晃晃辅助器,菠萝辅助器(本来真的是有挂)1、不需要AI权限,帮助你快速的进行仙桃晃晃辅...
让我来分享经验!微乐辅助软件购... 让我来分享经验!微乐辅助软件购买平台,微乐江西小程序辅助(竟然是有挂)在进入微乐辅助软件购买平台软件...
玩家必备攻略!斗城麻将微信有没... 玩家必备攻略!斗城麻将微信有没有挂,福建相约13水外(总是真的是有挂)玩家必备攻略!斗城麻将微信有没...
来一盘!朋朋政和辅助,小程序四... 来一盘!朋朋政和辅助,小程序四川血战辅助(都是有挂)进入游戏-大厅左侧-新手福利-激活码辅助透视技能...
科普常识!微信随意玩辅助器有开... 科普常识!微信随意玩辅助器有开挂吗,闲逸辅助插件(确实存在有挂);1、微信随意玩辅助器有开挂吗破解器...