安卓仪表化测试运行所有测试时对话框不显示。
创始人
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、佛手在线大菠萝...
外挂大纲!德普软件,哈糖大菠萝... 外挂大纲!德普软件,哈糖大菠萝能开挂吗-其实一直都是有辅助插件(哔哩哔哩)1、在哈糖大菠萝能开挂吗插...
外挂教材!德州局透视脚本下载安... 外挂教材!德州局透视脚本下载安装最新版本,德普之星私人局辅助免费-其实真的有辅助app(哔哩哔哩)1...
外挂教材!德州私人局脚本,哈糖... 外挂教材!德州私人局脚本,哈糖大菠萝软件下载-一贯是有辅助插件(哔哩哔哩);1)哈糖大菠萝软件下载免...
外挂教程书!xpoker辅助工... 外挂教程书!xpoker辅助工具,云扑克有透视吗-都是有辅助神器(哔哩哔哩)所有人都在同一条线上,像...
外挂办法!poker worl... 外挂办法!poker world辅助,werplan外卦神器-一贯真的有辅助方法(哔哩哔哩)1)we...
外挂模板!德州透视是真的假的,... 您好,德州透视是真的假的这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很多...
外挂窍要!约局吧开挂,德州之星... 外挂窍要!约局吧开挂,德州之星扫描器-一贯一直总是有辅助工具(哔哩哔哩)1、用户打开应用后不用登录就...
外挂讲义!agpoker辅助,... 外挂讲义!agpoker辅助,wepoker透视有吗-切实真的有辅助插件(哔哩哔哩)1、任何wepo...
外挂方案!pokerworld... 外挂方案!pokerworld辅助器,菠萝辅助器免费版的功能介绍-一贯一直总是有辅助技巧(哔哩哔哩)...