【问题标题】:QTP - testing while browser/page title changesQTP - 在浏览器/页面标题更改时进行测试
【发布时间】:2010-01-24 13:59:46
【问题描述】:

我正在尝试进行简单的测试但失败了,因为我不知道如何处理在测试期间发生变化的浏览器标题。

简单示例: Google>查找“blabol”

完成后,QTP 中的浏览器标题将其名称更改为“Google - results....”。当搜索文本是一个在迭代之间变化的变量时,这显然是一个问题,因为浏览器文本是硬编码的。 如果你明白我的意思,我需要像“这个浏览器”和“这个页面”这样的东西。 谢谢

【问题讨论】:

    标签: automation qtp


    【解决方案1】:

    总之,您可以使用各种属性来识别 QTP 中的对象,并且可以使用正则表达式来增加更多的灵活性。 例如,在您的情况下,解决网络浏览器的可能方法如下。

    1) 寻址第一个浏览器窗口(第一次打开)和任何页面

    Set objBrowser = Browser("creationtime:=0")
    Set objPage = objBrowser.Page("title:=.*")
    

    2) 如果您假设您始终使用 Google 页面。

    Set objBrowser = Browser("title:=.*Google.*")
    Set objGooglePage = objBrowser.Page("title:=.*Google.*") 
    

    3) 使用特定搜索结果寻址页面

    sSearchWord = "blabol"
    boolRC = Browser("title:=" & sSearchWord & " - Google Search.*").Page("title:=" &  sSearchWord & " - Google Search.*")
    

    谢谢你, 阿尔伯特·加里耶夫

    http://automation-beyond.com/

    【讨论】:

    • 感谢您的出色回答。但是,如果对象不在对象存储库中(例如使用“*”时),我不明白它是如何工作的
    • @Tomas,您必须设置“正则表达式”复选框
    【解决方案2】:

    这就是为什么 QTP 默认不使用 title 作为Browser 描述的一部分。您应该注意Page 的描述不必严格,因为在任何给定时间每个Browser 都只有一个Page(不同的Page 仅存在以帮助组织对象存储库)。

    您可能希望使用描述中的 "open title" 属性进行检查,因为这在导航期间不会改变。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2012-04-15
      • 2017-07-22
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多