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

}

相关内容

热门资讯

据权威媒体报道!超凡辅助app... 据权威媒体报道!超凡辅助app链接,火神大厅辅助器-都是真的是有辅助攻略(哔哩哔哩)1、火神大厅辅助...
2026版攻略!天天微友有辅助... 2026版攻略!天天微友有辅助么,微信新九游辅助-总是真的是有辅助神器(哔哩哔哩)1、天天微友有辅助...
据了解!丽水茶苑手机辅助,微友... 据了解!丽水茶苑手机辅助,微友辅助器免费版v2.0-一贯确实有辅助插件(哔哩哔哩)微友辅助器免费版v...
透视好牌!闲来辅助神器免费版在... 透视好牌!闲来辅助神器免费版在哪下载,约战平台辅助-本来存在有辅助app(哔哩哔哩)1、透视好牌!闲...
受玩家影响!约局吧开挂神器是真... 您好,约局吧开挂神器是真的吗这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】...
2026版规律!闽乐乐510k... 2026版规律!闽乐乐510k脚本,闽游辅助软件-竟然确实有辅助软件(哔哩哔哩)1)闽乐乐510k脚...
据公告内容!四川微乐自建房辅助... 据公告内容!四川微乐自建房辅助器,新星游辅助软件试用版-本来确实有辅助软件(哔哩哔哩)1、上手简单,...
代打辅助挂!吉祥填大坑脚本,菠... 代打辅助挂!吉祥填大坑脚本,菠萝辅助破解版-真是确实有辅助插件(哔哩哔哩)菠萝辅助破解版是不是有人用...
透视有挂!葫芦娃手游辅助脚本,... 透视有挂!葫芦娃手游辅助脚本,四川熊猫辅助软件下载-好像真的有辅助教程(哔哩哔哩)1、下载好四川熊猫...
现场直击!越乡游义乌辅助工具,... 现场直击!越乡游义乌辅助工具,牵手游戏辅助软件-一贯是有辅助方法(哔哩哔哩)1、完成越乡游义乌辅助工...