kitasuke@trippiece
UIテストしてますか?
UIAutomation -> JavaScript 
KIF -> Objective-C ←これ使います
 Square製のライブラリ 
デモ動画 
 公式ドキュメント 
https://github.com/kif-framework/KIF 
 非公式日本語ドキュメント 
https://gist.github.com/kitasuke/ed6f90e83df3c0653cbf
Viewのタップ座標のタップ長押し 
文字入力・削 
除 
Scroll Swipe 
テーブル 
ビューのセル 
選択 
コレクション 
ビューのアイ 
テム選択 
カメラロール 
から写真選択 
ピッカーの選 
択 
トグルのオ 
ン・オフ 
ポップオー 
バーを閉じる
1. 対象のViewにAccessibilityLabelと 
AccessibilityIdentifierとセットする(Storyboard上/ 
コード上) 
2. アクション実行メソッドをたたく 
e.g. Accessibility e.g. User Defined Runtime Attributes 
e.g. Method of KIF
 APIが実装されてなくてもUIテストが可能
 全画面遷移分のスクリーンショットを保存可能 
フォルダ名:テストケース名 
ファイル名:タイムスタンプ
 全テストケース→ ⌘+U 
 各テストケース→ ⌃+⌥+⌘+U 
* 実行前にiPhoneシミュレーターが起動していな 
いことを確認する
 テストケースが多くなると数分では終わらない 
 そもそも全画像を目で見て確認するのは無理 
↓ 
 理想は、前回のテスト結果との差異を検知する
 PRの度にTravisで全テストケースをはしらせる 
e.g. .travis.yml
 motageコマンドで複数の画像を1枚にまとめ 
montage –tile 1x1 –geometry 640x1136 1.png 2.png tile.png 
 Compositeコマンドで対象画像のdiffをとる 
composite –compose difference 1.png 2.png diff.png 
e.g. 1.png e.g. 2.png e.g. diff.png
 良い点 
容易にUI関連の不具合を見つけられる 
 悪い点 
導入・メンテナンスコストが膨大にか 
かる
iOSにおけるUIテスト@potetotips

iOSにおけるUIテスト@potetotips