*

UIAutomation関連覚書

公開日: : 最終更新日:2015/04/17 Tips

割りと忘れがちなので、自分用備忘録を兼ねて、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”タブから設定します
UIAutomationTips2

フォルダの設定もちょっとわかりにくいです。フォルダにジャンプするには、フォルダ名の右にある右矢印ボタンをクリック。
UIAutomationTips3

スクリーンショットを取るには、左上の記録(赤い丸)ボタンを使って行います。スクリプト単位での実行中(スクリプトエディタの下にある再生ボタン)にはスクリーンショットの撮影は無視されます(ハマりました)。

デバイス別処理関連

// --- iPhoneかどうかチェック。実機では未確認
var isPhone = target.model().match(/iPhone/);
// Popoverを消す。iPadの場合の操作なので、前述のisPhoneを使ったりして条件制御する
 target.frontMostApp().mainWindow().popover().dismiss();

操作からスクリプトを作成する

スクリプトエディタ(下側セクションのAutomation>Script)を立ち上げて、下の記録ボタンを押すと、アプリケーションが立ち上がって操作を逐次スクリプト化して記録してくれます。
エディタのカーソル位置にスクリプトを挿入する形なので、部分部分で記録、編集・・・とできます。
作成されたスクリプトは半完成状態で、ドロップダウンから幾つか候補が選べる(例えば「エレメント名」で指定するか、「配列添字」で指定するかetc)ようになっていて、矢印部分をクリックして選択、文字列部分をクリック(かダブルクリック)して確定。
スクリプトエディタはXcodeとテーマを共通で持っているものの、標準以外のテーマだと色が被って見難い場合があり難儀します(自分は黒地のtwiliteテーマを使ってたのですが、これだとダメでした)。
全般的に使いづらい印象なので、スクリプト自体は別のエディタで書いて、コピペするなりしたほうが作業が捗ると思います。

関連記事

Bitbucketの画面の日本語化/コミット時に同時プッシュを行う

前回の記事の続きで、Bitbucketの画面の日本語化と、Xcodeでコミットするときに同時にpus

記事を読む

コードでiPhone6 Plusを識別する簡単な方法

表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu

記事を読む

CALayerの管理

CALayerはNSKeyValueCodingを実装している(Core Animation Ext

記事を読む

iOS6時代のアプリのiOS7への対応

やや古い情報になるが、iOS7対応に関して自分がやったことの覚え書き。いろんな所から拾って来た情

記事を読む

アプリ内で自動スリープの設定を無効化する

「設定」アプリ内で設定したスリープ時間設定を無効にするためのコード。 アプリがバックグラウンドにな

記事を読む

メソッドの呼び出し元を調べる

特定のメソッドに関して、そのメソッドをコールしているメソッド群を調べるための手順。 (1)調べたい

記事を読む

StoryboardからPopoverを作っても位置合わせコードは必要

これだけだとわかりづらいんですが。 XcodeのStoryboardから、Segueを"Prese

記事を読む

NSStringのフォーマット書式

Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな

記事を読む

WSCoachMarksViewをSwiftで使う場合の手順

Objective-Cで記述されてるライブラリ全般に当てはまることもあるんですが、個別でやることも含

記事を読む

NSAttributedStringをローカライズする方法

NSAttributedStringをLocalizeするうまい方法はないものかと探したら、これが手

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