QTP中Action 参数调用方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QTP 中Action参数传递的方法
在自动化测试的脚本中,可能因为业务的需要创建多个Action进行不同业务流程的分离,参数传递必须要有一个中间媒介担任数据中转的工作,QTP中常用的几个方法进行参数的传递。
Parameter
Environment
Data Table
1:通过Parameter函数进行参数传递
Parameter函数格式如下:
Parameter(ParamName)
例如:飞机订票系统。
当订票完成后,输入票号,可以查到该票号的信息。
这里涉及到参数的传递。
1.首先我们登陆飞机订票系统,然后新建订单,打开订单,关闭
订单。
拆分Action,选择菜单功能split Action。
设置一个主要的Acton 为main,分别调用登陆(login),新建订单(booking),打开订单(open),关闭订单(close)。
如图:
2.在main Action中调用Action:
Dim order
RunAction "login", oneIteration
RunAction "booking", oneIteration,order
RunAction "open", oneIteration,order
RunAction "close", oneIteration
其中RunAction是调用action的函数,后面是调用的action的名称,和相关的参数。
order变量对应着booking里的output参数.从booking中传
出来,再把这个变量传给open 的order.在open中还要同样设置input参数.和这个order变量对应。
3.在booking action中选择菜单选项,在action properties中设置
一个output 参数为orderno.然后在”Order No”插入output
value.代码如下:Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:").
4.在open action的 Action properties 里面设置一个input
parameter 参数,名为orderno.然后改相关的代码如
下:Window("Flight Reservation").Dialog("Open
Order").WinEdit("Edit").Set Parameter("orderno").这样可以使用booking传过来的参数了。
以下是各个action代码:
Main:
Dim order
RunAction "login", oneIteration
RunAction "booking", oneIteration,order
RunAction "open", oneIteration,order
RunAction "close", oneIteration
login:
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure
"4f444430648bd687fb9d17236cd471882993f970"
Dialog("Login").WinButton("OK").Click
booking:
Window("Flight Reservation").WinObject("Date of Flight:").Type "022312"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights
Table").WinList("From").Select "13225 FRA 07:24 PM LON 08:07 PM AA $172.47"
Window("Flight Reservation").Dialog("Flights
Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "qqqqq" Window("Flight Reservation").WinRadioButton("Business").Set Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1 Window("Flight Reservation").WinEdit("Tickets:").Set "3"
Window("Flight Reservation").WinButton("Insert Order").Click
wait 12
Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:")
Exit:Window("Flight Reservation").Close
2. 运用Environment函数参数传递
假设一个测试脚本有两个Action,分别取名为:OutputAct, InputAct.
(1)在OutputAct里面设置输出参数,参数名为name.
(2)在OutputAct的Action中设置参数赋值,代码为:
Environment(“name”)=”laijing”
(3)在InputAct的Action中获取环境变量,代码为:
Param=Environment(“name”)
3.运用data table参数传递
data table是作为参数保存,数据处理的一个最常用以及功能强大的一个手段。
操作步骤如下:
(1)在datatable中的global sheet中创建一个新字段,为Name.
(2)设置与获取参数
在OutputAct里面进行参数的赋值操作,代码如下:
DataTable(“Name”,dtGlobalSheet).value=”laijing”
在InputAct里面进行参数的赋值操作,代码如下:
Param=DataTable(“Name”,dtGlobalSheet).value
上面3种参数模式的不同点:
(1)参数的有效性范围:
Parameter:只能适用与参数定义的Action使用,不能在其它的Action中进行调用。
Environment:适用于整个脚本,任何一个Action都可以调用,所以脚本内的变量不能重复。
DataTabel:适用于整个脚本,而且通过sheet(local,share)的类型,作为一个变量的逻辑范围约定,在同一个sheet中参数命名不能重复。
(2)参数的类型
Parameter和Environment:这两种模式无法进行数组参数的
传递。
DataTabel:可以通过多行数据的模式来替代数组的模式进行参数传递。
(3)参数来源
Parameter与DataTabel:参数来源只能在脚本中通过程序或者手工设置。
Environment:可以由其它脚本进行修改或者调用,可以在不同的Run session进行设置或调用。