QTP常用函数二

Web 方法:Back
名称:  Back
作用:  返回前一页,即显示浏览器的历史列表中的前一页.
语法:  对象名.Back
返回值:  没有返回值
说明:  此方法功能相当于点击浏览器的"后退"按钮.
例子:  下面的例子用浏览器打开两个网页,然后用back方法返回到前一个网页

Sub Back_Example()

SystemUtil.Run "iexplore.exe", "http://www.google.com" '打开IE浏览器,并且打开指定的网址

'等待浏览器显示同步

Browser("Google").Page("Google").Sync

'再打开另一个指定的网址

Browser("Google").Navigate "http://www.baidu.com"

Wait 10 ' 停留10秒钟

Browser("Google").Back '调用Back方法,返回到前一个网址

End Sub

Web 方法:CaptureBitmap
名称:  CaptureBitmap
作用:  捕捉屏幕,并保存为.png 或者 .bmp的格式图片
语法:  对象.CaptureBitmap FullFileName, [OverrideExisting]
语法说明:  对象:浏览器类型的测试对象
 FullFileName:此参数是必需的,参数类型为字符串,指定保存图片的完整路径,如果指定相对路径,图片将被保存到测试结果的文件夹中.
 OverrideExisting:此参数是可选的,参数类型为布尔值,True:表示覆盖之前已存在的图片,False:表示不覆盖(默认为False)
返回值:  没有返回值
说明:  此方法执行时,被捕捉的对象就象应用程序(界面)所表现的一样,如果(界面)对象部份可见,那么将捕捉到可见的部份
例子:  下面的例子用CaptureBitmap方法来捕捉图片,并保存到指定的位置

Sub CaptureBitmap_Example()

'指定相对路径,每次捕捉的图片将被保存到每个测试结果的文件夹中

Browser("Mercury Tours").Page("Find Flights").WebEdit("numPassengers").CaptureBitmap "edit_4.bmp"

'指定绝对路径,每次捕捉的图片将被保存到同一个文件夹中,并覆盖原有的图片

Browser("Mercury Tours").Page("Find Flights").WebEdit("numPassengers").CaptureBitmap "C:\ScreenCaps\edit_4.bmp", True

End Sub 

Web 方法:Check
名称:  Check
作用:  检查实际值与期望值是否匹配
语法:  对象.Check (Verify)
语法说明:  对象:浏览器类型的测试对象
 Verify:此参数是必需的, 参数类型为变体型,在测试运行时用于比较和验证期望值的检查点
返回值:  布尔值,True or False
说明:  此方法多用来验证检查点,在配置脚本时创建检查点,在运行时验证检查点的值与实际运行的值是否一样
例子:  下面的例子用check方法来验证检查点

Sub Check_Example()

'验证检查点Roundtrip Ticket,但没有返回值

Browser("Mercury Tours").Page("Find Flights").WebCheckBox("roundtrip").Check CheckPoint("Roundtrip Ticket")

'验证检查点MyProperty,并且返回检查结果到变量a中

dim a

a = Browser("MyBrowser").Page("MyPage").Check ( CheckPoint("MyProperty"))

End Sub


Web 方法:CheckProperty
名称:  CheckProperty
作用:  检查指定的对象属性在规定的时间内是否完成指定的值
语法:  对象.CheckProperty (PropertyName, PropertyValue, [TimeOut])
语法说明:  对象:浏览器类型的测试对象
 PropertyName:此参数是必需的,参数类型为字符串,对象的属性名称,属性值将与期望值比较
 PropertyValue:此参数是必需的,参数类型为变体型,期望值,要与实际属性值相比较的期望值
 TimeOut:可选项,指定一个时间值,为毫秒,方法在指定的时间内运行,如果没有指定时间值,将按运行设置中的超时选项的值.
返回值:  布尔值,如果在指定的时间内完成期望值与属性实际值的比较,则返回True,否则返回False
说明:  如果期望值与实际值不匹配,测试状态将标记为失败,可以用WaitProperty方法避免测试失败
例子:  下面的例子用CheckProperty方法来检查期望值"Mercury"是否输入到"姓名"的文本框中

Sub CheckProperty_Example()

'为"姓名"文本框输入 "Mercury"

Browser("Nested Lists").Page("Page").WebEdit("Name").Set "Mercury"

'检查"姓名"文本框的值是否为 "Mercury"

Browser("Nested Lists").Page("Page").WebEdit("Name").CheckProperty "value", "Mercury"

End Sub

Web 方法:ChildObjects
名称:  ChildObjects
作用:  返回一个对象的所有子对象的集合
语法:  对象.ChildObjects ([Description])
语法说明:  对象:浏览器类型的测试对象
 Description:可选项,参数类型为对象,如文本框,列表,按钮等
