2012-04-16 68 views
0

大家下午好,QTP DLL库 - 参数

我目前正在使用MVC.Net的综合测试门户网站。

我正在尝试将VB自定义通信脚本迁移到C#服务。我已经成功地迁移了许多较新的QTP脚本,但是却遇到了该公司需要的一些遗留脚本。

的QTP脚本本身加载好了到一个自定义的参数是使用下面的代码VB行设置点:

Set oParameters = oQTPApplication.Test.ParameterDefinitions.GetParameters() 
oParameters.Item("sEnvironment").Value = sEnvironmentForDataTable 

一旦代码通过其他各种设置窗口中运行(后成功打开连接到QTP,并撞击所转换的行:

方法1:

var parameters = this.Connection.Test.ParameterDefinitions.GetParameters(); 
parameters["sEnvironment"].Value = this.Test.TestEnvironment; 

方法2:

this.Connection.Test.ParameterDefinitions["sEnvironment"].DefaultValue = this.Test.TestEnvironment; 

无论抛出异常:

System.Runtime.InteropServices.COMException

找不到元素。 (从HRESULT异常:0x8002802B(TYPE_E_ELEMENTNOTFOUND))

在System.RuntimeType.ForwardCallToInvokeMember(字符串成员名称,标志的BindingFlags,对象目标,的Int32 [] aWrapperTypes,MessageData & MSGDATA) 在QTObjectModelLib.ParameterDefinitions.get_Item(对象位置) 在TestLayer.Tests.Utilities.Qtp5Connection.SetTestSpecificParams()

看来,接口试图找到指定的参数,但是在这种情况下,我已经知道它不存在,并希望它添加帕拉姆。在脚本中使用,但为了我的生活 - 我找不到在C#中添加自定义参数的方法。我认为这是工作的VB工作...

任何帮助将大大appartiated。

+0

对不起,刚刚重新阅读,只是为了确认 - 目前的VB脚本确实与自定义参数一起工作,它试图迁移的C#解决方案导致异常 – 2012-04-16 14:37:36

回答

0

自从我发布并找到解决方案以来,我一直在继续研究这个问题。

您确实使用方法1但是,您需要确保已打开预期的脚本。我假设您要连接的QTP脚本需要设置为接收参数。

所以在这里要实现这一点,我已在代码如下步骤:

  1. 打开QTP连接
  2. 打开QTP脚本
  3. 建立回收和资源 - INC PARAM(S )
  4. 运行测试

我希望这将是一些使用的人在这种情况下别人的感受。