安卓仪表化测试运行所有测试时对话框不显示。
创始人
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工... 最新技巧外挂!新道游外挂AI工具,新道游多功能确实有外挂工具1、操作简单,无需新道游手机版透视脚本,...
查到实测辅助作弊器!新爵互娱作... 查到实测辅助作弊器!新爵互娱作弊器AI技巧,新爵互娱多功能其实真的是有作弊器技巧1、新爵互娱免费脚本...
科普常识开挂!起点休闲开挂AI... 科普常识开挂!起点休闲开挂AI技巧,起点休闲多功能一贯有开挂技巧1、起点休闲公共底牌简单,起点休闲透...
教学盘点透视挂!八喜休闲透视挂... 教学盘点透视挂!八喜休闲透视挂AI教程,八喜休闲多功能本来真的是有透视挂教程1、许多玩家不知道八喜休...
玩家必看透视挂!富友茶苑透视挂... 玩家必看透视挂!富友茶苑透视挂AI脚本,富友茶苑多功能本来有透视挂脚本富友茶苑辅助器是一种具有地方特...
玩家必备科技辅助器!友空互娱辅... 玩家必备科技辅助器!友空互娱辅助器AI方法,友空互娱多功能竟然有辅助器方法1、友空互娱模拟器是什么优...
今日公布外挂!百川外挂AI方法... 今日公布外挂!百川外挂AI方法,百川多功能都是真的是有外挂方法1、任何百川透视是真的假的的玩家都可以...
揭秘一下外挂!兴动游戏外挂AI... 揭秘一下外挂!兴动游戏外挂AI教程,兴动游戏多功能确实有外挂教程;1、在兴动游戏插件功能辅助器技巧中...
揭秘一下透视挂!湘中竞技透视挂... 揭秘一下透视挂!湘中竞技透视挂AI方法,湘中竞技多功能切实有透视挂方法1、湘中竞技透视辅助软件激活码...
免费测试版辅助!联众娱乐辅助A... 免费测试版辅助!联众娱乐辅助AI技巧,联众娱乐多功能切实存在有辅助技巧1、联众娱乐模拟器是什么优化,...