返回值:  返回对象的集合
说明:  如果所指的对象不是父级对象,此方法将返回空值,因为父级对象才有子对象可返回
例子:  下面的例子用ChildObjects方法寻找页面中所有的文本框,并在其中一个指定的文本框输入值

Sub ChildObjects_Example()

Dim EditToSearch, ValueToSet, NumberOfEdits

EditToSearch = "credit_card_number" '设置要搜索的文本框名称

ValueToSet = "3558986773230578" '设置为文本框输入的值

Set oDesc = Description.Create() '创建一个描述对象

oDesc("micclass").Value = "WebEdit" '指定搜索的对象为文本框

oDesc("name").Value = "credit_card_number" '指定搜索的名称

'获取页面中所有的文本框对象

Set EditCollection = Browser("Book a Flight: Mercury").Page("Book a Flight:Mercury").ChildObjects(oDesc)

NumberOfEdits = EditCollection.Count '获取文本框对象数量

'在文本框对象集合中搜索指定的名称,并设置其值

For i = 0 To NumberOfEdits - 1

If EditCollection(i).GetROProperty("name") = EditToSearch Then '判断是否为要找的名称

EditCollection(i).Set ValueToSet '设置文本框的值

End If

Next

End Sub


Web 方法:Click
名称:  Click
作用:  点击对象
语法:  对象.Click [x],[y],[Button]
语法说明:  对象:浏览器类型的测试对象;
 x:一个长型字数值,代表对象的横坐标,如果不指定数值,QTP默认为对象的中心位置,该参数是可选的;
 y:一个长型字数值,代表对象的纵坐标,如果不指定数值,QTP默认为对象的中心位置,该参数是可选的;
 Button:一个常量,指明用鼠标点击时,是左击,右击,还是中间键点击,如果不指定数值,QTP默认为左击;参考以下数值:
 左击:micLeftBtn或0,右击:micRightBtn或1,中间键:micMiddleBtn或2
返回值:  没有返回值
说明:  此方法可以让鼠标点击时,指明是左击,右击,还是中间键单击。
例子:  下面的例子用Click实现鼠标点击

'鼠标左击

Sub Click_Example()
Browser("Mercury Tours").Page("Mercury Tours").WebArea("comments").Click
End Sub

 

'鼠标右击

Sub Click_Example()
Browser("Mercury Tours").Page("Mercury Tours").WebArea("comments").Click ,,micRightBtn
End Sub 

Web 方法:Close
名称:  Close
作用:  关闭浏览器窗口
语法:  对象.Close
语法说明:  对象:浏览器类型的测试对象
返回值:  没有返回值
说明:  此方法相当于点击浏览器的关闭按钮
例子:  下面的例子用Close方法关闭浏览器

Sub Close_Example()

Browser("Mercury Tours").Page("Search Results").Image("reserveFlights").Click 41, 20

Browser("Mercury Tours").Page("Method of Payment").Image("buyFlights").Click 11, 5

'关闭浏览器

Browser("Mercury Tours").Close

End Sub 

Web 方法:FireEvent
名称:  FireEvent
作用:  触发一个事件
语法:  对象.FireEvent EventName, [x], [y], [BUTTON]
语法说明:  对象:浏览器类型的测试对象
 EventName:此参数是必需的,参数类型为字符串,指定对象要触发的事件名称,可选的事件名称有onchange, onclick, ondblclick,
 onblur, onfocus, onmousedown, onmouseup, onmouseover, onmouseout, onsubmit, onreset, onpropertychange
 x:此参数是可选的,参数类型为长数字值,指定对象的横坐标
 y: 此参数是可选项,参数类型为长数字值,指定对象的纵坐标
 BUTTON:可选参数,参数类型为常量,指定事件发生时,是用鼠标哪个键(左键,右键,中间键),默认为左键
返回值:  没有返回值
说明:  此方法可以使一个对象触发某个事件
例子:  下面的例子用FireEvent使对象解发一个mouseOver事件

Sub FireEvent_Example()

Browser("Mercury Tours").Page("Mercury Tours").WebEdit("Username").FireEvent "onmouseover"

End Sub


Web 方法:Forward
名称:  Forward
作用:  显示下一页,即显示浏览器的历史列表中的下一页
语法:  对象.Forward
语法说明:  对象:浏览器类型的测试对象
返回值:  没有返回值
说明:  此方法相当于点击浏览器的前进按钮
例子:  下面的例子用Forward方法显示下一页

Sub Forward_Example()

'打开findFlights页

Browser("Mercury Tours").Page("Find Flights").Image("findFlights").Click 103, 13

Browser("Mercury Tours").Back '打开findFlights的前一页

Browser("Mercury Tours").Page("Find Flights").WebRadioGroup("seatType").Select "Coach"

Browser("Mercury Tours").Forward '用Forward方法打开findFlights页

