Apple の Instruments (iPhone シミュレーター) で UI Automation を実行しようとすると、実行するスクリプトがいくつかあります。問題は、前のスクリプトが終了したときに、座って各スクリプトを実行する必要があることです。それでも座って各スクリプトを次々と実行する必要がある場合、自動化の用途は何だろうか。
ワンクリックで複数のスクリプトを実行する方法を教えてもらえますか (またはありますか)。スクリプトごとに記録ボタンを実行する必要はありませんか?
Apple の Instruments (iPhone シミュレーター) で UI Automation を実行しようとすると、実行するスクリプトがいくつかあります。問題は、前のスクリプトが終了したときに、座って各スクリプトを実行する必要があることです。それでも座って各スクリプトを次々と実行する必要がある場合、自動化の用途は何だろうか。
ワンクリックで複数のスクリプトを実行する方法を教えてもらえますか (またはありますか)。スクリプトごとに記録ボタンを実行する必要はありませんか?
コマンドラインから実行できます-すべてのスクリプトをフォルダーに配置し、shスクリプトを作成します
例:
FILES=`find <<insert script location>> -iregex '.*\(js\)' `
for script in $FILES
do
echo "Processing $script
instruments -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate /"<<insert app location>>/App.app" -e UIASCRIPT $script -e UIARESULTSPATH "<<insert Result path>>" >> "results.txt"
done
コマンド ラインからインストゥルメントを起動できるため、bash スクリプトを使用してバッチ モードでテストを実行できます。このようなもの:
#!/bin/bash
instruments -t "$UIA_TRACETEMPLATE_PATH" "$APP_PATH" -e UIASCRIPT "$SCRIPT1_PATH" -e UIARESULTSPATH "$OUTPUT1_PATH"
instruments -t "$UIA_TRACETEMPLATE_PATH" "$APP_PATH" -e UIASCRIPT "$SCRIPT2_PATH" -e UIARESULTSPATH "$OUTPUT2_PATH"
#etc
このアプローチの利点は、すべてのテストの前に bash スクリプトがインストゥルメントを再起動するため、テストが分離されることです。最初のテストが中止されても、実行は次のテストで続行されます。
私が知っているように、UIAutomation は単一プロセスのアプリケーションであり、複数のテスト/デバイスを並行して実行することはできません。
ここで詳細を読むことができます: Instruments オートメーション トレースは 1 つのターゲット接続のみを許可しますか?
また、別のユーザーで自動化を実行しようとしましたが、成功しませんでした。タスクには、仮想マシンまたは複数の mac mini を使用できます。