Android Espresso与文字不匹配,即使它就在那里 - “swipeRight”和“swipeLeft”的问题

问题描述 投票:0回答:1

更新:所以我忽略了这个视图在ViewPager中。原来我的问题是“swipeLeft”和“swipeRight”的解释。我错过了这么久的原因是因为我会手动完成这些步骤,而我所谓的“swipeRight”与Espresso认为的刷卡方式不符。所以我没有看到问题发生,直到我在我的代码周围进行了一堆睡眠,所以我可以看到它以慢动作进行。那是我意识到这是错误的方向。所以真的,整个问题都是因为这个原因。哎呀。不知道如何处理这个问题,因为我在技术上可以自己回答这个问题,但是由于我遗漏了ViewPager位,所以它与帖子的内容有关。

原版的:

我正在对文本做一个非常简单的检查,它不想通过。

onView(withText("My text")).check(matches(isDisplayed()));

android.support.test.espresso.base.DefaultFailureHandler $ AssertionFailedWithCauseError:'在屏幕上显示给用户'与所选视图不匹配。

预期:在屏幕上显示给用户

得到:“CustomTextView {id = 2131756070,res-name = label_name,visibility = VISIBLE,width = 506,height = 53,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 = 220.0,y = 375.0,text = My text,input-type = 0,ime-target = false,has-links = false}“

这是布局代码:

<snip.snip.CustomTextView
                    android:id="@+id/label_name"
                    style="@style/typographyH4Subheading"
                    android:layout_centerHorizontal="true"
                    android:gravity="center"
                    android:paddingLeft="30dp"
                    android:paddingRight="30dp"
                    android:text="@{viewModel.nameLabel}"
                    android:ellipsize="end"
                    android:singleLine="true"/>

知道什么可能导致这不匹配?

android android-espresso
1个回答
0
投票

视图实际上是否可见?如果它不在视口中,你需要滚动,例如isDisplayed()将失败。另一个问题可能是给定视图的某些父级具有不可见或不可见性。

你可以试试.check(matches(withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)));来覆盖第一个案例和isVisible来自这个samples来覆盖第二个案例。

你有一个给定文本的视图吗?

© www.soinside.com 2019 - 2024. All rights reserved.