web-dev-qa-db-ja.com

tablayoutを使用してviewpagerで現在のタブを設定する方法

タブレイアウトを操作するカスタムビューページャー(理由によりスワイプが無効になっています)があります。選択したタブによって内容が変わります。エスプレッソを使用してこれをテストしたい:1)特定のタブをクリックします2)タブの特定のページでいくつかのデータを確認しますどうすればよいですか?私はエスプレッソの初心者です

16
user2759617

これを行うにはいくつかの方法があります。簡単な方法は、タブのタイトルで要素を選択することです。私は次のコードを使用します。

Matcher<View> matcher = allOf(withText("TAB TITLE"),
            isDescendantOfA(withId(R.id.customTab)));
onView(matcher).perform(click());
SystemClock.sleep(800); // Wait a little until the content is loaded

マッチャーをレイアウトに適合させるだけです。次に、内容を確認します。

例えば:

onView(withId(R.id.someId)).check(matches(isCompletelyDisplayed()));

または:

onView(withText(R.string.someText)).check(matches(isCompletelyDisplayed()));

ここで例を見つけることができますビューマッチャーの指定セクション: http://developer.Android.com/intl/es/training /testing/ui-testing/espresso-testing.html

RecyclerViewを使用してタブのコンテンツを表示している場合は、次を参照してください。 ViewPager内のEspresso RecyclerView

23
jeprubio