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

}

相关内容

热门资讯

2分钟开挂!乐胡脚本,越乡游义... 2分钟开挂!乐胡脚本,越乡游义乌辅助器免费试用,新2025教程-2026最新版本1、越乡游义乌辅助器...
据了解!老友广东辅助工具(辅助... 据了解!老友广东辅助工具(辅助挂)一直是有挂(有挂诀窍)-哔哩哔哩;打开点击测试直接进入微信(136...
第2分钟开挂!边锋干瞪眼辅助,... 第2分钟开挂!边锋干瞪眼辅助,福州十八扑外卦,详细教程-2026最新版本运边锋干瞪眼辅助辅助工具,进...
备受关注的!传送屋辅助软件下载... 备受关注的!传送屋辅助软件下载最新版本更新内容(辅助挂)其实确实有挂(有挂练习)-哔哩哔哩;无需打开...
1分钟开挂!优优龙岩麻将辅助器... 1分钟开挂!优优龙岩麻将辅助器,微信小程序微乐辅助器,新2025教程-2026最新版本1、让任何用户...
有消息称!新二号辅助软件价格(... 有消息称!新二号辅助软件价格(辅助挂)一直真的有挂(有挂方针)-哔哩哔哩;无需打开直接搜索加(薇:1...
第一分钟开挂!中至余干有挂吗,... 第一分钟开挂!中至余干有挂吗,新漫游免费辅助器,透视教程-2026最新版本第一分钟开挂!中至余干有挂...
现场直击!决战卡五星有挂吗(辅... 决战卡五星有挂吗 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1...
第七分钟开挂!欢乐对决破解版免... 第七分钟开挂!欢乐对决破解版免内购,闲聚app辅助软件,科技教程-2026最新版本欢乐对决破解版免内...
受玩家影响!潮汕汇鱼虾蟹辅助(... 受玩家影响!潮汕汇鱼虾蟹辅助(辅助挂)一直确实有挂(有挂教材)-哔哩哔哩《详细加薇136704302...