在使用 VB 脚本的 hp-UFT 中,您能否在 VB 脚本中将 IE 浏览器命名为 window,以便您可以控制哪个 window 进行导航?
In hp-UFT using VB Script can you name an IE browser window in VB Script so that you can control which window does the navigation?
我知道如何打开新的 IE 浏览器和标签页,但是有没有办法说:
这是浏览器 1
这是浏览器2
browser2.navigate(aol.com)
browser1.navigate(whosebug.com)
类似于你的伪代码。
set IE1= CreateObject("InternetExplorer.Application")
IE1.Visible = True
IE1.Navigate URL1
set IE2= CreateObject("InternetExplorer.Application")
IE2.Visible = True
IE2.Navigate URL2
UFT 中的浏览器可以使用任何独特的属性来识别,但是这些属性会随着您打开的 URL 的变化而变化,所以实际上有两个独立的属性可以用来识别浏览器
1) 创建时间:这是创建浏览器的时间,第一个浏览器是 0,第二个是 1,第三个是 2。
2) hwnd :它是浏览器的 windows 句柄,它是 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 的术语本机函数和属性中) .这意味着
如果使用createobject函数创建浏览器对象,则不能编写下面的代码
Browser1.Sync
您将不得不在 Readystate 属性 上使用不可靠的循环。
您可以使用浏览器的OpenURL
property,这个属性是在创建浏览器时设置的,并且在其整个生命周期内都是一致的。
首先将浏览器启动到特定 URL(这可以用来识别浏览器),然后导航到测试的实际部分。我看到 http://example.com 忽略了 URL 参数,因此您可以使用它。
例如
SystemUtil.Run "Chrome.exe", "example.com/?first"
SystemUtil.Run "Chrome.exe", "example.com/?second"
Browser("OpenUrl:=.*first").Navigate "zombo.com"
Browser("OpenUrl:=.*second").Navigate "whosebug.com/users/3848"
我知道如何打开新的 IE 浏览器和标签页,但是有没有办法说:
这是浏览器 1
这是浏览器2
browser2.navigate(aol.com)
browser1.navigate(whosebug.com)
类似于你的伪代码。
set IE1= CreateObject("InternetExplorer.Application")
IE1.Visible = True
IE1.Navigate URL1
set IE2= CreateObject("InternetExplorer.Application")
IE2.Visible = True
IE2.Navigate URL2
UFT 中的浏览器可以使用任何独特的属性来识别,但是这些属性会随着您打开的 URL 的变化而变化,所以实际上有两个独立的属性可以用来识别浏览器
1) 创建时间:这是创建浏览器的时间,第一个浏览器是 0,第二个是 1,第三个是 2。
2) hwnd :它是浏览器的 windows 句柄,它是 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 的术语本机函数和属性中) .这意味着
如果使用createobject函数创建浏览器对象,则不能编写下面的代码
Browser1.Sync
您将不得不在 Readystate 属性 上使用不可靠的循环。
您可以使用浏览器的OpenURL
property,这个属性是在创建浏览器时设置的,并且在其整个生命周期内都是一致的。
首先将浏览器启动到特定 URL(这可以用来识别浏览器),然后导航到测试的实际部分。我看到 http://example.com 忽略了 URL 参数,因此您可以使用它。
例如
SystemUtil.Run "Chrome.exe", "example.com/?first"
SystemUtil.Run "Chrome.exe", "example.com/?second"
Browser("OpenUrl:=.*first").Navigate "zombo.com"
Browser("OpenUrl:=.*second").Navigate "whosebug.com/users/3848"