Slide 1

Slide 1 text

Espresso Test Recorder @magiepooh

Slide 2

Slide 2 text

About me @magiepooh @magie_pooh Takuma Fujita

Slide 3

Slide 3 text

Company AbemaTV, Inc. (Cyber Agent, Inc.)

Slide 4

Slide 4 text

What’s Espresso?

Slide 5

Slide 5 text

Espresso • Testing UI tool

Slide 6

Slide 6 text

Test

Slide 7

Slide 7 text

Test [Disadvantage] Maintenance Laziness [Advantage] Clean design Reduce bugs

Slide 8

Slide 8 text

Espresso Test Recorder

Slide 9

Slide 9 text

Espresso Test Recorder • GoogleIO 2016 • Record Espresso UI tests simply by using your app as a normal user

Slide 10

Slide 10 text

Demo

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

RecyclerView

Slide 13

Slide 13 text

Can’t detect scroll event…

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

ViewInteraction appCompatButton = onView( allOf(withId(R.id.button_recycler), withText("RecyclerView"), withParent(allOf(withId(R.id.activity_main), withParent(withId(android.R.id.content)))), isDisplayed())); appCompatButton.perform(click()); ViewInteraction recyclerView = onView(allOf(withId(R.id.recycler_view), isDisplayed())); recyclerView.check(matches(isDisplayed())); // >>> Developers need write this line to scroll RecyclerView onView(withId(R.id.recycler_view)).perform(RecyclerViewActions.scrollToPosition(19)); // <<< ViewInteraction appCompatButton2 = onView(allOf(withId(R.id.text_recycler), withText("position: 19"), isDisplayed())); appCompatButton2.perform(click());

Slide 18

Slide 18 text

ViewInteraction appCompatButton = onView( allOf(withId(R.id.button_recycler), withText("RecyclerView"), withParent(allOf(withId(R.id.activity_main), withParent(withId(android.R.id.content)))), isDisplayed())); appCompatButton.perform(click()); ViewInteraction recyclerView = onView(allOf(withId(R.id.recycler_view), isDisplayed())); recyclerView.check(matches(isDisplayed())); // >>> Developers need write this line to scroll RecyclerView onView(withId(R.id.recycler_view)).perform(RecyclerViewActions.scrollToPosition(19)); // <<< ViewInteraction appCompatButton2 = onView(allOf(withId(R.id.text_recycler), withText("position: 19"), isDisplayed())); appCompatButton2.perform(click());

Slide 19

Slide 19 text

ViewPager

Slide 20

Slide 20 text

Can’t detect scroll event…

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Conclusion • Espresso Test Recorder is currently experimental.