QTP常用函数一

使用QTP自动化测试,当然就离不开函数。函数的种类和使用方法太多,在这里不可能一一讲解,所以只选取一些比较常用的函数。以达到可以满足QTP的一般应用为目的。本文由官方帮助文档翻译而来,个人水平有限,难免有纰漏或不准。

实用语句:DescribeResult
名称:  DescribeResult
作用:  返回指定的错误代码对应的信息描述
语法:  DescribeResult(Error)
语法说明:  Error:错误代码,可以用GetLastError得到代码
返回值:  字符串
说明:  将错误代码转换成错误信息,对跟踪调试测试脚本很有用
例子:  下面的例子用DescribeResult语句将登录失败的错误代码转换成文本信息

'点击登录图标

Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 19, 55

'获得错误代码

x = GetLastError

'将错误代码转换成文本信息

msgbox(DescribeResult(x)) 


实用语句:ExecuteFile
名称:  ExecuteFile
作用:  运行指定的vbscript文件
语法:  ExecuteFile File
语法说明:  File:此参数是必需的,参数类型为字符串,指定文件的绝对路径或相对路径
返回值:  没有返回值
说明:  让QTP运行外部文件(vbscript),文件运行时,文件中所有定义的函数,过程,类等程序在QTP的action中属于全局类型,即action的任何地方都可以调用外部文件定义的程序块
例子:  下面的例子用ExecuteFile语句执行外部文件,并调用文件中的函数

'执行文件MyFunctions.vbs

ExecuteFile "MyFunctions.vbs"

'调用SomeFunction函数,这个函数在MyFunctions.vbs中已定义

x = SomeFunction() 

实用语句:ExitActionIteration
名称:  ExitActionIteration
作用:  退出当前action本次循环,继续运行ation的下次循环
语法:  ExitActionIteration[(RetVal)]
语法说明:  RetVal:可选项,参数类型为变体值,指定action的返回值
返回值:  变体值
说明:  停止action中的某次循环,其退出语句和action返回值将显示在测试结果中
例子:  下面的例子检查DataTable中的城市名称,如果是Paris,则停止本次循环

'从DataTable获取城市名

CurrentCity = DataTable("City", dtLocalSheet)

'如果城市名为Paris,则退出本次循环

If CurrentCity = "Paris" Then ExitActionIteration("Skipping Paris")  

实用语句:ExitAction
名称:  ExitAction
作用:  直接退出当前action,忽略ation的循环
语法:  ExitAction[(RetVal)]
语法说明:  RetVal:可选项,参数类型为变体值,但必需是常量,不是能是变量,指定action的返回值
返回值:  变体值
说明:  直接退出某个action,其退出语句和action返回值将显示在测试结果中
例子:  下面的例子用于检查程序的版本并根据版本退出指定的action

' 获取程序版本

FormVersion = RunAction("GetFormVersion", oneIteration)

If FormVersion = 2 Then

ExitAction(2) '退出action并返回2

Else

ExitAction(1) '退出action并返回1

End If 

实用语句:ExitTest
名称:  ExitTest
作用:  完全退出QTP测试程序
语法:  ExitTest[(RetVal)]
语法说明:  RetVal:可选项,参数类型为变体值,指定返回值
返回值:  变体值
说明:  在任何时候,任何地方要退出整个测试时,可用此语句
例子:  下面的例子在用户名检查点检查失败时退出测试

Dim res

res = Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit ("userName").Check ( CheckPoint("userName") )

If res = False Then

ExitTest '退出测试

End If

实用语句:GetLastError
名称:  GetLastError
作用:  返回最新出错的代码
语法:  GetLastError
语法说明:  直接调用即可
返回值:  数字类型
说明:  获取错误代码后,通常与DescribeResult语句一起使用
例子:  下面的例子获取登录时的最新错误代码

Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 19, 55

x = GetLastError '获取错误代码

msgbox(DescribeResult(x)) '转换错误代码为文本信息 

实用语句:InvokeApplication
名称:  InvokeApplication
作用:  调用可执行程序(即EXE程序)
语法:  InvokeApplication(Command [,StartIn])
语法说明:  Command:字符串类型参数,指定可执行文件的路径
 StartIn:可选项,指定与路径相关的工作文件夹
返回值:  布尔值,True 或 False
说明:  如果不能打开指定的文件,则返回False,否则返回True
例子:  下面的例子实现调用IE浏览器

InvokeApplication "E:\Program Files\Plus!\Microsoft Internet\IEXPLORE.EXE"

