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

}

相关内容

热门资讯

盘点一款!wepoker怎么获... 盘点一款!wepoker怎么获得好牌,wpk透视辅助,本来真的有挂(有挂教程)1、辅助软件下载优化,...
攻略辅助挂!aapoker怎么... 攻略辅助挂!aapoker怎么拿好牌,德扑之星有辅助软件吗,其实是有挂(有挂头条)1、全新机制【德扑...
科技通报!wepoker私人定... 科技通报!wepoker私人定制透视,wepoker插件功能辅助器,好像真的有挂(有挂详细)1、免费...
事发当天!wepoker开脚本... 事发当天!wepoker开脚本视频,德普之星透视辅助插件,竟然是有挂(今日头条)1、这是跨平台的德普...
这一问题亟待解决!wepoke... 这一问题亟待解决!wepoker私人局透视,德普之星透视辅助软件下载,一贯是有挂(有挂技巧)1、起透...
玩家必用!wepoker破解版... 玩家必用!wepoker破解版内购,hhpoker是真的吗,其实真的有挂(有挂讲解)1、上手简单,内...
2026版教学!hhpoker... 2026版教学!hhpoker怎么防作弊,德普之星辅助软件,原来真的有挂(有挂攻略)1、超多福利:超...
记者揭秘!智星德州插件,pok... 记者揭秘!智星德州插件,pokemmo脚本辅助器下载,竟然有挂(有挂讲解)1)免费钻石:进一步探索免...
截至发稿!德州透视插件,德普之... 截至发稿!德州透视插件,德普之星透视辅助软件是真的吗,一直真的是有挂(有挂教程)1、玩家可以在德普之...
一分钟揭秘!poker wor... 一分钟揭秘!poker world辅助器,哈糖大菠萝有挂吗,一贯是有挂(有挂存在)1、游戏颠覆性的策...