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

}

相关内容

热门资讯

透视教程!佛手在线大菠萝技巧(... 透视教程!佛手在线大菠萝技巧(透视)确实有挂(详细辅助AI教程)1、让任何用户在无需AI插件第三方神...
我来教教大家!wepoker俱... 我来教教大家!wepoker俱乐部辅助,poker红龙辅助,可靠技巧(有挂神器)是一款可以让一直输的...
透视了解!约局吧是否有挂(透视... 透视了解!约局吧是否有挂(透视)切实有挂(详细辅助黑科技教程)1)辅助挂:进一步探索辅助透视大陆,与...
玩家实测!拱趴大菠萝作弊方法,... 玩家实测!拱趴大菠萝作弊方法,拱趴大菠萝挂,透明挂教程(有挂攻略);原来确实真的有挂(需添加指定薇1...
透视系统!德州透视是真的吗(透... 透视系统!德州透视是真的吗(透视)原来存在有挂(详细辅助2025新版技巧)1. ai辅助创建新账号,...
分享实测!pokemmo修改器... 分享实测!pokemmo修改器手机版,wepoker正确养号方法,普及教程(有挂软件);1分钟了解详...
透视了解!werplan有挂吗... 透视了解!werplan有挂吗(透视)本来真的有挂(详细辅助透视教程)透视了解!werplan有挂吗...
重大发现!wepoker一直输... 重大发现!wepoker一直输的号能继续打吗,hhpoker德州牛仔视频,揭秘攻略(有挂透视);致您...
透视透视挂!we-poker辅... 透视透视挂!we-poker辅助器(透视)一直真的是有挂(详细辅助AI教程)1、让任何用户在无需AI...
科技通报!wepoker能不能... 科技通报!wepoker能不能透视,wepoker作弊方法,第三方教程(有挂攻略);实战中需综合运用...