Espresso TestingFramework-アクションの表示
前に学習したように、ビューアクションは、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はテキストビューのコンテンツを取得し、著作権をテキストとして、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型のいずれかです。それは単にショートにカットオープンリンク*方法。
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())