[原创]QTP中action之间的参数传递应用实例详解
来源:百度文库 编辑:神马文学网 时间:2024/04/28 03:25:16
(2009-04-18 20:27:28)转载
标签:qtp
action间
参数传递
it
分类:QTP测试工具
本帖子为本人原创,转载请注明作者:Cheers . Lee 以及网络来源:
这个问题本来不想写,个人认为:QTP中action之间的参数传递,应该是比较容易的事情.但是今天用的时候,突然没有设置成功,哎! 忘得真是个快啊!所以有感而发,相信这篇文章对很多人都会有用,我自己也拿来备忘.
好了,废话少说,直接切入正题.
还是用QTP自带的flight4a.exe为例.
本例的业务流程:首先登陆系统,然后新建一订单,然后产生订单编号,最后,通过传递这个定的那编号,去查询这条订单.
用到QTP的知识:QTP中Action split(拆分);Action中参数传递.
首先我们录制完成的一个流程:(1)输入用户名和密码,登录系统;(2)输入订单日期,起始地点,选择航班.(3)输入订购人名称以及数量,选择类别,点击insert产生订单.系统会自动生成订单编号.(4),通过传递这个定的那编号,去查询这条订单.(5)然后退出系统.
按照流程录制玩脚本,对这个脚本进行拆分,在Edit-Action-Split Action 中,如图:
注意:Nested为我们要按照嵌套模式划分,因为我们首先要划分一个main Action,这个main Action中去调用其他嵌套的action(如:log_in,new_order,insert_order,open_order,log_out.),所以第一次划分的时候选择的是Nested.在划分时,记住一定是在Expert视图中划分,键鼠标光标放在第一行代码的前面,然后在Edit-Action-Split Action,就出现如上图的界面.
接下,用上边同样的方法,划分其他Action,这是要选择:Independent of each other.即,划分几个独立的Action.每次能将一个Action划分成2个,重复操作,直到划分完成.
注意:每次在如图:上.界面中,1st action 的Name是上一次划分时的2nd action的Name.
我们需要将这个业务流程拆分成一个main Action 和 4个Action分别是:log_in,new_order,insert_order,open_order,log_out.
划分完成后,在main action 中产生的脚本如下:
main 脚本(这是已经完成修改后的脚本)
RunAction "log_in", oneIteration
RunAction "new_order", oneIteration
RunAction "insert_order", oneIteration,orderno
RunAction "open_order", oneIteration,orderno
RunAction "log_out", oneIteration
其他脚本为:
log_in 脚本
Dialog("Login").WinEdit("Agent Name:").Set "Cheers.Lee"
Dialog("Login").WinEdit("Password:").SetSecure "49e93b35b292190e081ad0ce13cf2b8519acfc2d"
Dialog("Login").WinButton("OK").Click
new_order 脚本
Window("Flight Reservation").ActiveX("MaskEdBox").Type "090418"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
insert_order 脚本(这是已经完成修改后的脚本)
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "11427 FRA 09:48 AM LON 10:31 AM AA $170.47"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "lihuichang"
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinRadioButton("Economy").Set
Window("Flight Reservation").WinButton("Insert Order").Click
wait 8
Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:")
open_order 脚本(这是已经完成修改后的脚本)
Window("Flight Reservation").Activate
Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set Parameter("orderno")
log_out 脚本
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
脚本划分完成后,下来,我们要做的就是action之间的值传递.
这里注意的是,我们的值是从insert_order action中的WinEdit("OderNo:")的值传给Open_order action中的OrderNo:如图:
action 间值传递的步骤:
1.在Key_Word视图中,在insert_order上右键,选择Action Properties-Parameter,在Output Paramters中增加一变量orderno.如图:
完成后,点击确定,保存此设置.
2.在insert_order action中Key_Word视图中,选择WinEdit("OderNo:")(如果没有该对象,需要在对象库中添加该对象),右键,在菜单中选择"Insert OutPut Value...",打开OutPut value Properties 窗口.如图:
在text前的复选框 打钩(选中),并点击 Modify 按钮.出现如图窗口:
在Output types:中选择 Test/action parameter,zai Parameter选择oderno(这就是刚才Output中添加的变量),然后,点击"OK","OK"保存.
3.在Key_Word视图中,在open_order上右键,选择Action Properties-Parameter,在Intput Paramters中增加一变量orderno.如图:
4.在open_order的Expert View中需要将
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set "57"
改为:
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set Parameter("orderno")
5.将main action脚本改成:
main 脚本
RunAction "log_in", oneIteration
RunAction "new_order", oneIteration
RunAction "insert_order", oneIteration,orderno
RunAction "open_order", oneIteration,orderno
RunAction "log_out", oneIteration
保存脚本.完整的脚本,如main,log_in,new_order,insert_order,open_order,log_out所示(已修改好的).
运行脚本,发现orderno这个值已经在运行时从insert_order action传递到open_order action中.
至此,操作结束.OK! 发现,写博文好浪费时间啊 ^_^.
标签:qtp
action间
参数传递
it
分类:QTP测试工具
本帖子为本人原创,转载请注明作者:Cheers . Lee 以及网络来源:
这个问题本来不想写,个人认为:QTP中action之间的参数传递,应该是比较容易的事情.但是今天用的时候,突然没有设置成功,哎! 忘得真是个快啊!所以有感而发,相信这篇文章对很多人都会有用,我自己也拿来备忘.
好了,废话少说,直接切入正题.
还是用QTP自带的flight4a.exe为例.
本例的业务流程:首先登陆系统,然后新建一订单,然后产生订单编号,最后,通过传递这个定的那编号,去查询这条订单.
用到QTP的知识:QTP中Action split(拆分);Action中参数传递.
首先我们录制完成的一个流程:(1)输入用户名和密码,登录系统;(2)输入订单日期,起始地点,选择航班.(3)输入订购人名称以及数量,选择类别,点击insert产生订单.系统会自动生成订单编号.(4),通过传递这个定的那编号,去查询这条订单.(5)然后退出系统.
按照流程录制玩脚本,对这个脚本进行拆分,在Edit-Action-Split Action 中,如图:
注意:Nested为我们要按照嵌套模式划分,因为我们首先要划分一个main Action,这个main Action中去调用其他嵌套的action(如:log_in,new_order,insert_order,open_order,log_out.),所以第一次划分的时候选择的是Nested.在划分时,记住一定是在Expert视图中划分,键鼠标光标放在第一行代码的前面,然后在Edit-Action-Split Action,就出现如上图的界面.
接下,用上边同样的方法,划分其他Action,这是要选择:Independent of each other.即,划分几个独立的Action.每次能将一个Action划分成2个,重复操作,直到划分完成.
注意:每次在如图:上.界面中,1st action 的Name是上一次划分时的2nd action的Name.
我们需要将这个业务流程拆分成一个main Action 和 4个Action分别是:log_in,new_order,insert_order,open_order,log_out.
划分完成后,在main action 中产生的脚本如下:
main 脚本(这是已经完成修改后的脚本)
RunAction "log_in", oneIteration
RunAction "new_order", oneIteration
RunAction "insert_order", oneIteration,orderno
RunAction "open_order", oneIteration,orderno
RunAction "log_out", oneIteration
其他脚本为:
log_in 脚本
Dialog("Login").WinEdit("Agent Name:").Set "Cheers.Lee"
Dialog("Login").WinEdit("Password:").SetSecure "49e93b35b292190e081ad0ce13cf2b8519acfc2d"
Dialog("Login").WinButton("OK").Click
new_order 脚本
Window("Flight Reservation").ActiveX("MaskEdBox").Type "090418"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
insert_order 脚本(这是已经完成修改后的脚本)
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "11427 FRA 09:48 AM LON 10:31 AM AA $170.47"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "lihuichang"
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinRadioButton("Economy").Set
Window("Flight Reservation").WinButton("Insert Order").Click
wait 8
Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:")
open_order 脚本(这是已经完成修改后的脚本)
Window("Flight Reservation").Activate
Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set Parameter("orderno")
log_out 脚本
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
脚本划分完成后,下来,我们要做的就是action之间的值传递.
这里注意的是,我们的值是从insert_order action中的WinEdit("OderNo:")的值传给Open_order action中的OrderNo:如图:
action 间值传递的步骤:
1.在Key_Word视图中,在insert_order上右键,选择Action Properties-Parameter,在Output Paramters中增加一变量orderno.如图:
完成后,点击确定,保存此设置.
2.在insert_order action中Key_Word视图中,选择WinEdit("OderNo:")(如果没有该对象,需要在对象库中添加该对象),右键,在菜单中选择"Insert OutPut Value...",打开OutPut value Properties 窗口.如图:
在text前的复选框 打钩(选中),并点击 Modify 按钮.出现如图窗口:
在Output types:中选择 Test/action parameter,zai Parameter选择oderno(这就是刚才Output中添加的变量),然后,点击"OK","OK"保存.
3.在Key_Word视图中,在open_order上右键,选择Action Properties-Parameter,在Intput Paramters中增加一变量orderno.如图:
4.在open_order的Expert View中需要将
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set "57"
改为:
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set Parameter("orderno")
5.将main action脚本改成:
main 脚本
RunAction "log_in", oneIteration
RunAction "new_order", oneIteration
RunAction "insert_order", oneIteration,orderno
RunAction "open_order", oneIteration,orderno
RunAction "log_out", oneIteration
保存脚本.完整的脚本,如main,log_in,new_order,insert_order,open_order,log_out所示(已修改好的).
运行脚本,发现orderno这个值已经在运行时从insert_order action传递到open_order action中.
至此,操作结束.OK! 发现,写博文好浪费时间啊 ^_^.
[原创]QTP中action之间的参数传递应用实例详解
在页面之间传递参数大全
Struts2中struts.xml的Action配置详解
向javaFX程序中传递参数
QTP的Action间的信息共享的4种方法
涉及C语言中参数调用和参数传递机制的探讨_非常编程 专注编程
关于在C#中调用C DLL 时的参数传递
有关URL地址传递参数中出现的中文乱码问题解决方法
[转载]汇编中参数的传递和堆栈修正 - 机器细语[ ASM ] - 各类程序语言{ Pro...
QTP中测试环境的初始化
函数参数的传递三种方式
c/c++的函数参数传递机制
Action接收URL中的参数
linux中ftp命令参数详解
GTD词典:Project Task Action之间的关系
QTP - 参数化LINK的方法汇总 - whoamiyaya的学习天地 - 51Test...
cache_peer(forceddomain)参数的应用
ICE参数传递分析
ICE参数传递分析
Struts-config.xml配置文件《action-mappings》元素的详解 -...
转delphi过程函数传递参数的几种方式
滤镜在摄影中具体应用实例
VLOOKUP函数的应用实例
VBA的过程及参数详解