5

Apple の Instruments (iPhone シミュレーター) で UI Automation を実行しようとすると、実行するスクリプトがいくつかあります。問題は、前のスクリプトが終了したときに、座って各スクリプトを実行する必要があることです。それでも座って各スクリプトを次々と実行する必要がある場合、自動化の用途は何だろうか。

ワンクリックで複数のスクリプトを実行する方法を教えてもらえますか (またはありますか)。スクリプトごとに記録ボタンを実行する必要はありませんか?

4

5 に答える 5

3

コマンドラインから実行できます-すべてのスクリプトをフォルダーに配置し、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
于 2013-09-16T06:30:36.030 に答える
2

コマンド ラインからインストゥルメントを起動できるため、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 スクリプトがインストゥルメントを再起動するため、テストが分離されることです。最初のテストが中止されても、実行は次のテストで続行されます。

于 2013-09-12T23:45:10.183 に答える
1

私が知っているように、UIAutomation は単一プロセスのアプリケーションであり、複数のテスト/デバイスを並行して実行することはできません。

ここで詳細を読むことができます: Instruments オートメーション トレースは 1 つのターゲット接続のみを許可しますか?

また、別のユーザーで自動化を実行しようとしましたが、成功しませんでした。タスクには、仮想マシンまたは複数の mac mini を使用できます。

于 2013-10-01T11:20:27.307 に答える