【问题标题】:visual relation Identifier in QTPQTP中的视觉关系标识符
【发布时间】:2014-02-03 19:50:53
【问题描述】:

我在 QTP 中使用视觉关系标识符在 webedit 中设置值。这是我的代码

Set rc = VisualRelations.Create
Set relation = rc.Add 
relation.relatedobjectpath = "Browser(""ABC"").Page(""XYZ"").WebElement(""innertext:=E-Mail ID"")"
relation.relativeposition = micRelLeft
relation.setargument micrelinline, True
Set des=Description.Create
des.Add "micclass","WebEdit"
des.Add "visual relations",rc
Browser("ABC").Page("XYZ").WebEdit(des).set "qtpuser@abc.com"
Set relation = Nothing
Set rc = Nothing

问题是当我在第 3 行中对 webElement 使用描述编程时,QTP 显示错误消息“找不到“webedit”对象父级”。但是,当我在 OR 中存储 webelement "E-Mail id" 时,代码运行良好,没有任何错误。

你能告诉我在这种情况下我能做些什么来解决这个问题吗? 提前致谢:)

【问题讨论】:

    标签: vbscript qtp


    【解决方案1】:

    QTP 中似乎有一个限制,即 VRI 中的锚测试对象必须在对象存储库中。

    幸运的是,有一个解决方法,您可以在 OR 中创建一个虚拟锚测试对象,其中包含空白 innertext 的描述(通过使用 Define New Test Object 按钮)。

    然后使用SetTOProperty 获得您可以通过描述性编程实现的动态行为。

    Set rc = VisualRelations.Create
    Set relation = rc.Add 
    Browser("ABC").Page("XYZ").WebElement("Anchor").SetTOProperty "innertext", "E-Mail ID"
    relation.relatedobjectpath = "Browser(""ABC"").Page(""XYZ"").WebElement(""Anchor"")"
    relation.relativeposition = micRelLeft
    relation.setargument micrelinline, True
    Set des=Description.Create
    des.Add "micclass","WebEdit"
    des.Add "visual relations",rc
    Browser("ABC").Page("XYZ").WebEdit(des).set "qtpuser@abc.com"
    Set relation = Nothing
    Set rc = Nothing
    

    【讨论】:

    • 去掉第2行的"Browser(""ABC"").Page(""XYZ"").WebElement(""innertext:=E-Mail ID"")" 运行代码.它为我工作..谢谢你#Motti
    • 糟糕,我的错,请为后代验证答案是否正确 :)
    • @TheBlastOne,你说得对,我不知道那是怎么来的……谢谢!
    • 现在我想知道如何指定“相关对象最接近 X (micRelClosestX)AND 到左侧”(micRelLeft)”。我可以在 QTP GUI 中,而不是在 API 中,因为我需要为 .RelativePosition 分配两个值。对吗?或者 -- 你会怎么做?
    • 我不确定,也许添加两个单独的关系?哎呀我知道。实际上这就是文档中的示例所做的。
    【解决方案2】:

    当您将 WebElement“电子邮件 ID”存储在 OR 中时,其父 Page(""XYZ"") 也将存储在 OR 中。 问题是OR方式用于识别Page,而DP方式用于识别WebElement。如果您删除 WebElement“电子邮件 ID”但保留页面(“XYZ”),则脚本应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多