实用语句:Print
名称:  Print
作用:  在测试运行期间,在QTP打印日志窗口中显示信息
语法:  Print (Message)
语法说明:  Message:字符串类型参数,指定用于打印的信息
返回值:  没有返回值
说明:  Print语句只在测试运行期间在日志窗口显示信息
例子:  下面的例子在测试运行时将飞行表格中的各个信息显示在日志窗口中

Set FlightsList = Window("Flight Reservation").Dialog("Flights Table").WinList("From")

For i = 1 to FlightsList.GetItemsCount

Print FlightsList.GetItem(i - 1) '循环打印飞行项目

Next 

实用语句:RunAction
名称:  RunAction
作用:  运行指定的action
语法:  RunAction ActionName, [Iteration , Parameters]
语法说明:  ActionName:字符串类型,指定一个action的名称
 Iteration:可选项,变体值类型,循环次数,oneIteration或0代表执行一次,
          allIteration或1代表执行所有循环,默认为一次
 Parameters:可选项,变体值类型,指定action的输入参数和输出参数
返回值:  变体值
说明:  使用RunAction语句时,Iteration循环是指执行数据表中的参数(如果有设置参数化)
 如果调用的是外部action,则要先将action导入到测试中(Insert-->Copy of Action)
例子:  下面的例子列举RunAction的几种用法

'运行SearchFlight这个Action,如果存在数据表参数化,则循环运行所有参数

RunAction "SearchFlight", allIterations

'运行SearchFlight这个Action,只运行一次(如果存在参数化,则调用最后一个参数),并返回值

AxnVal=RunAction ("SearchFlight", oneIteration)

'运行Action2,只运行一次,并将MyValue作为输入参数,MyVariable作为输出参数

RunAction "Action2", oneIteration, "MyValue", MyVariable 

实用语句:Wait
名称:  Wait
作用:  在测试运行期间,暂停指定的时间
语法:  Wait Seconds [, Milliseconds]
语法说明:  Seconds:数字类型,指定等待的秒数
 Milliseconds:可选项,数字类型,指定等待的毫秒数
返回值:  没有返回值
说明:  可在程序中加入wait语句,暂停运行,达到测试脚本与浏览器显示同步的目的.
例子:  下面的例子在操作两个选择列表之间等待10秒钟

Browser("Mercury Tours").Page("Find Flights").WebList("depart").Select "London"

Wait(10) '等待10秒,模拟人为思考时间

Browser("Mercury Tours").Page("Find Flights").WebList("arrive").Select "New York"


Web 属性:Exist
名称:  Exist
作用:  验证对象是否存于当前打开的应用程序中
语法:  对象.Exist([TimeOut])
语法说明:  对象:浏览器类型的测试对象
 TimeOut: 此参数是可选项, 指定一个时间(毫秒)
   如果不指定时间,QTP将采用在测试设置选项中同步超时时间,系统默认为20秒
   如果指定的时间为0,则程序会马上返回结果
   如果指定时间,则程序会等待找到对象或直到时间超间为止
返回值:  布尔值,True 或 False
说明:  此属性用于判断对象是否存在当前应用程序中
例子:  下面的例子用Exist方法判断登录后搜索图标是否存在

Sub Exist_Example()

Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 0, 0 '登录

Wait (5) '等待5秒

If Browser("Mercury Tours").Page("Welcome to Mercury").Image("Search Flights").Exist Then

MsgBox "The Image Exists." '搜索图标存在

Else

MsgBox "Cannot find the Image." '搜索图标不存在

End If

End Sub

Web 属性:Object
名称:  Object
作用:  访问处理浏览器内部方法和属性
语法:  对象.Object
语法说明:  对象:浏览器类型的测试对象
返回值:  对象的只读对象
说明:  object属性只能用于IE浏览器,不能在Netscape 和 Mozilla Firefox中使用
 使用object属性实际是使用DOM对象,DOM是指文档对象模型,(Document Object Model )
 所有的超文本标记语言(HTML)中的元素都可以通过DOM来控制
例子:  下面的例子用Object属性使用户名文本框得到焦点

Sub Object_Example()

Dim MyWebEdit

Set MyWebEdit = Browser("Mercury Tours").Page("Mercury Tours").WebEdit("username").Object

MyWebEdit.focus '设置焦点,则光标停留在文本框中

End Sub 


该文章对你有帮助吗,求分享转发: 分享到QQ空间 分享给QQ好友

 

 

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