在使用VB脚本的hp-UFT中,您可以在VB脚本中命名IE浏览器窗口,以便您可以控制哪个窗口执行导航?

问题描述:

我知道如何打开新的IE浏览器和标签,但有没有办法说:在使用VB脚本的hp-UFT中,您可以在VB脚本中命名IE浏览器窗口,以便您可以控制哪个窗口执行导航?

这是browser1

这是browser2

browser2.navigate(aol.com)

browser1.navigate

浏览器在UFT可以使用任何独特的特性来确定,但这些属性可以在您正在打开的URL的改变而改变,所以实际上有两个,你可以使用独立的属性识别浏览器

1)创作时间:这是当在创建浏览器,以便为所述第一浏览器其0,第二其1和第三其2.

2)HWND:其窗口处理对br owser,它使用Windows OS标识它创建的对象的数量。

所以,现在有这样的认识,在UFT您可以创建多个浏览器

1浏览器对象),只需创建浏览器对象。 2)要创建浏览器对象

Set Browser1 = Browser("CreationTime:=0") 
set Browser2 = Browser("CreationTime:=1") 
. 
. 
. 
. 
. 
. 
set Browsern = Browser("CreationTime:=n-1") 

您还可以使用HWND,但它不会像创建时间一样简单。

现在

,我们也可以使用CreateObject创建IE的对象,但下面有缺点这样做

1)的CreateObject(“InternetExplorer.Application”)可与最新版本的IE浏览器的使用旧版本的CreateObject(“Internet.Application”)对于将来的版本可能是别的。 2)你将失去使用内置UFT函数的能力,因为当你使用createobject时,只有通过浏览器api公开的函数才会可见(在UFT的术语Native函数和属性中)。这意味着

你不能写如下的代码,如果你使用CreateObject函数来创建浏览器对象

Browser1.Sync

你将不得不使用的readyState属性不可靠的循环。

+0

CreationTime似乎是使这项工作最简单和最一致的方法!非常感谢。 – Collatrl

与您的伪代码类似。

set IE1= CreateObject("InternetExplorer.Application") 
IE1.Visible = True 
IE1.Navigate URL1 

set IE2= CreateObject("InternetExplorer.Application") 
IE2.Visible = True 
IE2.Navigate URL2 

https://community.hpe.com/t5/Unified-Functional-Testing/Command-to-launch-browser-and-go-to-a-URL-in-QTP/td-p/4223362

您可以使用浏览器的OpenURL property,该属性在创建浏览器时设置,并且在整个生命周期内保持一致。

首先启动浏览器到一个特定的URL(这可以用来标识浏览器),然后转到实际的测试部分。我看到http://example.com忽略了URL参数,因此您可以使用它。

E.g.

SystemUtil.Run "Chrome.exe", "example.com/?first"  
SystemUtil.Run "Chrome.exe", "example.com/?second" 

Browser("OpenUrl:=.*first").Navigate "zombo.com" 
Browser("OpenUrl:=.*second").Navigate "stackoverflow.com/users/3848" 
+0

这个很好用!非常感谢 – Collatrl