|
代码如下:
'Step 1 ------------------------------------------------------------------------------------>
SystemUtil.Run "www.baidu.com" '启动IE进入 指定网站
Browser("micClass:=Browser").Navigate "www.baidu.com"
Browser("micClass:=Browser").Page("micClass:=Page").Sync:Wait 1
checkURL=Trim(Browser("micClass:=Browser").Object.LocationURL)
If checkURL="http://www.baidu.com/" Then
Reporter.ReportEvent micPass,"Step 1","Passed"
Else
Reporter.ReportEvent micFail,"Step 1","Failed"
End If
'End of checkpoint <--------------------------------------------------------
'Step2--------------------------------------------------------------------------------->
' 通过<OperNewTab >方法打开一个新选项卡
Browser("micClass:=Browser").OpenNewTab:Wait 1
testHWND=Browser("name:=新建选项卡").GetROProperty("hwnd")
Browser("name:=新建选项卡").Navigate "www.baidu.com"
'Step 3 -------------------------------------------------------------------------------->
Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("登录").Click
With Browser("百度一下,你就知道").Page("百度一下,你就知道")
.WebEdit("userName").Set "用户名"
.WebEdit("password").Set "密码"
.WebButton("登录").Click
End With
'checkpoint start ----------------------------------------->
oExist=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("用户名").Exist (3)
If oExist Then
Reporter.ReportEvent micPass,"Step3","Passed"
Else
Reporter.ReportEvent micFail,"Step3","Failed"
End If
'Step 4----------------------------------------------------------------------->
Browser("hwnd:="&testHWND).Close
Browser("micClass:=Browser").Refresh:Wait 1
'checkpoint start ----------------------------------------------------------->
oExist=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("用户名").Exist (3)
If oExist Then
Reporter.ReportEvent micPass,"Step4","Passed"
Else
Reporter.ReportEvent micFail,"Step4","Failed"
End If
原代码是进入51Testing进行测试的,因为网络不给力,进入51Testing很慢,所以改用Baidu进行测试 。
代码很简单,其中“用户名”、“密码”为百度的真实用户名和相应密码。对象抓取没问题。
问题是,step2中Browser("name:=新建选项卡").Navigate "www.baidu.com" 如红色标注所示,在新选项卡
中再次输入百度的地址跳转成功后,窗口重新定位到之前的选项卡,这里就有个疑问了,为什么它会重新定位到前一个Tab?
由于跳转到前一个Tab,所以运行到step4的第一步 Browser("hwnd:="&testHWND).Close 找不到对像出错。
我想提问下,怎样定位不指定的浏览器上的Tab? |
|