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

}

相关内容

热门资讯

2026版攻略!皇豪互众智能辅... 2026版攻略!皇豪互众智能辅助器破解!一贯是有开挂辅助脚本(有挂透视)-哔哩哔哩1、该软件可以轻松...
今天下午!陕西三代辅助!真是真... 今天下午!陕西三代辅助!真是真的有开挂辅助脚本(有挂助手)-哔哩哔哩1、点击下载安装,陕西三代辅助脚...
受玩家影响!渝都亲友全辅助!切... 受玩家影响!渝都亲友全辅助!切实存在有开挂辅助插件(有挂规律)-哔哩哔哩1、该软件可以轻松地帮助玩家...
第三方辅助!奇迹山西辅助器!原... 第三方辅助!奇迹山西辅助器!原来真的是有开挂辅助器(真实有挂)-哔哩哔哩1、打开软件启动之后找到中间...
据目击者称!创思维激k有挂吗!... 据目击者称!创思维激k有挂吗!本来是有开挂辅助挂(有挂功能)-哔哩哔哩1、创思维激k有挂吗有没有辅助...
随着!微乐卡五星祈福有用吗!真... 随着!微乐卡五星祈福有用吗!真是存在有开挂辅助脚本(有挂透明挂)-哔哩哔哩1、让任何用户在无需微乐卡...
黑科技技巧!赣牌圈控制牌型辅助... 黑科技技巧!赣牌圈控制牌型辅助器!确实是有开挂辅助插件(了解有挂)-哔哩哔哩赣牌圈控制牌型辅助器是不...
现场直击!微乐麻将脚本透视!其... 现场直击!微乐麻将脚本透视!其实真的有开挂辅助技巧(有挂攻略)-哔哩哔哩一、微乐麻将脚本透视可以开透...
2026版技巧!微信小程序功夫... 2026版技巧!微信小程序功夫川辅助!一直是真的有开挂辅助挂(有挂方针)-哔哩哔哩1、微信小程序功夫...
2026版教学!禅游辅助器!原... 2026版教学!禅游辅助器!原来是有开挂辅助软件(了解有挂)-哔哩哔哩1、禅游辅助器脚本辅助下载、禅...