我正在尝试进行简单的测试但失败了,因为我不知道如何处理在测试期间更改的浏览器标题。
简单示例:Google>查找“blabol”
完成后,QTP 中的浏览器标题将其名称更改为“Google - results....”。当搜索文本是一个在迭代之间发生变化的变量时,这显然是一个问题,因为浏览器文本是硬编码的。如果你明白我的意思,我需要像“这个浏览器”和“这个页面”这样的东西。谢谢
我正在尝试进行简单的测试但失败了,因为我不知道如何处理在测试期间更改的浏览器标题。
简单示例:Google>查找“blabol”
完成后,QTP 中的浏览器标题将其名称更改为“Google - results....”。当搜索文本是一个在迭代之间发生变化的变量时,这显然是一个问题,因为浏览器文本是硬编码的。如果你明白我的意思,我需要像“这个浏览器”和“这个页面”这样的东西。谢谢
简而言之,您可以使用各种属性来识别 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.*")
谢谢你,阿尔伯特加里耶夫
这就是为什么 QTP 默认不使用标题作为Browser
. 您应该注意, 的描述Page
不必严格,因为在任何给定时间只有一个Page
(Browser
不同Page
的 s 仅存在以帮助组织对象存储库)。
您可能希望使用描述中的“打开标题”属性进行检查,因为这在导航期间不会更改。