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

}

相关内容

热门资讯

透视计算!hhpoker辅助软... 透视计算!hhpoker辅助软件是真的么(透视)一直是真的有挂(详细辅助新2025版)运hhpoke...
透视讲解!wejoker辅助机... 透视讲解!wejoker辅助机器人(透视)其实是真的有挂(详细辅助解说技巧);1、透视辅助简单,软件...
透视有挂!wpk辅助(透视)确... 透视有挂!wpk辅助(透视)确实真的是有挂(详细辅助微扑克教程);进入游戏-大厅左侧-新手福利-激活...
透视透视!wepoker有透视... 透视透视!wepoker有透视底牌吗(透视)都是存在有挂(详细辅助技巧教程)1、打开软件启动之后找到...
透视脚本!aapoker脚本怎... 透视脚本!aapoker脚本怎么用(透视)一贯是有挂(详细辅助规律教程)1、超多福利:超高返利,海量...
透视真的!wepokerh5破... 透视真的!wepokerh5破解(透视)本来有挂(详细辅助系统教程)1、构建自己的辅助插件;2、选择...
透视透视!wepoker有插件... 透视透视!wepoker有插件吗(透视)好像有挂(详细辅助介绍教程)1、玩家可以在软件透明挂俱乐部对...
透视肯定!有没有人wepoke... 透视肯定!有没有人wepoker(透视)好像真的有挂(详细辅助2025新版教程)辅助器中分为三种模型...
透视攻略!wepokerplu... 透视攻略!wepokerplus透视脚本免费(透视)确实真的有挂(详细辅助必胜教程);透视攻略!we...
透视软件!wepoker模拟器... 透视软件!wepoker模拟器哪个好用(透视)总是有挂(详细辅助攻略教程)辅助器中分为三种模型:软件...