私は1ヶ月からこれに苦労しています。誰かがこのシナリオで私を助けてくれますか?
あるサーバーに QTP をインストールし、別のサーバーに ASP.Net Web アプリケーションをインストールしました。C# または VBS コードを使用して Web サーバーから QTP を呼び出そうとしています。どちらのアプローチも機能していません。多くの調査を行った後、QTPを起動しようとしているユーザーをQTPサーバーのCOM設定に追加する必要があることがわかりました。COM設定に自分自身を追加しましたが、このアプローチもうまくいきません。いくつかの調査を行った後、アクセス許可またはファイアウォールの制限に問題がある可能性があることがわかりました。しかし、ネットワーク チームに連絡したところ、サーバー間にファイアウォールの制限がないことがわかりました。以下は、私が使用したC#とVBSのアプローチとその結果です。誰かがこの問題の解決策を知っている場合は、このリクエストを手伝ってください. 前もって感謝します。
VBS アプローチ:
.cs ファイル コード
System.Diagnostics.Process.Start(@"C:\Program Filestest1.vbs");
.vbs ファイル コード
Dim qtApp
Dim qtTest
Dim qtResultsOpt
Set qtApp = CreateObject("QuickTest.Application","Server IP")
qtApp.Launch
qtApp.Visible = True
結果: サーバーでコードが実行されました: エラー メッセージは表示されず、他のサーバーで QTP が呼び出されます。コードがローカルから実行されました: エラー メッセージ Permission denied: 'CreateObject' , 800A0046.
C# コード アプローチ:
Type remoteQTP = Type.GetTypeFromProgID("QuickTest.Application", "Server IP");
QuickTest.Application qtp = (QuickTest.Application)Activator.CreateInstance(remoteQTP);
qtp.Launch();
qtp.Visible = true;
結果: CLSID {2B9B8E92-EBAA-44AF-A23C-9FBD08EAFA54} を持つリモート コンポーネントの COM クラス ファクトリをマシンのサーバー IP アドレスから取得すると、次のエラーが原因で失敗しました: 80070005。