【问题标题】:In QTP 12.51, how to identify dynamical element generated using ajax/jquery form?在 QTP 12.51 中,如何识别使用 ajax/jquery 形式生成的动态元素?
【发布时间】:2024-01-07 02:10:01
【问题描述】:

在我的数据表中存在三行。单击添加按钮后会生成新行,我需要从数据表中输入输入值。

问题:如何动态识别每一行的字段以插入值?

脚本:--

    Datatable.GetSheet(5)
    rowcount=Datatable.GetRowCount
    For i=1 to rowcount
         Datatable.SetCurrentRow(i)
         lenth =Datatable.Value(1,5)
         width= Datatable.Value(2,5)
         height= Datatable.Value(3,5)
         weight=Datatable.Value(4,5)
         piece=Datatable.Value(5,5)

Browser("Magma MCR").Page("Magma MCR").WebEdit("ship_info1[length_val]"设置长度 Browser("Magma MCR").Page("Magma MCR").WebEdit("ship_info1[width_val]").设置宽度 Browser("Magma MCR").Page("Magma MCR").WebEdit("ship_info1[height_val]").Set height Browser("Magma MCR").Page("Magma MCR").WebEdit("ship_info1[weight_val]").Set weight Browser("Magma MCR").Page("Magma MCR").WebEdit("ship_info1[total_pieces]").Setpiece

在这个脚本中,

此处第一行,网页元素名称为“ship_info1[height_val]”

对于下一个添加的行,网页元素名称是“ship_info2[height_val]”

所以,我想动态选择这个网络元素。请看附图。

【问题讨论】:

    标签: vbscript automation qtp data-driven-tests gui-test-framework


    【解决方案1】:

    试试下面的代码

    temp=1
         temp=temp+1
        Browser("Magma MCR").Page("Magma MCR").WebEdit("ship_info"&temp&"[length_val]").Set lenth 
    

    顺便问一下,QTP 是否将您的应用程序中的该表标识为 Web 表?

    【讨论】:

    • --感谢您的宝贵回复。它工作正常。@user3263086
    最近更新 更多