测试需求:在51testing首页的地址栏中输入51论坛地址,测试可以成功进入到论坛;新建选项卡,输入51论坛地址,进行登录操作,测试可以登录成功;返回第一个选项卡,刷新页面,测试用户已登陆的状态是否在这个选项卡中同步
代码:
'在51testing首页输入论坛网址
systemutil.Run "www.51testing.com"
Browser("micClass:=Browser").Navigate "bbs.51testing.com"
browser("micclass:=browser").page("micclass:=page").Sync:wait 1
'校验是否成功进入论坛
Dim checkUrl
'通过自身属性接口获取browser的url
checkUrl=trim(browser("micclass:=browser").Object.LocationURL)
if(checkUrl="http://bbs.51testing.com/") then
reporter.ReportEvent micPass,"进入论坛首页","passed"
else
reporter.ReportEvent micFail,"进入论坛首页","failed"
End if
'打开一个新的选项卡
browser("micclass:=browser").OpenNewTab:wait 1
'通过GetROProperty动态获取当前浏览器对象的属性“hwnd”
Dim testHWND
testHWND=Browser("title:=about:Tabs").GetROProperty("hwnd")
'在新选项卡中输入论坛网址
Browser("title:=about:Tabs").Navigate "bbs.51testing.com"
'登陆论坛
Browser("Browser").Page("51Testing软件测试论坛 软件测试 -").Link("登录").Click
With Browser("Browser").Page("51Testing软件测试论坛 软件测试 -_2")
.WebEdit("username").Set "xufurong"
.WebEdit("password").set "xiaofu"
.WebButton("登录").Click
End With
'校验是否登陆成功
Dim oexit
oexit=Browser("Browser").Page("51Testing软件测试论坛 软件测试 -").Link("退出").Exist(10)
If oexit Then
reporter.ReportEvent micPass,"登陆论坛","passed"
else
reporter.ReportEvent micFail,"登陆论坛","faild"
End If
'关闭新打开的选项卡
browser("hwnd:="&testHWND).Close
'刷新当前浏览器
browser("micclass:=browser").Refresh:wait 1
'校验登陆状态是否在第一次打开的页面仍然有效
oexit=Browser("Browser").Page("51Testing软件测试论坛 软件测试 -").Link("退出").Exist(3)
If oexit Then
reporter.ReportEvent micPass,"刷新论坛","passed"
else
reporter.ReportEvent micFail,"刷新论坛","faild"
End If
知识点整理:
1.此段代码中用到描述性编程,描述性编程是当不想或不能将对象添加到对象库时,通过描述每个对象的属性和属性值来虚拟对象库的一种编码方式。
1)可以用多个属性去描述对象,多个属性之间用英文","隔开,如browser("micclass:=browser").page("micclass:=page").webedit("html tag:=input","name:=wd").set "测试"
2)如果父对象描述了,则子对象一定要描述,但如果子对象描述,父对象可以不描述
2.运行时的对象可以调用自身属性接口,格式如下:
1)对象.object.自身属性
browser("百度一下,你就知道").page("百度一下,你就知道").webedit("wd").object.value="测试"
2)对象.object.自身方法
browser("百度").page("百度").webbutton("百度一下").object.click
3.对象.GetROProperty("属性名"):获取运行时对象某属性的属性值
对象.GetTOProperty("属性名"):获取对象库中对象某属性的属性值
对象.SetTOProperty "属性名","属性值":设置对象库中某对象的某个属性的属性值
4.SystemUtil.run :此方法可以打开浏览器或客户端,打开浏览器时是新建一个浏览器tab
5.navigate:是在当前浏览器窗口直接跳转到其他网页,而不是重新打开浏览器进行跳转