SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
2014/11/08 Kamiyama.rb 
@神山バレー・サテライトオフィス・ 
コンプレックス 
Sansan株式会社 辰濱健一
p 辰濱健一( 
 kenichi.tatsuhama) 
p 所属:Sansan株式会社 
Sansan開発部 
p Sansan 
神山ラボ勤務 
p Sansan 
アプリ 
Android 
版専任 
p アプリチームリーダも兼任(リモートから)
p 前々職では、MFC 
で作った 
Windows 
PC向 
けソフトの 
UI 
自動テスト・性能計測を推進 
p 前職では、Android, 
iOS, 
Windows8(C#) 
でのアプリ開発に従事 
p Rubyは初心者 
(Tokushima.rb 
にて今秋から触り始めた 
 実務で使ってないので、数時間/月程度…) 
p → アプリの 
UI 
自動テストに興味アリ
p 趣味は音楽と旅行
やります!ドリブン 
先々週、Kamiyama.rb 
の開催を知り、 
それから 
LT 
の申し込みをしました。 
調査期間、本業の合間の2週間だけです… 
ご容赦下さいm(__)m 
※今月末に 
Tokushima.rb 
でも発表するんですが・・・
p Android専用 
p Robotium ← 
Sansan 
アプリ開発で使ってます! 
p monkeyrunner 
p Espresso 
p など… 
p iOS専用 
p KIF ← 
Sansan 
アプリ開発で使ってます! 
p Kiwi 
p など… 
p ハイブリッド 
p Appium 
p Calabash 
p MonkeyTALK 
p など…
p appium 
Philosophy(意訳) 
p Store 
に上げたバイナリがそのままテストに 
使える 
p テストを記述できる言語の選択肢が広い 
p ここで 
Ruby 
を使ってみた! 
p 端末操作自動化の標準仕様とAPIを使う 
p 大規模で盛んなオープンソースコミュニ 
ティーの努力を集結
http://www.slideshare.net/hugs/selenium-­‐appium より引用
http://www.slideshare.net/hugs/selenium-­‐appium より引用
p Sansan 
アプリ(Android版)のサイン 
アップ画面のテスト 
p 氏名入力欄のバリデート 
p 操作手順 
p サインイン画面から「新規登録」ボタンを 
タップして、サインアップ画面に遷移 
p 未入力で「次へ」タップでエラー 
p 姓に26文字入力するとエラー(25文字まで)
「新規ユーザ登録」 
をタップ 
姓フィールドに 
空文字で「次へ」 
姓フィールドに 
文字列長超過で 
「次へ」
肝は、 
・driver.find_element 
・Element.click 
・Element.send_keys
p PC上でappiumクライアントを立ち上げる 
p Android 
エミュレータを立ち上げる 
p ターミナルで下記を実行 
> 
rspec 
hoge.rb
p “姓 
は必須です。” の期待値を 
 ↓ 
”姓 
は必須ですよ。” に変えた
p http://appium.io/ 
p http://www.slideshare.net/hugs/ 
selenium-­‐appium
p テスト項目の展開 
p iOS 
でもやってみる 
p Jenkins 
連携
ご静聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Kanako Kobayashi
 
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたらもしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたらNozomi Ito
 
マルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutマルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutasakahara
 
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべてApple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべてMasaru Gushiken
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことasakahara
 
ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化Nozomi Ito
 
AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発Yusuke Goto
 
Uiテスト@yidev
Uiテスト@yidevUiテスト@yidev
Uiテスト@yidevYusuke Kita
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録Fumiya Sakai
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Tomoki Hasegawa
 
Xamarin.iOS 開発者から見た Swift
Xamarin.iOS 開発者から見た SwiftXamarin.iOS 開発者から見た Swift
Xamarin.iOS 開発者から見た SwiftTomohiro Suzuki
 
ゲームエンジンの中の話
ゲームエンジンの中の話ゲームエンジンの中の話
ゲームエンジンの中の話Masayoshi Kamai
 
多言語学習アプリを作成してみよう
多言語学習アプリを作成してみよう多言語学習アプリを作成してみよう
多言語学習アプリを作成してみようkorune ☆
 
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性があるKanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性があるKoichi Sakata
 
iOSアプリエンジニアの最近
iOSアプリエンジニアの最近iOSアプリエンジニアの最近
iOSアプリエンジニアの最近Kengo Suzuki
 
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)Fumiya Sakai
 
iOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワードiOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワードYuki Asai
 
App inventor20分勝負
App inventor20分勝負App inventor20分勝負
App inventor20分勝負Takeaki Tada
 

Was ist angesagt? (20)

Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2
 
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたらもしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたら
 
マルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutマルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layout
 
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべてApple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
 
iOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいことiOSでライブラリを提供する際に気をつけたいこと
iOSでライブラリを提供する際に気をつけたいこと
 
ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化ディープラーニングとAppiumでテストを自動化
ディープラーニングとAppiumでテストを自動化
 
cochica
cochicacochica
cochica
 
AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発AngularでAmebaコミュニティサービス開発
AngularでAmebaコミュニティサービス開発
 
Uiテスト@yidev
Uiテスト@yidevUiテスト@yidev
Uiテスト@yidev
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録
 
無料体験セミナー
無料体験セミナー無料体験セミナー
無料体験セミナー
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
 
Xamarin.iOS 開発者から見た Swift
Xamarin.iOS 開発者から見た SwiftXamarin.iOS 開発者から見た Swift
Xamarin.iOS 開発者から見た Swift
 
ゲームエンジンの中の話
ゲームエンジンの中の話ゲームエンジンの中の話
ゲームエンジンの中の話
 
多言語学習アプリを作成してみよう
多言語学習アプリを作成してみよう多言語学習アプリを作成してみよう
多言語学習アプリを作成してみよう
 
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性があるKanJava 201804 Career 思い込みから逃れた先には、可能性がある
KanJava 201804 Career 思い込みから逃れた先には、可能性がある
 
iOSアプリエンジニアの最近
iOSアプリエンジニアの最近iOSアプリエンジニアの最近
iOSアプリエンジニアの最近
 
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
 
iOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワードiOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワード
 
App inventor20分勝負
App inventor20分勝負App inventor20分勝負
App inventor20分勝負
 

Ähnlich wie Rubyを使ったスマホアプリのUIテスト

わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようYasuhiko Yamamoto
 
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Yasuyuki Ogawa
 
LibreOffice API について
LibreOffice API についてLibreOffice API について
LibreOffice API について健一 辰濱
 
「ふくてん」に来てんね
「ふくてん」に来てんね「ふくてん」に来てんね
「ふくてん」に来てんねHideaki Aoyagi
 
Rainbow appsshonanseminar20121222
Rainbow appsshonanseminar20121222Rainbow appsshonanseminar20121222
Rainbow appsshonanseminar20121222Haruyoshi Kuwamura
 
Swift知識ゼロから3週間ですこし凝った地図アプリを作った話
Swift知識ゼロから3週間ですこし凝った地図アプリを作った話Swift知識ゼロから3週間ですこし凝った地図アプリを作った話
Swift知識ゼロから3週間ですこし凝った地図アプリを作った話Makoto Inomata
 
高校教科「情報」におけるLibreOfficeの適用可能性検討
高校教科「情報」におけるLibreOfficeの適用可能性検討高校教科「情報」におけるLibreOfficeの適用可能性検討
高校教科「情報」におけるLibreOfficeの適用可能性検討Jun Iio
 
ハードウエア教材における「失敗」の意義
ハードウエア教材における「失敗」の意義ハードウエア教材における「失敗」の意義
ハードウエア教材における「失敗」の意義Junichi Akita
 
D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介IGDA Japan
 
前任者から引き継いだ Eight Android アプリ内部の改善
前任者から引き継いだ Eight Android アプリ内部の改善前任者から引き継いだ Eight Android アプリ内部の改善
前任者から引き継いだ Eight Android アプリ内部の改善健一 辰濱
 

Ähnlich wie Rubyを使ったスマホアプリのUIテスト (11)

わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
 
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
 
LibreOffice API について
LibreOffice API についてLibreOffice API について
LibreOffice API について
 
「ふくてん」に来てんね
「ふくてん」に来てんね「ふくてん」に来てんね
「ふくてん」に来てんね
 
Rainbow appsshonanseminar20121222
Rainbow appsshonanseminar20121222Rainbow appsshonanseminar20121222
Rainbow appsshonanseminar20121222
 
