我正在测试我的活动中的片段的启动,所以在执行点击按钮以启动片段之后,我测试了已启动片段内的视图上现有的文本,但是测试失败,即使该片段是在我的手机上启动,甚至在View Hierarchy中显示文本存在:
View Hierarchy: +--------->AppCompatTextView{id=2131886318, res-name=text3_textView, visibility=VISIBLE, width=768, height=68, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=695.0, text=Pour finaliser votre inscription nous avons besion d'une photo de profil, input-type=0, ime-target=false, has-links=false}
测试失败了:
onView(withText("photo de profil")).check(matches(isDisplayed()));
我想知道为什么espresso失败了这个测试,是因为它不等待片段的发布?
顺便说一句,我关闭了动画.
espresso withText方法匹配所有字符串相等.
在您的情况下,如果字符串以字符串结尾,则需要匹配.
你的代码应该是这样的:
onView(withText(endsWith("photo de profil"))).check(matches(isDisplayed()));
这里有更多示例:http://qathread.blogspot.com.br/2014/01/discovering-espresso-for-android.html