51Testing软件测试论坛

标题: 着急.Tools->Object Identification,识别方式 [打印本页]

作者: iov_cp    时间: 2007-9-24 10:25
标题: 着急.Tools->Object Identification,识别方式
有谁知道QTP的Tools->Object Identification中的设置如何能保存共享?这个识别方式似乎只能对本地用,到其他机器上无效.
比如:我把standart windows下的winobject 的Mandatory Properties的识别方式改变了,我希望QTP以后在任何机器上都按我的设置去识别winobject,我该怎么处理????是否用Smart Identification.
作者: iov_cp    时间: 2007-9-24 10:27
标题: 在线等待ing
.....
作者: Jimmyshao    时间: 2007-9-24 10:44
把QTP的配置写到VBS里面,以后启动QTP通过这个vbs来
作者: C060706    时间: 2007-9-24 11:13
原帖由 Jimmyshao 于 2007-9-24 10:44 发表
把QTP的配置写到VBS里面,以后启动QTP通过这个vbs来



我的支柱大哥,对于我们这些想在论坛中学点东西的人
您说的一番话,实在高深末测呀
能给小弟们,给点事例等等,好发扬广大您的精神。。。

期待。。。
作者: hsjzfling    时间: 2007-9-24 12:19
参考一下以下代码吧~这个就是3楼所提到的用VBS文件配置QTP设置,将以下代码保存在vbs文件中,然后运行此文件启动qtp

'************************************************************************************************************************
'Description:
'This example opens QuickTest and configures the Object Identification settings for the WinList object class.
'************************************************************************************************************************
Dim qtApp 'As QuickTest.Application ' Declare the Application object variable
Dim qtIdent 'As QuickTest.ObjectIdentification ' Declare the ObjectIdentification object variable
Dim qtWinListIdent 'As QuickTest.TestObjectClassIdentification ' Declare the variable for the WinList object class identification
Dim intPosition ' Declare a variable for storing positions

' Open QuickTest and set variables
Set qtApp = CreateObject("QuickTest.Application") ' Create the Application object
qtApp.Launch ' Start QuickTest
qtApp.Visible = True ' Make the QuickTest application visible
Set qtIdent = qtApp.Options.ObjectIdentification ' Return the ObjectIdentification object
Set qtWinListIdent = qtIdent.Item("WinList") ' Return the collection of object identification properties for the WinList object class

qtIdent.ResetAll ' Reset the Object Identification description for the WinList object to the default property set
qtWinListIdent.OrdinalIdentifier = "Index" ' Set Index as the ordinal identifier

' Configure the Mandatory Properties
intPosition = qtWinListIdent.MandatoryProperties.Find("nativeclass") ' Find the location of the "nativeclass" mandatory property
qtWinListIdent.MandatoryProperties.Remove intPosition ' Remove the "nativeclass" mandatory property from the list

If qtWinListIdent.AvailableProperties.Find("items count") <> -1 Then ' If "items count" is an available property for WinList
    qtWinListIdent.MandatoryProperties.Add "items count" ' Add it as a mandatory property
End If

' Configure the Assistive Properties
qtWinListIdent.AssistiveProperties.RemoveAll ' Remove all assistive properties
qtWinListIdent.AssistiveProperties.Add "all items" ' Add the "all items" property as an assistive property
qtWinListIdent.AssistiveProperties.Add "width", 1 ' Add "width" as the first assistive property
qtWinListIdent.AssistiveProperties.Add "height", -1 ' Add "height" as the last assistive property
qtWinListIdent.AssistiveProperties.MoveToPos 2, 1 ' Move the second assistive property (currently "all items") to the first position in the list

' Configure the Smart Identification
qtWinListIdent.EnableSmartIdentification = True ' Enable the smart identification mechanism for the WinList object

If qtWinListIdent.BaseFilterProperties.Count = 0 Then ' If there are no Base Filter properties
    qtWinListIdent.BaseFilterProperties.Add "x" ' Add the "x" property as a base filter property
    qtWinListIdent.BaseFilterProperties.Add "y" ' Add the "y" property as a base filter property
End If

qtWinListIdent.OptionalFilterProperties.Add "abs_x", 1 ' Add "abs_x" as the first optional filter property
qtWinListIdent.OptionalFilterProperties.Add "abs_y", 2 ' Add "abs_y" as the second optional filter property
Set qtWinListIdent = Nothing ' Release the WinList identification object
Set qtIdent = Nothing ' Release the ObjectIdentification object
Set qtApp = Nothing ' Release the Application object

[ 本帖最后由 hsjzfling 于 2007-9-24 12:24 编辑 ]
作者: hsjzfling    时间: 2007-9-24 12:22
楼主只需要WinList替换为你所需要的WinObject,将.Add后的属性替换为你所需要的属性即可,不需要的功能可以注释掉
作者: C060706    时间: 2007-9-24 14:53
厉害
作者: jackymail    时间: 2007-9-24 15:29
qtp里面自带的功能就有了,为什么还要自己写点什么代码呢?object identification 里面的generate script按钮就是专门干这个用的,导出的script在执行后,重新启动qtp就把设置替换回来了!!!!

楼主下次悬赏不要给这么点。。。要出手就要大方点,不然我这种高手是不会出场的。
作者: iov_cp    时间: 2007-9-24 16:02
标题: 回复 #8 jackymail 的帖子
呵呵,本着治病救人的想法,想和大家多交流交流.奥运精神曰:参与第一,比赛第二.所以在这个论坛中是交流第一,分数第二.所以没考虑分数的事情..
作者: iov_cp    时间: 2007-9-24 16:02
标题: 本贴已结
谢谢楼上的各位朋友.
作者: 没有蛀牙    时间: 2007-9-24 16:47
QTP自带生成配置脚本
作者: walker1020    时间: 2007-9-24 21:41
补充一点:修改了QTP的Tools->Object Identification中的设置后,它只对修改后录制的脚本发挥作用。
作者: owenyuan    时间: 2007-9-25 11:44
强人很多
作者: zcx2270    时间: 2007-12-24 23:11
标题: QTP识别方式
我觉得你在保存一个Test后可以在
C:\Program Files\Mercury Interactive\QuickTest Professional\Tests这个目录下,把你的Test复制到其他机器下,然后再用QTP打开你的这个Test,应该就可以了
(前提是你的被测系统在你的机器和其他机器下都在
C:\Program Files\Mercury Interactive\QuickTest Professional\samples这个目录下)




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2