1

间谍截图

我正在尝试单击链接,但是由于WebTable.

所以我创建了我的函数库,这是链接的代码,我正在尝试调用它。我用名字fyi。

Call ClickLink ("sign-in") 



Sub ClickLink(LinkName)

 Set myPage=Browser("title:=.*").Page("title:=.*").Webtable()
 Set wLink = description.Create()  
    wLink("micClass").value="Link"  

    Set allLinks = myPage.ChildObjects(wLink) 
    TotalLinks = allLinks.count() 

    For Iterator = 0 To TotalLinks -1 
        If allLinks(i).GetRoproperty("name") = LinkName Then
            allLinks(i).click
            wait(3) 
            Exit For   

    ElseIf TotalLinks -1 Then 
        reporter.ReportEvent micFail, "Find Link", LinkName 
    End If  
    Next

    Set myPage = Nothing    
    Set wLink = Nothing 
    Set allLinks = Nothing


 End Sub
4

2 回答 2

2

不应该以WebTable任何方式干扰识别链接,是什么让您认为它确实如此?在 UFT 中,您可以省略 DOM 层次结构中的中间级别。

从屏幕截图中可以看出该Link对象已经在对象存储库中,请尝试以简单的方式单击它。

 Browser("Register: Mercury Tours").Page("Register: Mercury Tours").Link("sign-in").Click

进一步阅读:了解 HP 统一功能测试 (UFT) 中的 Web 测试对象模型

于 2019-02-10T09:31:52.590 回答
1

您可以使用我不久前创建的这个函数,它非常动态,因此它接受任何存在的值

Function DARRTS_Click_Webelement_From_Webtable(clasVal,htmlidVal,Elementinnertext_To_Click,index)
On error resume next
Dim oDesc
'create description of the object
Set oDesc = Description.Create
oDesc.Add "MicClass","WebTable"
oDesc.Add "class",clasVal
oDesc.Add "html id",htmlidVal

If index <> "" Then
    oDesc.Add "index", index
End If

Element_innertxtVal = Elementinnertext_To_Click

i_RowCount = PageObj.Webtable(oDesc).RowCount

For rowNum = 1 to i_RowCount

    For ColNum = 1 to PageObj.Webtable(oDesc).ColumnCount(i_RowCount)

    set o_ElementObject = PageObj.Webtable(oDesc).childitem(rowNum,ColNum, "WebElement",0)

     s_ObjectName = o_ElementObject.GetROProperty("innertext")

    if s_ObjectName = s_ElementClassName then

    o_ElementObject.click

    'your passing report

    Else

    ' your failing report

    end if

    Next

Next
On error goto 0

'clean up
Set oDesc = nothing
Set o_ElementObject = nothing

结束功能

在哪里:

classVal - webtable 对象的类值

index - 如果有多个具有相同 Text.Pass Blank "" 的链接,则索引编号,以防不需要索引

htmlidVal - webtable 对象的类值

Elementinnertext_To_Click - 要从 webtable 对象中单击的 webelement 的内部文本

于 2019-02-11T17:55:26.050 回答