UIAutomation関連覚書
公開日:
:
最終更新日:2015/04/17
Tips UIAutomation
割りと忘れがちなので、自分用備忘録を兼ねて、UIAutomationに関連するtips的なものをまとめてみました。
長くなるので部分はまとめる
// --- よく使うものはまとめる var target = UIATarget.localTarget(); var app = target.frontMostApp();
ログ関連
// スクリプト実行時のログは逐次吐かれるが // UIALogger.logStartからUIALogger.logPass(かlogFail)までの間は、ログをまとめてくれるので見やすくなる UIALogger.logStart("Script start"); // (ここに操作が入る) UIALogger.logPass("Script end");
// スクリーンショットを取る target.captureScreenWithName("screenshot2");
スクリーンショットの出力先は、Instrumentsの右下の”Dispray Settings”タブから設定します
フォルダの設定もちょっとわかりにくいです。フォルダにジャンプするには、フォルダ名の右にある右矢印ボタンをクリック。
スクリーンショットを取るには、左上の記録(赤い丸)ボタンを使って行います。スクリプト単位での実行中(スクリプトエディタの下にある再生ボタン)にはスクリーンショットの撮影は無視されます(ハマりました)。
デバイス別処理関連
// --- iPhoneかどうかチェック。実機では未確認 var isPhone = target.model().match(/iPhone/);
// Popoverを消す。iPadの場合の操作なので、前述のisPhoneを使ったりして条件制御する target.frontMostApp().mainWindow().popover().dismiss();
操作からスクリプトを作成する
スクリプトエディタ(下側セクションのAutomation>Script)を立ち上げて、下の記録ボタンを押すと、アプリケーションが立ち上がって操作を逐次スクリプト化して記録してくれます。
エディタのカーソル位置にスクリプトを挿入する形なので、部分部分で記録、編集・・・とできます。
作成されたスクリプトは半完成状態で、ドロップダウンから幾つか候補が選べる(例えば「エレメント名」で指定するか、「配列添字」で指定するかetc)ようになっていて、矢印部分をクリックして選択、文字列部分をクリック(かダブルクリック)して確定。
スクリプトエディタはXcodeとテーマを共通で持っているものの、標準以外のテーマだと色が被って見難い場合があり難儀します(自分は黒地のtwiliteテーマを使ってたのですが、これだとダメでした)。
全般的に使いづらい印象なので、スクリプト自体は別のエディタで書いて、コピペするなりしたほうが作業が捗ると思います。
関連記事
-
-
Xcode5.1のInterfaceBuilderにおける地味な変更点
iOS7.1に合わせてXcode5.1がリリースされました Xcode Release N
-
-
FormSheetでModalに表示させたビューの高さを変更する
iPadにおいて、FormSheetでModal表示させたビューの高さを変えたい場合の記事。 この
-
-
UITableViewのヘッダに小文字を入れる
UITableViewのセクションヘッダをStoryboardでカスタマイズするという話題を以前掲載
-
-
UISplitViewControllerの仕切り線の色を設定
UISplitViewControllerで、iPadを横向き(Landscape)にしたときの2つ
-
-
Bitbucketの画面の日本語化/コミット時に同時プッシュを行う
前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus
-
-
CALayerの管理
CALayerはNSKeyValueCodingを実装している(Core Animation Ext
-
-
iPadのUIModalPresentationFormSheetでキーボードが閉じない
iPadでUIModalPresentationFormSheet(全画面ではなく、中央にフロートし
-
-
iOS7でカメラ撮影時のステータスバーを消す
UIImagePickerControllerをカメラモードで表示するとステータスバーがカメラの一番
-
-
iOSシミュレータの帯域制限をテストする
iOSシミュレータで通信帯域制限をテストしたいと思ったんですが、Xcode8からXcode7.xとは