0

.dll ファイルであるバッチを使用して開始したいコード化された ui テストがあります。

バッチ ファイルから呼び出す理由は、このテストを実行する前にサーバーを再起動する必要があるためです。

それは単純なだけですか、call test.dllそれとも他のことをしなければなりませんか?

更新 コードが見つかりました

Playback.Initialize();
TestProject.CodedUITest1 coded = new TestProject.CodedUITest1();
coded.CodedUITestMethod1();
Playback.Cleanup();

Hereから取得します。プライベート アセンブリから追加された 2 つの参照が欠落しています。

  1. Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.dll
  2. Microsoft.VisualStudio.TestTools.UITest.Extension.IE.dll

これがこれをやろうとしている他の人に役立つことを願っています

4

2 に答える 2

1

exe のように Dll ファイルを実行することはできません。Dll には、プログラムで使用するためのコードが含まれています。これは、1 つのコード ソースを多くのプログラムで使用できることを意味し、コードの複製を節約します。

通常、Dllには、プログラムを介して呼び出すことができる文書化された関数がありますが、自分で構築した場合はわかります:)

Dllを使用するプログラムを見つけて呼び出すか、ドキュメントを見つけてrundll32@PAとして関数を実行してください。提案した。

于 2012-07-13T12:19:45.933 に答える
0

DLL は、アプリケーション プログラムからリンクして呼び出す必要がある動的ライブラリです。すべての DLL には、独自のエクスポートされたインターフェイス、または外部実行可能ファイルから、または別の DLL から呼び出されるエントリ ポイントのコレクションがあります。

Windows には、呼び出し元プログラムの読み込み、エントリ ポイントの検出、および DLL のアンロードを支援する一連の呼び出しが用意されています。この限定された共通機能を超えて、DLL の使用方法、呼び出し規則、パラメーターを渡す方法、パラメーターの型、データを返す方法、同期、通知の方法の無限の組み合わせがあります。イベント、割り込み、マルチスレッドなど、プログラミング モデルのほぼすべての側面で使用されます。

そうは言っても、あなたのDLLが特定のアプリケーションプログラムから呼び出されることが期待されている可能性があるため、厳密で明確に定義されたAPIに従っている可能性があります。そのようなタイプの DLL の 1 つは、 rundll実行可能プログラムで実行することを目的とした Windows システム DLL です。rundll32.exeこの方法で呼び出されるように明示的にプログラムされた DLL から、.dll ファイルにパックされて出荷された関数を起動して呼び出す Windows システム実行可能ファイルです。

TEST.DLL 内で TestFunction を呼び出し、パラメーターとして 1234 を渡すには、次を使用します。

RUNDLL32  TEST.DLL, TestFunction 1234

Rundll は、次のタスクを実行します。

  • LoadLibrary() を介して TEST.DLL をロードします。
  • GetProcAddress() を介して TestFunction 関数に対処します。
  • コマンド ラインの残りの部分を渡し、TestFunction 関数を呼び出します。
  • DLL をアンロードして終了します。
于 2012-07-13T12:12:53.737 に答える