关于 《精通QTP——自动化测试技术领航》书中202页的一个实例问题
代码如下:'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 ofcheckpoint<--------------------------------------------------------
'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? 我是菜鸟,这问题怎么没人答复呢,求各位大神指点啊 怎么没人回答这问题呢,求大神们指点我这只菜鸟啊 骚年。。你的问题很多呢。。首先你打开的新tab有可能是没有名字的。。。这时候你去取句柄就会有问题了。。还有你如果你之前打开了一个百度页面。。。然后又打开了一个,据我所知2个页面会同步的吧。。。还有你一个描述,一会对象库,你确定确定对象库里有料啊。。。。思路不清晰。。。。。 回复 4# joykao
多谢老鸟指教,我要多多学习下行才 你这个代码不能运行吧 回复 6# xiechunli
可以运行的,就是在step4第一步出错,提示找不到对像
页:
[1]