2017-11-20 9 views
1

エスプレッソでEditTextのフォントサイズ、高さ、幅を確認するにはどうすればよいですか?エスプレッソでEditTextのフォントサイズ、高さ、幅を確認

onView(withId(R.id.editText1)).perform(clearText(), typeText("Amr"));

とテキストを読むために:私が使用してテキストを宗派、現時点で

エスプレッソがサポートされていないので、

onView(withId(R.id.editText1)).check(matches(withText("Amr"))); 

答えて

1

独自のカスタムマッチャを作成する必要がありますデフォルトでは、これらのマッチャーのいずれか。

これは幸いにも非常に簡単に行うことができます。フォントサイズのために、この例を見てみましょう:

public class FontSizeMatcher extends TypeSafeMatcher<View> { 

    private final float expectedSize; 

    public FontSizeMatcher(float expectedSize) { 
     super(View.class); 
     this.expectedSize = expectedSize; 
    } 

    @Override 
    protected boolean matchesSafely(View target) { 
     if (!(target instanceof TextView)){ 
      return false; 
     } 
     TextView targetEditText = (TextView) target; 
     return targetEditText.getTextSize() == expectedSize; 
    } 


    @Override 
    public void describeTo(Description description) { 
     description.appendText("with fontSize: "); 
     description.appendValue(expectedSize); 
    } 

}

そして、そのようにエントリポイントを作成します。

public static Matcher<View> withFontSize(final float fontSize) { 
    return new FontSizeMatcher(fontSize); 
} 

をそして、このようにそれを使用するための:

onView(withId(R.id.editText1)).check(matches(withFontSize(36))); 

幅は&で、同様の方法で行うことができます。

関連する問題