自 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。代码从本地运行:错误消息权限被拒绝:'CreateObject',800A0046。
C#代码方法:
Type remoteQTP = Type.GetTypeFromProgID("QuickTest.Application", "Server IP");
QuickTest.Application qtp = (QuickTest.Application)Activator.CreateInstance(remoteQTP);
qtp.Launch();
qtp.Visible = true;
结果: 从机器服务器 IP 地址检索具有 CLSID {2B9B8E92-EBAA-44AF-A23C-9FBD08EAFA54} 的远程组件的 COM 类工厂失败,原因是以下错误:80070005。