Как я могу нажать на ссылку, которая доступна в веб-таблице?

Я пытаюсь нажать на ссылку, но я не могу сделать это из-за 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

2 ответа

WebTable не должно мешать идентификации ссылки каким-либо образом, что заставляет вас думать, что это делает? В UFT вы можете опустить промежуточные уровни в иерархии DOM.

Из скриншота видно, что Link объект уже находится в хранилище объектов, попробуйте щелкнуть по нему простым способом.

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

Дополнительная информация: Общие сведения об объектной модели веб-теста в HP Unified Functional Testing (UFT).

Вы можете использовать эту функцию, которую я создал некоторое время назад, она очень динамична, поэтому она принимает любые значения, которые присутствуют

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 - индекс num, если есть несколько ссылок с одним и тем же Text.Pass Blank "", если индекс не нужен

htmlidVal- значение класса объекта webtable

Elementinnertext_To_Click- внутренний текст веб-элемента, который вы хотите щелкнуть из объекта веб-таблицы.

Другие вопросы по тегам