51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2699|回复: 10
打印 上一主题 下一主题

[原创] QTObjectModel棘手问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-11-9 19:26:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
'************************************************************************************************************************
'Description:
'
'This example opens a test with predefined parameters,
' gets a collection of parameter definitions, Loops on it and display each parameter details,
' gets a collection of run-time parameters, change the value of one of them, run the test with parameters,
' after the test run - display the value of one of the out parameters.
'
'Assumptions:
' the test D:\Tests\Mytest contain in parameter called "InParam1" and out parameter called "OutParam1"
'************************************************************************************************************************


Dim qtApp 'As QuickTest.Application ' Declare the Application object variable
Dim pDefColl 'As QuickTest.ParameterDefinitions ' Declare a Parameter Definitions collection
Dim pDef ' As QuickTest.ParameterDefinition ' Declare a ParameterDefinition object
Dim rtParams 'As QuickTest.Parameters ' Declare a Parameters collection
Dim rtParam ' As QuickTest.Parameter ' Declare a Parameter object
'Dim cnt, Indx As Integer

Set qtApp = CreateObject("QuickTest.Application") ' Create the Application object
qtApp.Launch ' Start QuickTest
qtApp.Visible = True ' Make the QuickTest application visible

qtApp.Open "D:\Tests\MyTest"

' Retrieve the parameters collection defined for the test.
Set pDefColl = qtApp.Test.ParameterDefinitions

cnt = pDefColl.Count
Indx = 1

' Display the names and values of each of the parameters in the collection.
While Indx <= cnt
    Set pDef = pDefColl.Item(Indx)
    MsgBox "Param name: " & pDef.Name & "; Type: " & pDef.Type & "; InOut: " & pDef.InOut & "; Description: " _
        & pDef.Description & "Default value: " & pDef.DefaultValue
    Indx = Indx + 1
Wend

Set rtParams = pDefColl.GetParameters() ' Retrieve the Parameters collection defined for the test.

Set rtParam = rtParams.Item("InParam1") ' Retrieve a specific parameter.
rtParam.Value = "Hello" ' Change the parameter value.

qtApp.Test.Run , True, rtParams ' Run the test with changed parameters.

MsgBox rtParams.Item("OutParam1").Value ' Display the value of an output parameter after the test runs.

脚本运行的时候总是有错误。
Set pDefColl = qtApp.Test.ParameterDefinitions
这句运行需要QTP中对Test究竟要怎样的设置?
望大侠指点迷津。谢谢!

[ 本帖最后由 dezhao_huang 于 2005-11-21 12:55 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-11-10 09:37:28 | 只看该作者
我猜你应该是取不到parameter definitions
才会失败
这个脚本是你自己写的吗?
还是自带的例子!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-11-10 10:26:57 | 只看该作者
Originally posted by dezhao_huang at 2005-11-9 07:26 PM:
'************************************************************************************************************************
脚本运行的时候总是有错误。
Set pDefColl = qtApp.Test.ParameterDefinitions
这句运行需要QTP中对Test究竟要怎样的设置?
望大侠指点迷津。谢谢!


哪里出错了呢?楼主是不是能附上一些描述啊?
至少要说说是什么错误吧?

即便有大虾,也要知道迷津在何处啊:)呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-11-10 10:43:20 | 只看该作者
to QA_BAY:
这是ParameterDefinition Object 中的代码。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-11-10 12:01:57 | 只看该作者
谢谢啦.我回去找找!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2005-11-21 09:47:25 | 只看该作者
多谢两位热心版主!问题我已经解决了,我在测脚本的时候没有设置Test对应的参数,所以取不到定义集合,只怪这个自带的例子说的不详细。呵呵。
不知道QTObjectModel对象模型哪位有使用的经验啊。我做的一个小工具里需要用到它,在使用Test.Open和Test.Run的时候偶尔会有QTP内存读写错误。稍后附上我的Code。
谢谢啦!

[ 本帖最后由 dezhao_huang 于 2005-11-21 10:08 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2005-11-21 12:49:05 | 只看该作者
具体表现是QTP失去响应,以只读方式打开Test的时候,使用QTObjectModel里的Open方法。如果第一次打开的是Test1(read only方式),然后再打开一次,QTP就失去响应了,除非右键等方式激活一下QTP。况且我的程序设定QTP Application的Visible是FALSE。这个问题困扰我很久了。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2005-11-21 12:51:23 | 只看该作者
//HRESULT Open ( _bstr_t TestPath, VARIANT_BOOL OpenInReadOnlyMode, VARIANT_BOOL SaveCurrent )
HRESULT ResultRet = g_spApp->Open(bstrTest,TRUE,FALSE);
//bstrTest为我的Test名
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2005-12-21 15:03:43 | 只看该作者

Last

没有人可以帮我或者讨论一下吗???
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-8-10 19:13:24 | 只看该作者
顺便问上一句,例子是哪儿的? 是qtp自带的?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-8-13 15:43:20 | 只看该作者
这个帖子对我帮助很大,表示感谢了!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 23:40 , Processed in 0.075350 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表