Espresso-testing-view-actions
エスプレッソテストフレームワーク-アクションの表示
前に学習したように、ビューアクションは、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())