1

嗨,我正在使用下面的代码来测试我的网页。

ExecuteFile "H:\Asma\wp_CommonFunctions.vbs"

Set Brw_Composer = CreateObjectDescription("name:=Composer - Test Accounts")
Set Page_Composer = CreateObjectDescription("title:=Composer.*,url:=http://sharepoint.btfin.com.*")
Set tbl_Composer_HostBrand = CreateObjectDescription("html tag:=TABLE,Value:=36,text:=Host Brand.*,Enable Smart Identification:=True,rows:=16")
Set tbl_Composer_Environments = CreateObjectDescription("html tag:=TABLE,Value:=32")

BT_SVP_Path= "http://sharepoint.btfin.com/it/simt/home/environments%20tech/Composer/Test%
SystemUtil.Run BT_SVP_Path

' Get the value of CAN  under 
cellValue=Browser("Composer - Test Accounts").Page("Composer - Test Accounts").WebTable("Host Brand").GetCellData(12,4)

'Open SVP ACC2 Ingress link
'Set obj = Browser(Brw_Composer).Page(Page_Composer).Webtable(tbl_Composer_Environments)
If  (Browser(Brw_Composer).Page(Page_Composer).Webtable(tbl_Composer_Environments)).Exist Then
    msgbox" success"
else 
    msgbox "failure"
End If
'****************************************************************** 
Function CreateObjectDescription(StrProperties)
    Dim objDescription 
    Dim ObjArr 
    Dim PropCount
    Dim ObjProperty
    Set objDescription=Description.Create 
    ObjArr=split(StrProperties,",") 
    For PropCount=0 to ubound(ObjArr) 
        ObjProperty=split(ObjArr(PropCount),":=")
        objDescription(ObjProperty(0)).value=ObjProperty(1) 
    Next 
    Set CreateObjectDescription=objDescription
End Function

如果在运行时指定了 Webtables 的属性,则不会在运行时识别它们。如果我将它们的属性添加到对象存储库中,则代码可以正常工作。请帮忙。我正在使用 IE 6 来测试我的 webapp。

4

1 回答 1

0

对象存储库 (OR) 描述和描述性编程 (DP) 之间的主要区别在于 OR 在默认情况下是非正则表达式,而 DP 是正则表达式。

这可能是导致行为差异的原因,如果是这种情况,只需添加

objDescription(ObjProperty(0)).RegularExpression = False

另一个区别可能与 OR 有时使用的隐藏属性有关。为了查看这是否是原因,请转到Tools -> Options -> Web -> Advanced并取消选中Run using source index(如果您使用的是 QTP11,还可以使用自动 XPath 标识符学习和运行)。现在看看 OR 的识别是否仍然有效。

如果 OR 和 DP 之间的行为仍然不同,则您的标识属性可能有所不同。

于 2012-04-19T07:26:44.343 回答