QTP脚本-单击WebTable单元格-在IE中有效,但在Chrome中无效

时间:2018-06-25 03:48:08

标签: vbscript qtp

为Web应用程序编写自动化脚本,有一个表,

修改后,用户需要单击该单元以启用它。

  1. 在用户单击任何单元格之前,没有检测到子项(尝试使用micclass的子项计数-webEdit,webList,webElement-全部返回0)

  2. 用户单击单元格后,该单元格将更改为可编辑字段-webedit / weblist-此处childitemcount变为1

  3. 因此,单击单元格成为一个核心过程(如果有任何解决方法,请公开以寻求建议)

当前,我单击一个单元格,输入,然后单击下一个单元格,然后再次重复。这是我的代码片段。 Object.rows(row).cells(i).click在Chrome中不起作用,但是IE正常运行,没有任何问题。

尝试过:

  • 突出显示表格-显示正确的表格

  • 突出显示表格后打印row, i

    • IE-将为1,0; 1,1; 1,2等等

    • Chrome浏览器-第一步失败,错误=常规运行错误

  • 将行的值更改为i均为+1(仍不起作用)

代码:

row = 1  
rows = dictObject("WEBTBL_ACCDTL_FLOWTBL").GetROProperty("rows")
Arry_userInput = split(userinput,";")

'rows - 1 because of the header
If row <= rows-1 Then
    For i = 0 To Ubound(Arry_userInput) Step 1
        dictObject("WEBTBL_ACCDTL_FLOWTBL").highlight
        dictObject("WEBTBL_ACCDTL_FLOWTBL").Object.rows(row).cells(i).click 'Here Working in IE but not Chrome
        set currTxtBox = dictObject("WEBTBL_ACCDTL_FLOWTBL").ChildItem(row+1,i+1,"WebEdit",0)
        currTxtBox.Object.focus
        currTxtBox.Object.scrollIntoView    

        If i = 0 or i = 1 or i = 2 or i = 3 or i = 7 Then
            Call table_dropdown_set(currTxtBox,Arry_userInput(i))
        Else
            Call table_txtbox_set(currTxtBox,Arry_userInput(i))
        End If

        wait 1
    Next
    wait 1
    Msgbox "Input Process Done!"
Else 
    Msgbox "Please Trigger the button to add new row!"
End If

1 个答案:

答案 0 :(得分:1)

我看到您正在使用.Object来访问单元格,这样做并没有利用UFT的全部功能。您是否尝试过使用Cell属性?这是UFT的最新版本中添加的,因此您应该检查它是否在您使用的版本中可用。

用法:

Browser("B").Page("P").WebTable("WT").Cell(row, column).Click

ChildItem的{​​{1}}函数不同,WebTable返回单元格本身的元素,而不是我认为您真正需要的单元格内容。