安卓仪表化测试运行所有测试时对话框不显示。
创始人
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;
}

}

相关内容

热门资讯

4分钟辅助!wepoker透视... 4分钟辅助!wepoker透视脚本免费,pokemmo手机脚本,讲义教程(揭秘有挂)wepoker透...
第九分钟辅助!newpoker... 第九分钟辅助!newpoker怎么安装脚本,pokemmo手机辅助软件,方案教程(有挂技巧)1、该软...
第3分钟辅助!wepoker怎... 第3分钟辅助!wepoker怎么提高运气,德州之星扫描器,模板教程(有挂技巧)1、在wepoker怎...
第4分钟辅助!wpk模拟器是什... 第4分钟辅助!wpk模拟器是什么,aapoker透视插件,方针教程(有挂攻略)该软件可以轻松地帮助玩...
第一分钟辅助!德州私人局脚本,... 第一分钟辅助!德州私人局脚本,hhpoker免费辅助器,方案教程(有挂规律)1、金币登录送、破产送、...
三分钟辅助!hh poker透... 三分钟辅助!hh poker透视器下载,wepoker透视脚本,练习教程(有挂头条)所有人都在同一条...
第六分钟辅助!hh poker... 第六分钟辅助!hh poker软件,hhpoker是真的还是假的,阶段教程(有挂攻略)1、完成hhp...
第七分钟辅助!pokemmo手... 第七分钟辅助!pokemmo手机版脚本,wepoker俱乐部辅助,机巧教程(存在有挂)1、这是跨平台...
第四分钟辅助!wepoker有... 第四分钟辅助!wepoker有辅助插件吗,wepoker免费脚本,窍门教程(有挂解惑)1.wepok...
第一分钟辅助!wpk透视辅助下... 第一分钟辅助!wpk透视辅助下载,aapoker插件下载,资料教程(有挂教学)1、很好的工具软件,可...