⾃⼰紹介 p ⽒名: 外⼭ 純⽣ (TOYAMA Sumio) @sumio_tym (Twitter) / @sumio (GitHub) p 所属: NTTテクノクロス株式会社 p 業務内容: p 社内Androidプロジェクトの技術⽀援 p 社内Androidプロジェクトのテスト⾃動化⽀援 p プライベート: p STAR(テスト⾃動化研究会) p @IT連載「スマホ向け無料システムテスト⾃動化 ツール」(UI Automator / Appiumの回を担当) 2
Espresso p Android公式のUIテストフレームワーク p URL phttps://goo.gl/x8eP5C phttps://goo.gl/lmrlJI p アプリ側の⾮同期処理の完了を ⾃動的に待ち合わせてくれる(例外あり) 4 (※) https://google.github.io/android-testing-support-library/docs/espresso/cheatsheet/ よりロゴを引⽤ (※)
Espressoの⾮同期処理待ち合わせ AsyncTask以外の⾮同期処理待ち合わせ p 独⾃IdlingResourceを実装すればOK 6 public interface IdlingResource { public String getName(); public boolean isIdleNow(); public void registerIdleTransitionCallback( ResourceCallback callback); } 「今アイドル状態ですか?」 という質問に答えるように実装する
参考URL ① RxAndroidのIssue #149 (様々な解決⽅法が議論されている) https://github.com/ReactiveX/RxAndroid/issues/149 ② Iñaki Villar「Espresso: Beyond the Basics」(Mobilization 2016) (本トークとほぼ同じ⽅法を紹介) https://goo.gl/AiQ2uJ ③ Joshua Kovach「Retrofitting Espresso」 (RxのスケジューラをAsyncTaskに差し替える ⽅法を紹介) https://goo.gl/2p3E6S 21