2

現在、自動テスト(CodedUI)の実行が少し遅いことに気づいています。VS2010を実行するときに、パフォーマンスプロファイリングツールを実行したいと思います。RedGateのANTsProfilerを使用しようとしましたが、どのプロセス(または他のプロセス)に接続するのか混乱しています。

私が最も近かったのは、コマンドラインからプロファイラーを起動し、プロセス引数としていくつかのテストを実行するMstest.exe呼び出しを行うことでした。これは、VSメソッドのパフォーマンスのみを返し、自分のテストコードは返しません。

//e.g
Profile.exe /e:"Mstest /testcontainer:Tests\bin\debug\CodedUITests.dll /test:Login /unique" /csv:"C:\testing\results.csv"

このコマンドはここここから作成しました。

CPU /メモリプロファイラーを使用して(ローカルまたはその他の方法で)テストのグループを開始し、結果を読み取るためのクリーンな方法を知っている人はいますか?

優先順に使用可能なマシン:Windows 7 / XP / Server 2008 R2
実行可能:VS2010、またはビルドの一部として(TFS /ラボ管理)

4

2 に答える 2

3

さらに読んだ後、プロファイラーが実行時に自分のメソッドについて知るために、バイナリをインストルメント化する必要があることがわかりました。テストdllをインストルメント化されたものに変換するVSInstrを使用してこれを行いました。次に、上記のコマンドラインでプロファイラーを実行すると、プロファイラーが機能します。

すなわち

  • 走る:VSinstr.exe Your.Tests.dll
  • ANTsプロファイラーを開きます。
  • .Net実行可能ファイルとしてMstest.exeを選択します。
  • テストプロジェクトのbin\Debugフォルダーを作業ディレクトリとして設定します。
  • 引数の場所:
    /testcontainer:C:\...\YOURTests\bin\debug\Your.Tests.dll /test:LoginTest
于 2013-01-18T06:00:52.680 に答える
0

テストが厄介な方法で爆発しないとかなり確信している場合/noisolationは、mstestに渡す引数に追加することもできます。つまり、あなたのコマンドは、

Profile.exe /e:"Mstest" /args:"/testcontainer:Tests\bin\debug\CodedUITests.dll /test:Login /unique /noisolation" /csv:"C:\testing\results.csv" /data:c:\testing\moodilymooh

別の考えとして、profileコマンドに追加/dataして、GUIから再生できるapp [0-9]+resultsファイルを出力させることができます。

于 2015-03-29T14:58:26.520 に答える