Submit Search
Upload
Androidアプリ開発のテスト環境
•
1 like
•
3,051 views
Toshiyuki Hirata
Follow
「Android Testing Bootcamp #2」の発表資料です。 デモ動画はありません。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 24
Download Now
Download to read offline
Recommended
fastlane x iOSアプリのCI
fastlane x iOSアプリのCI
Toshiyuki Hirata
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
Toshiyuki Hirata
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
Toshiyuki Hirata
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
Toshiyuki Hirata
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
Toshiyuki Hirata
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
More Related Content
What's hot
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
mirer
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
Toshiyuki Hirata
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Toshiyuki Hirata
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
Shunsuke Maeda
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
Toshiyuki Hirata
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Koji Hasegawa
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Shunsuke Maeda
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Toshiyuki Hirata
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
Toshiyuki Hirata
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
Shunsuke Maeda
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Naoto Kishino
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
健一 辰濱
What's hot
(20)
JaSST'16 Tokyo モバイルセッション
JaSST'16 Tokyo モバイルセッション
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
DroidKaigi_devicefarm
DroidKaigi_devicefarm
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
iOSにおけるコードレビューを一歩先へ進める
iOSにおけるコードレビューを一歩先へ進める
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
Win7 * appium * androidで実機自動テストやってみた。
Win7 * appium * androidで実機自動テストやってみた。
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
Viewers also liked
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
Nozomi Ito
UNICORNで爆速アプリ開発
UNICORNで爆速アプリ開発
修平 大野
AWS Device Farm を Jenkins CI から叩いてみた
AWS Device Farm を Jenkins CI から叩いてみた
Tatsuya Yamamoto
Open STF Plugin 作ってみた
Open STF Plugin 作ってみた
justice_sm
AWS Device FarmでAndroidのUIテストをやってみた
AWS Device FarmでAndroidのUIテストをやってみた
Yasuhiro Tajiri
フロントエンド開発者のためのJenkins
フロントエンド開発者のためのJenkins
Satake Hiroyuki
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
健一 辰濱
Androidテスティング実践2 システムテスト編
Androidテスティング実践2 システムテスト編
株式会社 NTTテクノクロス
JavascriptでもTestがしたい!
JavascriptでもTestがしたい!
洋一郎 櫻井
Unowned / Weak References with Closure
Unowned / Weak References with Closure
Naruki Chigira
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
Rust (Ginzarb 20161114)
Rust (Ginzarb 20161114)
Kevin Toyoda
はじめてのUnitTest XCTestに触れて
はじめてのUnitTest XCTestに触れて
Kenji Tanaka
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
Tomohiro Yamasaki
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御
Kenta Oku
【非エンジニアが 「明日からDevRelやってよ」って 突然言われて1年半やってきたこと ~teratailのDevRel担当、ゼロからの奮闘記~ @a...
【非エンジニアが 「明日からDevRelやってよ」って 突然言われて1年半やってきたこと ~teratailのDevRel担当、ゼロからの奮闘記~ @a...
Yusaku Kinoshita
アプリデザインのお勉強 UI/UXのお話
アプリデザインのお勉強 UI/UXのお話
shinta rock
Viewers also liked
(17)
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
UNICORNで爆速アプリ開発
UNICORNで爆速アプリ開発
AWS Device Farm を Jenkins CI から叩いてみた
AWS Device Farm を Jenkins CI から叩いてみた
Open STF Plugin 作ってみた
Open STF Plugin 作ってみた
AWS Device FarmでAndroidのUIテストをやってみた
AWS Device FarmでAndroidのUIテストをやってみた
フロントエンド開発者のためのJenkins
フロントエンド開発者のためのJenkins
Appium を使って iOS / Android の UI テストを共通化
Appium を使って iOS / Android の UI テストを共通化
Androidテスティング実践2 システムテスト編
Androidテスティング実践2 システムテスト編
JavascriptでもTestがしたい!
JavascriptでもTestがしたい!
Unowned / Weak References with Closure
Unowned / Weak References with Closure
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
Rust (Ginzarb 20161114)
Rust (Ginzarb 20161114)
はじめてのUnitTest XCTestに触れて
はじめてのUnitTest XCTestに触れて
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
アプリのテストを書かなければならないと分かっているけども、書けていない人たちへ
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御
【非エンジニアが 「明日からDevRelやってよ」って 突然言われて1年半やってきたこと ~teratailのDevRel担当、ゼロからの奮闘記~ @a...
【非エンジニアが 「明日からDevRelやってよ」って 突然言われて1年半やってきたこと ~teratailのDevRel担当、ゼロからの奮闘記~ @a...
アプリデザインのお勉強 UI/UXのお話
アプリデザインのお勉強 UI/UXのお話
Similar to Androidアプリ開発のテスト環境
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
Toshiya Komoda
5minQues - SWET近況報告
5minQues - SWET近況報告
Masaki Nakagawa
Trac Plugin Developement with Jenkins
Trac Plugin Developement with Jenkins
Takahisa Wada
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程
Masanori Satoh
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
智治 長沢
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
智治 長沢
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
智治 長沢
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
友隆 浅黄
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
atsushi_tmx
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
SHIFT Inc.
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
Rakuten Group, Inc.
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Naoki Umehara
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Tsutomu Chikuba
Similar to Androidアプリ開発のテスト環境
(19)
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
5分で分かるselenium conference berlin 2017
5分で分かるselenium conference berlin 2017
5minQues - SWET近況報告
5minQues - SWET近況報告
Trac Plugin Developement with Jenkins
Trac Plugin Developement with Jenkins
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
事例からわかる!テスト自動化導入パターン
事例からわかる!テスト自動化導入パターン
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
More from Toshiyuki Hirata
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
Toshiyuki Hirata
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
Toshiyuki Hirata
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化
Toshiyuki Hirata
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめる
Toshiyuki Hirata
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法
Toshiyuki Hirata
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有
Toshiyuki Hirata
レビューのコストを削減するための施策
レビューのコストを削減するための施策
Toshiyuki Hirata
More from Toshiyuki Hirata
(7)
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおけるパフォーマンス計測
iOSにおける自動テストの並列化
iOSにおける自動テストの並列化
UIテスト(Espresso)の高速化をさらにすすめる
UIテスト(Espresso)の高速化をさらにすすめる
UIテストの実行時間を短縮させる方法
UIテストの実行時間を短縮させる方法
我が家のLINEを中心とした情報共有
我が家のLINEを中心とした情報共有
レビューのコストを削減するための施策
レビューのコストを削減するための施策
Recently uploaded
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
Tetsuya Nihonmatsu
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
Matsushita Laboratory
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
Ayachika Kitazaki
2024 04 minnanoito
2024 04 minnanoito
arts yokohama
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
Sadao Tokuyama
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
arts yokohama
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
arts yokohama
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
ssuser539845
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
ssuser370dd7
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
Shumpei Kishi
2024 03 CTEA
2024 03 CTEA
arts yokohama
Recently uploaded
(12)
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
2024 04 minnanoito
2024 04 minnanoito
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
2024 03 CTEA
2024 03 CTEA
Androidアプリ開発のテスト環境
1.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Androidアプリ開発のテスト環境 Appium + STF + Jenkinsのおはなし Android Testing Bootcamp #2 2016/06/09(Thu) 平田 敏之@DeNA
2.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自己紹介 平田 敏之 ⁃ DeNA SWET G (テスト基盤チーム etc) 所属 • SWETとは? ⁃ Software Engineer in Test • http://www.slideshare.net/masaki/dena-software-engineer-in-test ⁃ ミッション • DeNAサービス全般の品質向上 • DeNAエンジニアの開発生産性向上 • 私が主にやっていること ⁃ クライアントアプリ周りのテスト戦略、自動テストの開発 ⁃ CI/CD環境整備 ⁃ テスト基盤環境の開発 ⁃ などなど
3.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 今日の流れ 最近のAndroidアプリ開発のテスト環境 UIテスティングフレームワーク ⁃ Appium & デモ 実行環境 ⁃ STF & デモ CI ⁃ Jenkins 全体のデモ まとめ
4.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 本日話さないこと 以下については話しきれませんので省略 ⁃ 自動テストのテスト戦略 ⁃ 自動テストの書き方 ⁃ 自動テストのつらみ ⁃ Appiumのつらみ ⁃ Android端末の挙動差異のつらみ ⁃ Jenkinsのつらみ ここらへんは別の機会に..
5.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Androidアプリの自動テストってどうしていますか? テストをどこまで書いていますか? ⁃ 手動テストだけになっていませんか? テストはどこで実行していますか? ⁃ 手元にある端末だけで動くとかになっていませんか? テストの実行環境が固定化されていませんか? ⁃ いつも同じ端末で動いていませんか? テストは並列実行できるようになっていますか? ⁃ 実行時間が長くてつらいとかありませんか?
6.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Androidアプリ開発をとりまくテスト環境(の一例) UIテスティングフレームワーク 実行環境 CI Espresso Genymotion Jenkins UI Automator AWS Device Farm CircleCI Appium Firebase Test Lab STF 以前に比べて環境は整ってきている
7.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Androidアプリ開発をとりまくテスト環境(の一例) UIテスティングフレームワーク 実行環境 CI Espresso Genymotion Jenkins UI Automator AWS Device Farm CircleCI Appium Firebase Test Lab STF 今日はAppium + STF + Jenkinsのお話 ※注意※ 用途に応じて使い分けるのが良い
8.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. UIテスティングフレームワーク Espresso ⁃ アプリと同じプロジェクト内にテストコードを書く ⁃ ボタンなどの指定は楽 • [悲報] Test RecorderはAndroid Studio2.2(Preview2)に入らず • 6/9にリリースされたAndroid Studio2.2(Preview3)に入りました UI Automator ⁃ 対象となるアプリ以外の制御も可能 ⁃ API Level 18以上で利用できる ⁃ ボタンなどのidを調べるにはUI Automator Viewerを使用 Appium ⁃ iOS / Androidに対応 ⁃ RspecやJUnitなどが使える
9.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Appium Appium Client Test Script (Ruby / Java etc) Appium Server (node) UI Automator /Selendroid SmartPhone テスト対象アプリ Architecture iOS/Androidに対応 Native App/ Hybrid App / Mobile Webに対応 ⁃ アプリが手に入ればOK Ruby / Java / javascript(node.js) などでテスト コードの記述が可能 ⁃ RspecやJunitなど慣れたTesting Framework を使える
10.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Appium / サンプルアプリ Layout <Button …. android:id=“@+id/button_sample_1” /> <Button …. android:id=“@+id/button_sample_2” /> <EditText …. android:id=“@+id/text_1” /> <EditText …. android:id=“@+id/text_2” /> Action 1. SAMPLE1をclick 2. SAMPLE2をclick 3. 上のEditTextに1を入力 4. 下のEditTextに2を入力 デモ動画
11.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Appium & Espresso サンプルコード Ruby w/appium_lib - button("com.thirata.appium_sample:id/button_sample_1").click - find("com.thirata.appium_sample:id/button_sample_2").click - textfield_exact(com.thirata.appium_sample:id/text_1").type 1 - textfields[1].send_keys("2") Appium Espresso - onView(ViewMatchers.withId(R.id.sample_btn1).perform(ViewActions.click()); - onView(ViewMatchers.withId(R.id.sample_btn2).perform(ViewActions.click()); - onView(ViewMatchers.withId(R.id.sample_text1).perform(ViewActions.replaceText(“1”)); - onView(ViewMatchers.withId(R.id.sample_text1).perform(ViewActions.replaceText(“2”));
12.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Appium / デモ(MERY) 世に出ているアプリでの動作例 • 対象 • MERY • テストケース • loginをしてusernameを確認 デモ動画
13.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストの実行環境の課題 自動テストを実行する環境の面倒さ ⁃ 自動テストを動かす環境に悩んだことはありませんか? あるあるの例 ⁃ Jenkinsにのせるのが大変なので手元のみで動かしている ⁃ Jenkinsで動かしているがJenkinsのマシンに接続された端末固定 で動く • 端末を持っていかれてテストが動かなくなった • 動かしたい端末に交換して動かすなどしている ⁃ 端末側でテストが動いているかわからないのでJenkins側の設定で 頑張っている • Locksとか使っていたり同時ビルド数を1にしたりしている ⁃ API Level x以上の端末だけテスト実行とかSamsungの端末だけテ スト実行とかしたいが出来ていない
14.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 自動テストの実行環境 AWS Device Farm ⁃ 利用できるテスティングフレームワークが限られている • Appium Java(Junit / TestNG) / Python • Calabash • Instrumentation (JUnit, Espresso, Robotium, or any instrumentation-based tests) • UI Automator • Explorer Firebase Test Lab for Android ⁃ 利用できるテスティングフレームワークが限られている • Espresso • Robotium • UI Automator 2.0 • instrumentation STF ⁃ 自前で動かすため運用コストはかかる ⁃ 今ある資源をいかせる
15.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. STF(Smartphone Test Farm) / Device Farm ブラウザから端末を操作することができる リモートデバッグができる etc etc
16.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. STF / デモ STFのさくさくさはご自身でSTFを動かしてご確認ください デモ動画
17.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. STFの機能@2.0.0(beta) 自動テストでの利用も考えAPIを追加 ⁃ 例) • 端末のstatus(利用中 / オンライン etc)の取得・変更 • 端末の情報(OS / Model etc)の取得 GET /api/v1/devices (端末一覧) Curl Sample curl -H "Authorization: Bearer OAUTH-TOKEN" https://stf.example.org/api/v1/devices Response Sample {"success":true,"devices":[{"abi":"armeabi- v7a","airplaneMode":false,"battery":{"health":"good","level":100,"scale":100,"source":"usb","status":"full","temp":27.6,"voltage": 4.348},"browser":{"apps":[{"id":"com.android.chrome/com.google.android.apps.chrome.Main","name":"Chrome","selected":true, "system":true,"type":"chrome","developer":"Google Inc."}],"selected":true},"channel":"d7V3Zoo5B2Kc6MdCrbsvcBABG+w=","createdAt":"2016-01- 26T11:29:20.444Z","display":{"density":3,"fps":60,"height":1920,"id":0,"rotation":0,"secure":true,"size":4.971247673034668,"ur l":"ws://localhost:7400","width":1080,"xdpi":442.45098876953125,"ydpi":443.3450012207031,"inches":5},"manufacturer":"LGE ","model":"Nexus 5","network":{"connected":true,"failover":false,"roaming":false,"subtype":"","type":"WIFI"},"operator":null,"owner":null,"phone": {"iccid":null,"imei":"359250051959219","network":"UNKNOWN","phoneNumber":null},"platform":"Android","presenceChangedAt" :"2016-02- 01T03:36:13.365Z","present":true,"product":"hammerhead","provider":{"channel":"xxxxxx","name":"xxxxxx"},"ready":true,"rem oteConnect":false,"remoteConnectUrl":null,"reverseForwards":[],"sdk":"19","serial":"xxxxx","status":3,"statusChangedAt":"2016- 02-01T03:36:13.216Z","version":"4.4.2","name":"Nexus 5","releasedAt":"2013-11-
18.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. CI環境 Jenkins ⁃ 言わずとしれた定番だが運用コストがかかる ⁃ なんでも出来るがJenkinsおじさんも出来やすい ⁃ 今の最新バージョンは2.8 CircleCI ⁃ 簡単に利用できる優れもの ⁃ 痒いところに手が届かない ⁃ [未承諾広告] 弊社でEnterprise版を導入しました • 6/10(金) CircleCI Meetup@ヒカリエ
19.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Jenkins 2.8 + blueocean plugin https://jenkins.io/blog/2016/05/26/introducing-blue-ocean/ Jenkinsも進化しています
20.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. Androidアプリ開発のテスト環境 今回紹介したテスト環境一式 ⁃ Appium + STF + Jenkins 上記以外に利用しているもの ⁃ テストを並列実行させたい • Appium + Docker ⁃ JenkinsでSTFを使いやすくしたい • STF + Jenkins Plugin
21.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. STF用Jenkins Plugin APIを1つ1つ毎度叩くのは面倒なのでPlugin化 STFのAPIの制御をPlugin側でよしなにしてくれる
22.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. デモ / STF + Jenkins + Appium + Docker 自動テストが2つの端末で動くデモ動画 デモ動画
23.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. まとめ Androidアプリ開発のテスト環境は整ってきている ⁃ やっていないなら是非やりましょう プロダクトに併せて利用するテスト環境を選択しましょう 今回紹介したテスト環境 ⁃ STF + Jenkins + Appium + Docker • 弊社オリジナルはSTF用Jenkins Pluginのみで、改良後に公開します
24.
Copyright © DeNA
Co.,Ltd. All Rights Reserved. 最後に さらに先に進むために SWETは人材を募集しております!! ⁃ 今回話した内容、あえて話してない内容に興味 がある人は是非
Download Now