Browser("Mercury Tours").Page("Search Results").Check CheckPoint("Search Results")

End Sub 

Web 方法:FullScreen
名称:  FullScreen
作用:  将浏览器设置为全屏显示
语法:  对象.FullScreen
语法说明:  对象:浏览器类型的测试对象
返回值:  没有返回值
说明:  此方法仅适应于IE浏览器,相当于点击浏览器的最大化按钮
例子:  下面的例子用Forward方法显示下一页

Sub FullScreen_Example()

'将浏览器设置为最大化显示

Browser("Web Testing").FullScreen

End Sub 

Web 方法:GetROProperty
名称:  GetROProperty
作用:  返回应用程序中测试对象指定属性的当前值
语法:  对象.GetROProperty (Property, [PropertyData])
语法说明:  对象:浏览器类型的测试对象
 Property:此参数为必需的,参数类型为字符串,指定一个属性
 PropertyData:可选项,参数类型为变体型,此参数并未启用
返回值:  返回一个变体值
说明:  用此方法可以得到测试运行时对象指定的某个属性值,GetROProperty中的RO是指Run Time Object
例子:  下面的例子用GetROProperty得到运行时指定属性的值

Sub GetROProperty_Example()

dim Val , NumOfItems

'通过Value属性,获取多选框roundtrip的状态,如果选中,则Value的值为ON,否则为OFF

Val = Browser("Mercury Tours").Page("Find Flights").WebCheckBox("roundtrip").GetROProperty("Value")

' 通过Items Count属性,获取单选框seat pref的数量

NumOfItems = Browser("Mercury Tours").Page("Find Flights").WebRadioGroup("seat pref").GetROProperty("Items Count")

End Sub


Web 方法:GetTOProperty
名称:  GetTOProperty
作用:  返回测试对象描述中指定属性的值
语法:  对象.GetTOProperty (Property)
语法说明:  对象:浏览器类型的测试对象
 Property:此参数是必需的,参数类型为字符串,指定测试对象中的一个属性
返回值:  返回变体值
说明:  用此方法可以得到测试对象指定的某个属性值 GetTOProperty中的TO是指Test Object
 GetTOProperty与GetROProperty都是返回对象的属性值,但有所不同
 GetTOProperty是从对象仓库的对象描述中获取属性值(测试对象)
 GetROProperty是测试运行时从应用程序中获取当前的属性值 (实际对象)
 如果不知对象有哪些属性,可以用GetTOProperties方法获取
例子:  下面的例子用GetTOProperty方法获取Table的HtmlTag属性

Sub GetTOProperty_Example()

Dim TableTag

'获取Table的HtmlTag属性

TableTag = Browser("Mercury Tours").Page("Method of Payment").WebTable("FirstName").GetTOProperty("HtmlTag")

' TableTag 的内容为 "TABLE"

End Sub 

Web 方法:Home
名称:  Home
作用:  打开浏览器设置中指定的首页
语法:  对象.Home
语法说明:  对象:浏览器类型的测试对象
返回值:  没有返回值
说明:  此方法相当于点击浏览器中的首页按钮
例子:  下面的例子用Home方法打开浏览器默认首页

Sub Home_Example()

'打开浏览器默认首页

Browser("Web Testing").Home

End Sub 

Web 方法:Navigate
名称:  Navigate
作用:  在浏览器打开指定的网址
语法:  对象.Navigate Location, [TargetFrame], [PostData], [Headers]
语法说明:  对象:浏览器类型的测试对象
 Location:此参数是必需的,参数类型为字符串,指定一个网址
 TargetFrame:可选项,参数类型为字符串,指定一个目标框架,指定的网址将在这个目标框架中打开工
 PostData:可选项,参数类型为字符串,指定数据是否按post方式传输
 Headers: 可选项, 参数类型为字符串,网页的任何头部信息, 例如Cookies,Content-Type...
返回值:  没有返回值
说明:  此方法用于在浏览器中打开指定的网址
例子:  下面的例子用Navigate方法打开指定的网址

Sub Navigate_Example()

'打开指定的网址

Browser("Mercury Tours").Navigate ("www.toone.com")

End Sub 

Web 方法:Output
名称:  Output
作用:  在指定的位置获取对象项目的当前值
语法:  对象.Output Verify
语法说明:  对象:浏览器类型的测试对象
 Verify:此参数是必需的,参数类型为变体值,指定一个包含详细信息的对象
返回值:  没有返回值
说明:  此方法用于显示用户设置的输出值,在输出值选项中设置测试对象的输出值.
例子:  下面的例子用Output方法输出超级链接的文本值

Sub Output_Example()

'输出检查点Jobs对应的值

Browser("Mercury Technologies").Page("Mercury Technologies").Link("Jobs").Output CheckPoint("Jobs")

