安卓仪表化测试运行所有测试时对话框不显示。
创始人
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、上手简单,内置详细流程视频教学,新...
每日必看!道游互娱透视辅助截图... 每日必看!道游互娱透视辅助截图,开心泉州小程序辅助器,详细挂(有挂规律)开心泉州小程序辅助器破解侠是...
一分钟秒懂!乐酷大厅怎么安装,... 一分钟秒懂!乐酷大厅怎么安装,人海大厅软件辅助,详细脚本(有挂教学)一、人海大厅软件辅助游戏安装教程...
总算了解!518互游辅助,欢乐... 总算了解!518互游辅助,欢乐联盟免费辅助,详细方法(有挂细节)1、上手简单,内置详细流程视频教学,...
揭秘一下!吉祥填大坑脚本,天道... 揭秘一下!吉祥填大坑脚本,天道辅助器使用教程,详细工具(有挂分享)1、金币登录送、破产送、升级送、活...
分享一款!手机脚本辅助软件,腾... 分享一款!手机脚本辅助软件,腾威填大坑辅助,详细app(有挂讲解)小薇(辅助器软件下载)致您一封信;...
盘点一款!乐酷解码辅助,山西大... 盘点一款!乐酷解码辅助,山西大唐辅助器,详细工具(发现有挂)山西大唐辅助器能透视中分为三种模型:山西...
玩家爆料!微乐小程序辅助器免费... 玩家爆料!微乐小程序辅助器免费,陕西三代实战技巧,详细app(证实有挂)微乐小程序辅助器免费辅助器是...
终于懂了!微乐家乡破解版,威信... 终于懂了!微乐家乡破解版,威信茶馆跑辅助器,详细脚本(有挂规律)1、点击下载安装,威信茶馆跑辅助器脚...
推荐攻略!广西友乐免费辅助,联... 推荐攻略!广西友乐免费辅助,联盟辅助软件,详细工具(真的有挂)广西友乐免费辅助脚本下载中分为三种模型...