大家下午好
我目前正在使用 MVC.Net 开发一个集成测试门户。
我正在尝试将 VB 自定义通信脚本迁移到 C# 服务。我已经成功迁移了一些较新的 QTP 脚本,但是却卡在了公司需要的几个旧脚本上。
QTP 脚本本身可以正常加载,直到使用以下 VB 代码行设置自定义参数:
Set oParameters = oQTPApplication.Test.ParameterDefinitions.GetParameters()
oParameters.Item("sEnvironment").Value = sEnvironmentForDataTable
一旦代码运行了各种其他设置(在成功打开并连接到 QTP 之后,并点击转换后的行:
方法一:
var parameters = this.Connection.Test.ParameterDefinitions.GetParameters();
parameters["sEnvironment"].Value = this.Test.TestEnvironment;
方法二:
this.Connection.Test.ParameterDefinitions["sEnvironment"].DefaultValue = this.Test.TestEnvironment;
两者都抛出异常:
System.Runtime.InteropServices.COMException
未找到元素。(来自 HRESULT 的异常:0x8002802B (TYPE_E_ELEMENTNOTFOUND))
在 System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData) 在 QTObjectModelLib.ParameterDefinitions.get_Item(Object Position) 在 TestLayer.Tests.Utilities.Qtp5Connection.SetTestSpecificParams()
界面似乎正在尝试查找指定的参数,但是在这种情况下,我已经知道它不存在并希望它添加参数。要在脚本中使用,但对于我的一生 - 我找不到在 C# 中添加自定义参数的方法。我假设这是在 VB 工作时工作的......
任何帮助将不胜感激。