一部の iOS アプリケーション プロジェクトでは、CI サーバーが次のプロパティをレポートできるようにしたいと考えています。
- 起動時間
- フレームレート
経時的なグラフと「低水準点」の両方として表示されるため、測定結果が特定の基準内にない場合、ビルドは失敗します。私はすでに必要なもののいくつかを見つけました。
- CI サーバーは Jenkins になります。
- Transporter Chiefを使用して、作成したアプリを iPad に取り込むことができます。
main()
起動時間を測定するために、起動してから離れるまでの時間を見つけることができましたapplication:didFinishLaunchingWithOptions:
。- フレーム レートを測定する
CADisplayLink
には、アプリに を入れて、そのduration
プロパティをサンプリングします。 - これらのテストが JMeter XML を出力する場合、Jenkins はPerformanceプラグインを介して出力を表示できます。
私が解決していないのは、これらのテストをアプリに埋め込んで iPad で起動するにはどうすればよいかということです。上記のように、アプリを iPad にデプロイできますが、テストの結果を収集するためにアプリを起動する方法がわかりません。私の単体テストはシミュレーターで実行されています-パフォーマンステストを実行したくないのは明らかです:-)。
iPad のジェイルブレイクと SSH 経由でのアプリの制御を含む解決策があると思いますが、可能であれば、そのルートをたどりたくありません。あなたがそれを行い、それがどのように機能するかを説明できるなら、私はまだそれについて聞きたい.