У меня есть два похожих ImageView
с. Я решил не создавать разные рисунки для второго ImageView
и вращать его, используя те же рисунки.
<ImageView
android:id="@+id/rightTurn_imageView"
android:layout_width="@dimen/width_imageViews_feedback_area_info"
android:layout_height="@dimen/height_imageViews_feedback_area_info"
android:layout_marginLeft="@dimen/margin_before_imageViews_feedback_area_info"
android:layout_marginStart="@dimen/margin_before_imageViews_feedback_area_info"
android:layout_marginTop="@dimen/margin_above_imageViews_feedback_area_info"
android:scaleType="fitCenter"
app:layout_constraintStart_toEndOf="@+id/emergency_imageView"
app:layout_constraintTop_toTopOf="@+id/feedback_area_info"
android:rotation="180"/> <! -- The line where the problem occurs -->
Я пытаюсь проверить свой пользовательский интерфейс, используя Espresso
. Я пытаюсь увидеть, появляется ли тост и функция Test
работает вечно.
@Test
fun showToastOnClickRightDirectionLight() {
onView(withId(R.id.rightTurn_imageView))
.perform(click())
onView(
withText(
containsString(
activityRule.activity.resources.getString(
R.string.long_click_info
)
)
)
)
.inRoot(RootMatchers.withDecorView(not(activityRule.activity.window.decorView)))
.check(matches(isDisplayed()))
}
Всякий раз, когда я удаляю линию вращения из xml (android:rotation="180"
), тест завершается успешно.
Когда я тестирую пользовательский интерфейс, пальцем (!) все работает как надо, даже если он повернут или нет.
Есть ли обходной путь для этой проблемы, или я должен создать другой чертеж?
Кроме того, кто-нибудь может объяснить, почему это происходит? Что не так, когда rotating
?