을 찾는 문자열과 함께 에스프레소
-
21-12-2019 - |
문제
내가 노력하고 있에서 값을 읽 내 UI 보기입니다.이 방법을 사용하는 문자열을 찾아가 필요합니다.이것만 반환합니다 textView
id,하지 않습니다.
public static String getSpeedIndex(){
return onView(allOf(withId(R.id.slider_index),
isDescendantOfA(withId(R.id.speed_number_column))))
.toString();
}
는 방법을 반환 할 수 있습니 문자열이 필요합니까?
해결책
으로 언급된 의견에,우리는 하지 않았 이 작업은 첫 번째 클래스의 시민이스 API 를 장려하기 위해 테스트 저자들을 명시적으로 동작과 어설 및 억제 조건에서 논리를 테스트합니다.그 마음에,나는 당신을 격려로 쓰고 가짜를 위한 서버에서 제어할 수 있는 테스트를 입력(피 각질)및 조건을 피하는 논리입니다.
그러나,당신이 절대적으로 해당 값을 얻을 당신은 다음과 같이 할 수 있다:
final AtomicReference<String> textFromView = new AtomicReference<String>();
onView(<matcher for your view>).perform(new ViewAction() {
@Override
public Matcher<View> getConstraints() {
// TODO - at the very least, check that this is an instance of TextView
}
@Override
public String getDescription() {
return "get text from text view"
}
@Override
public void perform(UiController uiController, View view) {
textFromView.set(((TextView) view).getText());
}
}
물론 이렇게 하면 많은(당신은 없),당신은 그것을 만들 수 있습니다 더 좋은 모두 사용하여 이에 별도의 클래스입니다.
제휴하지 않습니다 StackOverflow