【问题标题】:Not able to uniquely identify a checkbox in qtp无法唯一标识 qtp 中的复选框
【发布时间】:2012-07-04 07:47:57
【问题描述】:

我正在使用 QTP 开发一个 Windows 窗体 .Net 应用程序,并且有一组重复的复选框并且都具有相同的属性。我需要从每组中选择一个特定的复选框。如果复选框不可见在屏幕上然后我们需要向下滚动,否则会弹出错误消息。有没有办法从每组中选择一个特定的复选框。 情商: abc 特征 1 2 3 abc 特征 1 2 3 4 abc 特征 1 2

我需要从所有集合中选择复选框 1。

【问题讨论】:

    标签: vbscript qtp


    【解决方案1】:

    您需要找到一种方法来识别“复选框集”,使用对象间谍或 dom 检查器来查看识别该集的内容(可能是某种divspan)为了这个答案我'将假定它是一个 div 和一个特定的 class "chkbxGrp"

    然后查找该组中包含的第一个复选框并选中它。

    请注意,将复选框滚动到视图中是由 QTP 自动完成的。
    如果在预期组不存在时需要失败,则必须找出如何识别特定组,然后在测试中使用预期值,而不是遍历所有此类组。

    ' Untested code
    Set Desc = Description.Create()
    Desc("html tag").Value = "div"
    Desc("html tag").RegularExpression = False
    Desc("class").Value = "chkbxGrp"
    ' Find all groups
    Set groups = Browser("B").Page("P").ChildObjects(Desc)
    For i = 0 To groups.Count -1
        ' in each group check the first checkbox
        groups(i).WebCheckBox("index:=0").Set "ON"
    Next
    

    【讨论】:

      【解决方案2】:

      您可以使用 QTP 索引“识别”复选框。 这不是最好的选择,但如果您只需要第一个复选框。 只需在页面上查找类型为“CheckBox”的所有对象,如果结果集> 0,则获取第一个。

      第二个选项是通过附近元素“定位”复选框,但在这种情况下,您需要确保它们的位置不会被更改。

      顺便说一句,你确定它们完全一样吗?在 QTP 中有一个选项可以为元素位置设置必要的属性。您可以为出现在您的应用程序中的 CheckBox 添加任何唯一的属性。

      【讨论】:

        猜你喜欢
        • 2015-07-02
        • 2012-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多