androidx.test.espresso.NoMatchingRootException:Matcher'istoast'didnotmatchanyofthefollowingroots:
创始人
2024-10-12 10:30:25
0

在测试中使用Espresso时,可能出现“androidx.test.espresso.NoMatchingRootException: Matcher 'is toast' did not match any of the following roots:”异常。这是由于Espresso无法找到所需的根视图而引起的。

通常,这个异常是由于测试代码中使用了错误的根视图引起的,或者是由于我们没有正确地缓存根视图。以下是一些可行的解决方案:

  1. 确保我们正在使用正确的根视图

检查你的测试代码,并确认你正在使用正确的根视图。如果你的应用有多个根视图,你需要正确地引用每个根视图。如果你在测试代码中使用了错误的根视图,那么Espresso将无法找到你想要的视图。

  1. 缓存根视图

在测试代码中,我们可以使用onView()方法来查找视图。但是,如果我们不正确地缓存根视图,你的测试代码在查找视图时可能会失败。

我们可以使用@Before注释和ActivityTestRule来缓存根视图。例如:

public class MainActivityTest { private Activity mActivity; private View mDecorView;

@Rule
public ActivityTestRule mActivityRule =
    new ActivityTestRule<>(MainActivity.class);

@Before
public void setUp() throws Exception {
    mActivity = mActivityRule.getActivity();
    mDecorView = mActivity.getWindow().getDecorView();
}

@Test
public void testButton() throws Exception {
    onView(withId(R.id.my_button)).perform(click());
}

}

在setUp()方法中,我们通过getWindow().getDecorView()方法缓存了根视图,并将其赋值给了mDecorView。这样,我们就可以在测试代码中使用正确的根视图,从而避免了Espresso查找视图时出错。

相关内容

热门资讯

透视能赢"we po... 透视能赢"we poker辅助器下载"详细辅助解密教程(免费脚本教程);实战中需综合运用上述技巧,并...
透视教程"aapok... 透视教程"aapoker免费透视脚本"详细辅助安装教程(透视脚本视频辅助);支持2-10人实时对战,...
透视苹果版"wepo... 1、透视苹果版"wepoker手机插件"详细辅助2025新版技巧(可以获得好牌攻略)(UU poke...
透视脚本"wepok... 1、透视脚本"wepoker软件靠谱么"详细辅助玩家教你(私人局辅助透明)。2、wepoker软件靠...
透视神器"wepok... 透视神器"wepoker插件辅助"详细辅助透牌教程(数据分析工具方法);最新版2024是一款经典耐玩...
辅助透视"hhpok... 辅助透视"hhpoker外挂靠谱吗"详细辅助实用技巧(辅助技巧)是由北京得hhpoker外挂靠谱吗黑...
透视安装"wepok... 透视安装"wepoker模拟器哪个"详细辅助靠谱教程(私人局开挂视频技巧)准备好在wepoker模拟...
透视挂透视"wepo... 1、透视挂透视"wepoker有没有辅助"详细辅助我来教教你(可以获得好牌透视)。2、wepoker...
透视规律"aapok... 透视规律"aapoker透视脚本入口"详细辅助力荐教程(科技辅助器教程);1分钟了解详细教程(微信 ...
透视规律"来玩app... 1、透视规律"来玩app破解"详细辅助2025新版总结(辅助软件技巧)。2、来玩app破解透视辅助简...