Swift知識ゼロから3週間ですこし凝った地図アプリを作った話
Swift知識ゼロから3週間ですこし凝った地図アプリを作った話Swift知識ゼロから3週間ですこし凝った地図アプリを作った話
Swift知識ゼロから3週間ですこし凝った地図アプリを作った話
 
高校教科「情報」におけるLibreOfficeの適用可能性検討
高校教科「情報」におけるLibreOfficeの適用可能性検討高校教科「情報」におけるLibreOfficeの適用可能性検討
高校教科「情報」におけるLibreOfficeの適用可能性検討
 
ハードウエア教材における「失敗」の意義
ハードウエア教材における「失敗」の意義ハードウエア教材における「失敗」の意義
ハードウエア教材における「失敗」の意義
 
D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介D.N.A. Softwares ご紹介
D.N.A. Softwares ご紹介
 
前任者から引き継いだ Eight Android アプリ内部の改善
前任者から引き継いだ Eight Android アプリ内部の改善前任者から引き継いだ Eight Android アプリ内部の改善
前任者から引き継いだ Eight Android アプリ内部の改善
 
Mycolors
MycolorsMycolors
Mycolors
 

Mehr von 健一 辰濱

地方創生ワカモノ会合
地方創生ワカモノ会合地方創生ワカモノ会合
地方創生ワカモノ会合健一 辰濱
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン健一 辰濱
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O 健一 辰濱
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について健一 辰濱
 
Android 開発の昔と今
Android 開発の昔と今Android 開発の昔と今
Android 開発の昔と今健一 辰濱
 
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩健一 辰濱
 
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支えるFirebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える健一 辰濱
 
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-onGDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on健一 辰濱
 
Firebase Summit 2019 Recap
Firebase Summit 2019 RecapFirebase Summit 2019 Recap
Firebase Summit 2019 Recap健一 辰濱
 
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話健一 辰濱
 
Firebase hands on in Matsuyama
Firebase hands on in MatsuyamaFirebase hands on in Matsuyama
Firebase hands on in Matsuyama健一 辰濱
 
インドのインターネット環境 との戦い方
インドのインターネット環境との戦い方インドのインターネット環境との戦い方
インドのインターネット環境 との戦い方健一 辰濱
 
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法健一 辰濱
 
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 ClosingDroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing健一 辰濱
 
企業スポンサー
企業スポンサー企業スポンサー
企業スポンサー健一 辰濱
 
参加したセッションの ピックアップ
参加したセッションのピックアップ参加したセッションのピックアップ
参加したセッションの ピックアップ健一 辰濱
 
CFP(Call For Paper) を出す話
CFP(Call For Paper)を出す話CFP(Call For Paper)を出す話
CFP(Call For Paper) を出す話健一 辰濱
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会健一 辰濱
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る健一 辰濱
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく健一 辰濱
 

Mehr von 健一 辰濱 (20)

地方創生ワカモノ会合
地方創生ワカモノ会合地方創生ワカモノ会合
地方創生ワカモノ会合
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
 
Android 開発の昔と今
Android 開発の昔と今Android 開発の昔と今
Android 開発の昔と今
 
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
 
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支えるFirebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
 
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-onGDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
 
Firebase Summit 2019 Recap
Firebase Summit 2019 RecapFirebase Summit 2019 Recap
Firebase Summit 2019 Recap
 
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
 
Firebase hands on in Matsuyama
Firebase hands on in MatsuyamaFirebase hands on in Matsuyama
Firebase hands on in Matsuyama
 
インドのインターネット環境 との戦い方
インドのインターネット環境との戦い方インドのインターネット環境との戦い方
インドのインターネット環境 との戦い方
 
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
 
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 ClosingDroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
 
企業スポンサー
企業スポンサー企業スポンサー
企業スポンサー
 
参加したセッションの ピックアップ
参加したセッションのピックアップ参加したセッションのピックアップ
参加したセッションの ピックアップ
 
CFP(Call For Paper) を出す話
CFP(Call For Paper)を出す話CFP(Call For Paper)を出す話
CFP(Call For Paper) を出す話
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
 

Rubyを使ったスマホアプリのUIテスト