QTP - 检查动态页面

时间:2015-02-25 14:14:09

标签: testing qtp



我试图检查一个值是否包含在webelement的innertext中,但我有一点问题:每次刷新页面时帧似乎都会改变。

这些是我记录的步骤:

    Browser("SystemPage").Page("SystemP").Frame("dme2_header").Image("Gestione Anagrafiche").Click<br>
    Browser("SystemPage").Page("SystemP").Frame("dme2_appl").WebEdit("pdrBean.pdrPod").Set parameter("POD")<br>
    Browser("SystemPage").Page("SystemP").Frame("dme2_appl").WebButton("Cerca").Click
    Browser("SystemPage").Page("SystemP").Frame("dme2_appl_2").Image("show_files").Click
    Browser("SystemPage").Page("SystemP").Frame("dme2_appl_6").Image("Lente").Click

    cctype = Browser("SystemPage").Page("SystemP").Frame("dme2_appl_7").WebElement("arrow_down").GetROProperty("innertext")<br>
    DataAct = Browser("SystemPage").Page("SystemP").Frame("dme2_appl_7").WebElement("arrow_down_2").GetROProperty("innertext")<br>

    Browser("SystemPage").Page("SystemP").Frame("dme2_header").Image("Gestione Anagrafiche").Click



框架&#34; dme2_appl6&#34;和&#34; dme2_appl7&#34;每次刷新两页时都会发生变化。
问题很简单:如何重写这两项行动以使其具有普遍性? 我尝试过这样的事情:

    Set objFrame = Frame("title:=dme2_appl_.")

然后再

    Browser("SystemPage").Page("SystemP").objFrame.Image("Lente").Click


但是QTP给了我一个错误的回报:&#34;对象不支持的属性或方法&#34;

2 个答案:

答案 0 :(得分:2)

请尝试使用以下代码

Browser("SystemPage").Page("SystemP").Image("Lente").Click

避免使用“Frame”,如果你真的想使用它,请将regex用于Frame的name属性。

转到对象属性 - &gt;单击Frame对象 - &gt;强制性属性 - &gt;将名称属性更改为 喜欢iFrame_213123123到i。*

希望这能解决您的问题。

答案 1 :(得分:0)

我认为你不能那样使用框架对象。当你写Page().Frame()时,UFT以与你第一次创建Frame不同的方式设置帧的父级。 将Frame()视为在页面上调用或作为自由函数时行为不同的函数。

尝试:

 Browser("SystemPage").Page("SystemP").Frame("title:=dme2_appl_.")