End Sub 

Web 方法:Refresh
名称:  Refresh
作用:  刷新浏览器中的对象
语法:  对象.Refresh
语法说明:  对象:浏览器类型的测试对象
返回值:  没有返回值
说明:  此方法相当于点击浏览器的刷新按钮,或功能键F5
例子:  下面的例子用Refresh方法刷新浏览器对象

Sub Refresh_Example()

'刷新浏览器打开的页面

Browser("Mercury Tours").Refresh

End Sub 

Web 方法:SetTOProperty
名称:  SetTOProperty
作用:  在对象描述(仓库)中设置指定的测试对象的属性值
语法:  对象.SetTOProperty Property, Value
语法说明:  对象:浏览器类型的测试对象
 Property:此参数为必需的,参数类型为字符串,指定一个对象属性
 Value: 此参数为必需的,参数类型为变体值,指定一个值,这个值将赋给前面指定的对象属性
返回值:  没有返回值
说明:  此方法用于测试程序运行时改变测试对象的属性值,但不影响Active Screen 和对象仓库的对象(这两者是QTP录制时的测试对象)
例子:  下面的例子用SetTOProperty方法在测试运行时改变测试对象的样式

Sub SetTOProperty_Example()

'将just text的背景色改为蓝色

Browser("New Page").Page("New Page").WebElement("just text").SetTOProperty "Style","'color:blue'"

End Sub


Web 方法:Stop
名称:  Stop
作用:  停止浏览器打开页面
语法:  对象.Stop
语法说明:  对象:浏览器类型的测试对象
返回值:  没有返回值
说明:  此方法相当于点击浏览器的停止按钮
例子:  下面的例子用Stop方法停止浏览器打开页面

Sub Stop_Example()

Browser("New Page").Stop

End Sub


Web 方法:Sync
名称:  Sync
作用:  等待浏览器完全加载页面
语法:  对象.Sync
语法说明:  对象:浏览器类型的测试对象
返回值:  没有返回值
说明:  此方法用于同步QTP脚本与浏览器页面的时间
例子:  下面的例子用Sync方法等待页面完全加载

Sub Sync_Example()

SystemUtil.Run "iexplore.exe", "http://www.google.com"

Browser("Google").Page("Google").Sync

Browser("Google").Navigate "http://www.cnn.com"

Browser("Google").Page("CNN.com - Breaking News,").Sync

Wait 10

Browser("Google").Back

End Sub

Web 方法:ToString
名称:  ToString
作用:  返回描述当前测试对象的文本信息
语法:  对象.ToString
语法说明:  对象:浏览器类型的测试对象
返回值:  字符串
说明:  此方法将对象名称或类型转换为字符
例子:  下面的例子用ToString方法获取对象名称和类型并加入到测试报告中

Sub ToString_Example()

'获得List对象的名称

ObjectString = Browser("Fill-Out Form Example").Page("Fill-Out Form Example").WebList("who-to-do-it-with").ToString

'将List名称加入到测试报告中

Reporter.ReportEvent micDone, "We are selecting the fourth item in the " & ObjectString,""

'选中List列表中第四项

Browser("Fill-Out Form Example").Page("Fill-Out Form Example").WebList("who-to-do-it-with").Select "#4"

End Sub

Web 方法:WaitProperty
名称:  WaitProperty
作用:  等待对象属性达到指定的值或超过指定的时间,再继续运行下一步
语法:  对象.WaitProperty (PropertyName, PropertyValue, [TimeOut])
语法说明:  对象:浏览器类型的测试对象
 PropertyName:此参数是必需的,参数类型为字符串,指定对象的属性
 PropertyValue:此参数是必需的,参数类型为变体值,指定对象属性的值
 TimeOut: 此参数是可选项, 指定一个时间(毫秒),程序没有超过这个时间,则不会执行下一步,
     如果不指定时间,QTP将采用在运行设置选项中同步超时时间
返回值:  布尔值,对象属性在指定的时间内达到指定的值,则返回True,否则返回False
说明:  此方法在处理对象同步时很有用,它可以处理同步对象的某个属性,而Exist方法是判断对象是否存在,不能同步对象的属性
例子:  下面的例子用WaitProperty方法等待文本框的enable属性变为可编辑时,为文本框赋值

Sub WaitProperty_Example2()

'等待Account文本框的disable属性变为false

If Browser("index").Page("index").WebEdit("Account").WaitProperty("disabled", 0) Then

'为Account文本框赋值,如果文本框的disable属性不变为false或超时,则不会赋值

Browser("index").Page("index").WebEdit("Account").Set ("123")

End If

End Sub 


该文章对你有帮助吗,打开微信扫码打赏哦,谢谢! 求分享转发:

 

 

粤ICP备19116230号
友情链接: 码农藏书阁 天天链