Espresso 自动化测试(九)-inRoot 使用

在日常的测试中,我们还可能碰到许许多多的测试点,如Toast内容的验证,AutoCompleteText的选择等。 这些测试项都有一个共同的特点。即不在主UI布局的结构(layout,及其include的layout)之中,是不能直接定位的。 所以这里就需要使用inRoot( ) 了。

Toast 测试

众所周知UiAutomator是不支持Toast的验证的,为此很多人都想了很多的办法,结果当然都是有些无奈的。 Espresso 很简单的就解决了此问题。

我们还是继续使用之前的栗子,只是说我们点击书籍的时候不进入到bookDetailActivity界面,而是弹出对应bookTitle的Toast。 代码不贴了,很简单。我们看看要如何验证Toast的内容呢。

onData(withBookTitle("Effective Java ")).inAdapterView(allOf(withId(R.id.list),isDisplayed())).perform(click());
onView(withText("Effective Java ")).inRoot(withDecorView(not(mRules.getActivity().getWindow().getDecorView()))).check(matches(isDisplayed()));

以上就是测试的代码了。很简单。这个代码还是有点不太明白,后续会跟进下。

AutoComplete 测试

这个测试项 可以参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值