Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MagicPodでFlutter アプリをテストする
Search
mwakizaka
July 31, 2023
Technology
0
2.2k
MagicPodでFlutter アプリをテストする
2023.7.14に開催された「MagicPodユーザーLT会」の資料です。
https://trident-qa.connpass.com/event/283709/
mwakizaka
July 31, 2023
Tweet
Share
More Decks by mwakizaka
See All by mwakizaka
Appiumテストの失敗原因調査のコツと実践
mwakizaka
0
42
Flutterアプリの E2Eテストツール事情
mwakizaka
1
3k
Other Decks in Technology
See All in Technology
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
870
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.6k
SRE with AI:実践から学ぶ、運用課題解決と未来への展望
yoshiiryo1
1
600
CDK Vibe Coding Fes
tomoki10
1
670
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
490
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
200
自分がLinc’wellで提供しているプロダクトを理解するためにやったこと
murabayashi
1
110
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
350
データ戦略部門 紹介資料
sansan33
PRO
1
3.3k
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
250
Introduction to Bill One Development Engineer
sansan33
PRO
0
270
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
282
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
4 Signs Your Business is Dying
shpigford
184
22k
Raft: Consensus for Rubyists
vanstee
140
7k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
Transcript
MagicPodでFlutter アプリをテストする 2023.07.14
About me • 脇坂 雅幸 (Wakizaka Masayuki) • ソフトウェアエンジニア at
MagicPod • 経歴: iPhoneアプリ開発 -> Seleniumer -> テストエンジニア -> テストマネジャー -> 現職 • OSS: Appium/Chronium/Android コントリビューター • テニス歴: 6年 (とある草⼤会でついに優勝)
本⽇のお話 • 最近お問い合わせの多いFlutterアプリのテスト • 正式な公開には⾄っていないものの Flutterアプリ向けのガイドラインを作りました (近⽇公開予定) • そこからお話をします
1. MagicPodとFlutterアプリ 2. テストしてみた
1. MagicPodとFlutterアプリ 2. テストしてみた
Flutterとは • Googleが2017年に発表したオープンソースのマルチプ ラットフォームの開発フレームワーク • Android / iOS / Web
/ Windows / macOS / Linuxの6つの アプリを全く同じソースコードで開発可能 • Flutterのプログラミング⾔語にはDartというコンパイル型 ⾔語が採⽤されている https://zenn.dev/kazutxt/books/flutter_practice_introduction/viewer/03_chapter1_introduction 1. MagicPodとFlutterアプリ
Flutterアプリのサポート状況 • 2020年11⽉に問い合わせを頂いて以来、積年の課題 https://github.com/Magic-Pod/japanese-issue-and-doc/issues/242 1. MagicPodとFlutterアプリ
Flutterアプリテストにおける課題 • Androidで⽂字⼊⼒ができない • iOS実機でページソースがとれない 1. MagicPodとFlutterアプリ
Flutter 3.0 で潮⽬が変わった? https://github.com/flutter/flutter/issues/18060#issuecomment-1251740879 1. MagicPodとFlutterアプリ Flutter 3.0からiOS実機でテストできるようになった! (脇坂による超要約)
実は既に事例もある ⾮エンジニアでもできる!FlutterアプリでMagicPodの⾃動テスト実⾏ 1. MagicPodとFlutterアプリ
લճ ͷϛʔτΞοϓ https://speakerdeck.com/nozomiito/zui-jin-nomagicpodmatome?slide=38 1. MagicPodとFlutterアプリ
1. MagicPodとFlutterアプリ 2. テストしてみた
テスト条件 • テスト対象アプリ - Flutter Catalog (Google Play Store、iOS App
Store) - Flutter Gallery (Google Play Store) • 環境 - クラウド端末: iPhone 12 (iOS 16.1), Pixel 3 (Android 12) - SauceLabs: iPhone 11 Pro (iOS 16), Google Pixel 6 or 7 (Android 13.0) - Browserstack: iPhone 14 (iOS 16), Google Pixel 7 (Android 13.0) 2. テストしてみた
動作確認済のコマンド • 画⾯操作: タップ、フリック、スワイプ、 フリーハンドで図形を描画、 表⽰されるまでスワイプ、位置指定タップ • 画⾯⼊⼒: テキスト⼊⼒、キーボードキー⼊⼒、スイッチ操作 2.
テストしてみた
問題ありコマンド MagicPod Browserstack SauceLabs Android iOS Android iOS Android iOS
ダブルタップ ✅ ⚠ ✅ ⚠ ✅ ✅ ドラッグ & ドロップ ✅ ⚠ ✅ ⚠ ✅ ⚠ ⻑押し & 移動 ✅ ✅ ✅ ✅ ✅ ⚠ ピンチアウト ✅ ✅ ✅ ✅ ✅ ⚠ ピンチイン ✅ ✅ ✅ ✅ ✅ ⚠ ⻑押し ✅ ⚠ ✅ ⚠ ✅ ⚠ 画⾯中央をマルチタップ操作 ❌ ✅ ❌ ✅ ❌ ⚠ ピッカー値⼊⼒ ❌ ❌ ❌ ❌ ❌ ❌ UI要素の値を取得 ⚠ ✅ ⚠ ✅ ⚠ ✅ WebViewテスト ✅ ✅ ⚠ ⚠ ⚠ ⚠ ✅: 動作確認済み ⚠: ⼀部問題あり ❌: 動作未検証 2. テストしてみた
Flutter 3.0はすべてを解決する? そうとも⾔えない 2. テストしてみた
Flutterアプリテストにおける課題 (再掲) • Androidで⽂字⼊⼒ができない -> 解決 • iOS実機でページソースがとれない -> 解決
2. テストしてみた
Flutterアプリテストにおける新しい課題 • テストケース側で対応が必要 - iOS/Androidでテキスト⼊⼒に失敗する場合がある - iOSでタップに失敗する場合がある - AndroidでUI要素の値が取れない •
アプリ側で対応が必要 - UI要素の座標が⼤きくとれる場合がある - ⼀部のUI要素が認識できない 2. テストしてみた
まとめ • Flutter 3.0により、Flutterアプリのテストが実施しやすくなった • ごく基本的なコマンドは⼀通り動作する ただし、 • テストケースの作り⽅に⼀部コツが必要 •
Flutterアプリ側で対応が必要な部分もある • FlutterアプリをMagicPodでテストしてみたい⽅にはFlutterアプリ向 けのガイドラインをお配りしております! • ご希望の⽅はMagicPodのCSチームにお問い合わせください!!
EOF
今後も継続的に 改善を進めていきます!