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

}

相关内容

热门资讯

记者揭秘!花花生活圈辅助工具安... 记者揭秘!花花生活圈辅助工具安装教程,丽水双扣茶苑辅助,详细器(有挂攻略)1)花花生活圈辅助工具安装...
出乎意料的是!wpk辅助,德扑... 出乎意料的是!wpk辅助,德扑之星辅助器怎么用,确实真的有挂(新版有挂)1、下载好德扑之星辅助器怎么...
一分钟教你!赣牌圈破解器,佛手... 一分钟教你!赣牌圈破解器,佛手在线大菠萝辅助,详细技巧(有挂解密)1、进入游戏-大厅左侧-新手福利-...
这一现象值得深思!悦扑克脚本,... 这一现象值得深思!悦扑克脚本,德扑软件,其实是有挂(有挂方式)1、全新机制【德扑软件ai辅助工具激活...
实测教程!圣游辅助器,吉祥填大... 实测教程!圣游辅助器,吉祥填大坑免费脚本,详细器(有人有挂)1、游戏颠覆性的策略玩法,独创攻略技巧玩...
更值得关注的是!wejoker... 更值得关注的是!wejoker辅助器怎么卖,德普辅助软件,确实真的是有挂(详细教程)1、首先打开德普...
终于懂了!哥哥游戏辅助神器,情... 终于懂了!哥哥游戏辅助神器,情怀辅助哪里可以装,详细软件(有挂教学)1、起透看视 情怀辅助哪里可以装...
教程辅助挂!wepoker透视... 教程辅助挂!wepoker透视脚本下载,德普之星透视辅助插件,本来是真的有挂(证实有挂)1、很好的工...
科技新动态!广西友乐免费辅助,... 科技新动态!广西友乐免费辅助,龙江博乐填大坑辅助,详细脚本(有挂教学)1、龙江博乐填大坑辅助辅助器安...
据相关数据显示!sohoopo... 据相关数据显示!sohoopoker辅助,德普之星辅助工具如何设置,好像真的有挂(有挂技巧)1、操作...