51Testing软件测试论坛

标题: 关于 《精通QTP——自动化测试技术领航》书中202页的一个实例问题 [打印本页]

作者: jun3355986    时间: 2013-8-29 11:25
标题: 关于 《精通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 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?
作者: jun3355986    时间: 2013-8-30 21:16
我是菜鸟,这问题怎么没人答复呢,求各位大神指点啊
作者: jun3355986    时间: 2013-8-30 21:18
怎么没人回答这问题呢,求大神们指点我这只菜鸟啊
作者: joykao    时间: 2013-9-2 09:00
骚年。。你的问题很多呢。。首先你打开的新tab有可能是没有名字的。。。这时候你去取句柄就会有问题了。。还有你如果你之前打开了一个百度页面。。。然后又打开了一个,据我所知2个页面会同步的吧。。。还有你一个描述,一会对象库,你确定确定对象库里有料啊。。。。思路不清晰。。。。。
作者: jun3355986    时间: 2013-9-2 15:38
回复 4# joykao


    多谢老鸟指教,我要多多学习下行才
作者: xiechunli    时间: 2013-9-2 15:48
你这个代码不能运行吧
作者: jun3355986    时间: 2013-9-2 18:08
回复 6# xiechunli


    可以运行的,就是在step4第一步出错,提示找不到对像




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2