Я пишу контрольно-измерительные приборы для задания для курса Android.Я хотел бы иметь возможность проверить, например, что TextView
правильно расположен на экране.Для этого я хочу сравнить положение TextView
с положением аналогичного TextView
в эталонной реализации;что-то вроде этого:
onView(withId(R.id.text_view))
.check(isBottomAlignedWith(onView(withId(R.id.text_view_solution))
Проблема, с которой я сталкиваюсь, заключается в том, что R.id.text_view
и R.id.text_view_solution
существуют в отдельных действиях.Я создаю два правила деятельности, одно для решения задания и одно для подачи студентами:
@Rule
public ActivityTestRule<MainActivity> mSubmission = new ActivityTestRule<>(MainActivity.class);
@Rule
public ActivityTestRule<MainActivitySolution> mSolution = new ActivityTestRule<>(MainActivitySolution.class);
Раньше я просто получал действия, связанные с вышеуказанными правилами, и сам проходил проверку иерархии, нобыло бы неплохо использовать удобные методы, такие как isBottomAlignedWith
.Кроме того, я хотел переключиться на эспрессо, так как это единственный способ найти тестирование в ландшафте (что мне также нужно будет сделать).
Однако по какой-то причине onView
будет искать толькопоследняя созданная деятельность.Поэтому я могу найти представления в MainActivitySolution
, но не в MainActivity
.Есть ли способ, позволяющий Espresso выполнять поиск по обоим действиям?