【问题标题】:How to switch to the new browser window which opens after clicking on parent browser, in UFT?如何切换到在 UFT 中单击父浏览器后打开的新浏览器窗口?
【发布时间】:2016-09-26 06:27:12
【问题描述】:

有一个链接存在的应用程序。单击链接后,它将打开一个新的浏览器。

有人可以帮忙指导如何选择和激活新窗口吗?

我正在使用 UFT 进行自动化。

【问题讨论】:

  • 如果两个浏览器都在 Object Repository 中,你只需要停止引用 Browser("Browser1") 并使用 Browser("Browser2")?你能举一个不适合你的例子吗?
  • 谢谢戴夫。我们有我们自动化的应用程序。现在有一个单独的应用程序,其中存在第一个应用程序的链接。从第二个应用程序单击该链接会调用第一个应用程序,并且需要将控件传递给第一个应用程序的浏览器,在该浏览器中需要调用其余功能。
  • 你能告诉我你遇到问题的代码吗?正如我上面所说,您应该能够简单地更改您引用的浏览器,UFT 将在它们之间愉快地切换。
  • @Dave 他可能会遇到问题,具体取决于浏览器使用的标识属性。如果两者都使用CreationTime:=0 存储,他们将无法正确切换引用
  • 此外,我正在开发一个框架,其中第一个应用程序已根据关键字功能自动化。我们有一个单独的测试用例级别功能,我们打开第二个浏览器,然后单击在新浏览器中打开第一个应用程序的链接。有挑战。谢谢你的建议。我将尝试实现浏览器创建和 hwnd 并告知它是否有效。

标签: vbscript hp-uft


【解决方案1】:

使用浏览器集合,我们可以做到这一点。希望这对您有所帮助。

Set objLastBrowser = GetLastBrowserInstance()
Public Function GetLastBrowserInstance()
    Dim objBrowserDesc
    Dim objBrowserCollection
    Dim objLastOpenedBrowser : objLastOpenedBrowser = Null
    Dim intCount
    Dim lngHandle
    Set objBrowserDesc = Description.Create
    objBrowserDesc("micClass").Value = "Browser"
    Set objBrowserCollection = Desktop.ChildObjects(objBrowserDesc)
    intCount = objBrowserCollection.Count
    If intCount > 0 Then
        Set objLastOpenedBrowser = Browser("CreationTime:=" & intCount - 1)
        objLastOpenedBrowser.Sync
        lngHandle = objLastOpenedBrowser.GetROProperty("hwnd")
        Window("hwnd:=" & lngHandle).Activate
    End If
    Set GetLastBrowserInstance = objLastOpenedBrowser
End Function

【讨论】:

  • 谢谢。我会尽力让你知道
猜你喜欢
  • 2012-03-24
  • 2015-03-30
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多