Это потому, что ограничение вашего ViewAction
возвращает null
. Прежде чем выполнить действие, он проверяет свое ограничение, которое никогда не должно быть нулевым, поэтому попробуйте вернуть сопоставление в ограничении:
@Override
public Matcher<View> getConstraints() {
return any(View.class);
}
Может быть, вам также следует вернуть строку для описания действия.
Если вы считаете, что у вас есть правильная позиция для нажатия, но она не работает, это потому, что вы не вызвали правильную функцию для выполнения:
actionOnItemAtPosition(position + headersCount ,click()).perform(uiController, view);