2011-12-20 7 views
4

を起動すると、Macの主要機能とは異なる引数を持つiOSアプリケーションを繰り返し起動します。簡単にするために、argcとしてファイルを取得し、テストする必要がある100個のファイルがあるとしましょう。理論的には、私が再現したいと思うのは、xcodeビルド&の動作です - デバイス上の、jailbrokenではなく;アプリケーションはハードウェアに密接に結びついているため、シミュレータだけでは十分ではありません。アプリケーションのテストを自動化するために、Mac OS XコンソールのiOSアプリケーション

似たような処理を行うページがいくつかありますが、そのうちのどれもデバイスを使用していないため、実際にコンソール上のコマンドラインがどのように表示されるかは実際には説明できません。

1)http://blog.carbonfive.com/2011/04/06/running-xcode-4-unit-tests-from-the-command-line/

このページは、最終的に、シミュレータで実行ユニットテストを設定します。彼は>ただ走る

「スクリプトの実行」はユニットテストのビルドターゲットの位相を構築することを言う「$ {SYSTEM_DEVELOPER_DIR} /ツール/ RunUnitTests」

私がいることを確認しますが、どちらに進みますRunPlatformUnitTestsもRunUnitTestsもXcode 4から実行されます(スクリプトの名前を変更して確認しました)。

2)http://longweekendmobile.com/2011/04/17/xcode4-running-application-tests-from-the-command-line-in-ios/

このページは1)したところ拾うだけシミュレータ用のビルドとアプリが実際に起動される方法を指定しません。それはコマンドラインから構築する方法を説明しています。

3)Debugging iOS app built from commandline

私はXcodeの4に表示することで、アプリケーションに署名および検証を行うに停止するビルドフェーズ、です。次に表示されるのは、デバイス上で動作するgdbデバッガです。しかし、私はdebugserverにアクセスする方法がわかりません。私はiPhoneをjailbrakeしていないので、デバッグサーバーもIPアドレスも何もアクセスできません。私は確認することができますどのような

は、GDBがxcode4 /プラットフォームから呼び出されていることである/ iPhoneOS.platformリモートデバッガは、コマンドラインのリモートGDBのために...

答えて

2

何とか何か、に自分自身を添付し(あるいは単にデバイスにアップロードする必要がありますので、 )あなたは何が必要にフォーク最も近いを選択し、この小さなツールを使用することができ、原作者はもうそれをサポートしていません。あなたがあるとして、それを使用することができないかもしれない https://github.com/ghughes/fruitstrap

(私はGDBを微調整しなければなりませんでした私の使用のためのパラメータ)が、それは良いスタートです。あなたはさらに、自動的にこのスクリプトを実行

for i in $(system_profiler SPUSBDataType | grep "Serial Number: " | grep -Po "[A-Za-z0-9]{40,}$") ; do 
    echo "Installing on: $i" 
    #use fruitstrap with device $i 
end 

で物事を自動化することができ

これは単に、すべてのUSBポートをチェックして、現在のiOSデバイスに接続されているものだけを維持し、そのUDIDを返します。

そこから、アプリのいくつかの異なる引数を使ってテストを自動化できるはずです。

関連する問題