Espresso-testing-view-actions

提供:Dev Guides
移動先:案内検索

エスプレッソテストフレームワーク-アクションの表示

前に学習したように、ビューアクションは、Androidアプリケーションのユーザーが実行可能なすべてのアクションを自動化します。 Espresso onView_および“ onData”は_perform_メソッドを提供します。このメソッドは、ビューアクションを受け入れ、テスト環境で対応するユーザーアクションを呼び出し/自動化します。 たとえば、「click()」はビューアクションであり、onView(_R.id.myButton _)。perform(click())_メソッドに渡されると、ボタンのクリックイベントが発生します(id: myButton」)テスト環境で。

この章では、エスプレッソテストフレームワークによって提供されるビューアクションについて学びましょう。

typeText()

_typeText()_は、_String_型の引数(テキスト)を1つ受け取り、ビューアクションを返します。 返されるビューアクションは、指定されたテキストをビューに入力します。 テキストを配置する前に、ビューを1回タップします。 既にテキストが含まれている場合、コンテンツは任意の位置に配置できます。

onView(withId(R.id.text_view)).perform(typeText("Hello World!"))

typeTextIntoFocusedView()

_typeTextIntoFocusedView()_は、ビュー内のカーソル位置のすぐ隣にテキストを配置することを除いて、_typeText()_と似ています。

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

replaceText()

_replaceText()_は、ビューのコンテンツを置き換えることを除いて、_typeText()_と似ています。

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

クリアテキスト()

_clearText()_には引数がなく、ビュー内のテキストをクリアするビューアクションを返します。

onView(withId(R.id.text_view)).perform(clearText())

pressKey()

_pressKey()_は、キーコード(KeyEvent.KEYCODE_ENTERなど)を受け入れ、ビューアクションを返します。このアクションは、キーコードに対応するキーを押します。

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER))

pressMenuKey()

_pressMenuKey()_には引数がなく、ハードウェアメニューキーを押すビューアクションを返します。

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER), pressMenuKey())

closeSoftKeyboard()

_closeSoftKeyboard()_には引数がなく、キーボードが開いている場合はキーボードを閉じるビューアクションを返します。

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", closeSoftKeyboard())

クリック()

_click()_には引数がなく、ビューのクリックアクションを呼び出すビューアクションを返します。

onView(withId(R.id.button)).perform(click())

ダブルクリック()

_doubleClick()_には引数がなく、ビューのダブルクリックアクションを呼び出すビューアクションを返します。

onView(withId(R.id.button)).perform(doubleClick())

longClick()

_longClick()_には引数がなく、ビューのロングクリックアクションを呼び出すビューアクションを返します。

onView(withId(R.id.button)).perform(longClick())

pressBack()

pressBack()には引数がなく、戻るボタンをクリックするビューアクションを返します。

onView(withId(R.id.button)).perform(pressBack())

pressBackUnconditionally()

_pressBackUnconditionally()_には引数がなく、戻るボタンをクリックし、戻るボタンアクションがアプリケーション自体を終了する場合に例外をスローしないビューアクションを返します。

onView(withId(R.id.button)).perform(pressBack())

openLink()

_openLink()_には2つの引数があります。 最初の引数(リンクテキスト)は_Matcher_タイプで、HTMLアンカータグのテキストを参照します。 2番目の引数(url)は_Matcher_型で、HTMLアンカータグのURLを参照します。 _TextView_のみに適用されます。 ビューアクションを返します。このアクションは、テキストビューのコンテンツで使用可能なすべてのHTMLアンカータグを収集し、最初の引数(リンクテキスト)と2番目の引数(url)に一致するアンカータグを見つけ、最後に対応するurlを開きます。 次のような内容を持つテキストビューを考えてみましょう-

<a href="http://www.google.com/">copyright</a>

次に、以下のテストケースを使用してリンクを開いてテストできます。

onView(withId(R.id.text_view)).perform(openLink(is("copyright"),
   is(Uri.parse("http://www.google.com/"))))

ここで、openLinkはテキストビューのコンテンツを取得し、著作権がテキストであるリンク、https://www.google.com/[www.google.com]をURLとして見つけ、ブラウザーでURLを開きます。

openLinkWithText()

openLinkWithText()_には1つの引数があり、* String 型またはMatcher型のいずれかです。 これは、単に_openLink *メソッドへのショートカットです。

onView(withId(R.id.text_view)).perform(openLinkWithText("copyright"))

openLinkWithUri()

openLinkWithUri()_には1つの引数があり、_String_型またはMatcher型のいずれかです。 これは、_openLink *メソッドの_simply_ short cutです。

onView(withId(R.id.text_view)).perform(openLinkWithUri("http://www.google.com/"))

pressImeActionButton()

_pressImeActionButton()_には引数がなく、_android:imeOptions_設定で設定されたアクションを実行するビューアクションを返します。 たとえば、_android:imeOptions_がactionNextに等しい場合、これはカーソルを画面内の次の可能な_EditText_ビューに移動します。

onView(withId(R.id.text_view)).perform(pressImeActionButton())

scrollTo()

_scrollTo()_には引数がなく、画面上の一致したscrollViewをスクロールするビューアクションを返します。

onView(withId(R.id.scrollView)).perform(scrollTo())

スワイプダウン()

_swipeDown()_には引数がなく、画面上のスワイプダウンアクションを起動するビューアクションを返します。

onView(withId(R.id.root)).perform(swipeDown())

上にスワイプする()

_swipeUp()_には引数がなく、画面上で上にスワイプアクションを起動するビューアクションを返します。

onView(withId(R.id.root)).perform(swipeUp())

swipeRight()

_swipeRight()_には引数がなく、画面上で右にスワイプアクションを実行するビューアクションを返します。

onView(withId(R.id.root)).perform(swipeRight())

左スワイプ()

_swipeLeft()_には引数がなく、画面上で左にスワイプアクションを実行するビューアクションを返します。

onView(withId(R.id.root)).perform(swipeLeft())