문제

내가 노력하고 있에서 값을 읽 내 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());
  }
}

물론 이렇게 하면 많은(당신은 없),당신은 그것을 만들 수 있습니다 더 좋은 모두 사용하여 이에 별도의 클래스입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top