QTP进阶action传参专题.doc
文本预览下载声明
送您一句话 每天早上,一只非洲羚羊醒来, 它就知道必须比跑得最快的非洲狮子还要快, 否则它就会被吃掉; 每天早上,一只非洲狮子醒来,它就知道必须比跑得最慢的非洲羚羊还要快, 否则它就会饿死; 所以不管你是狮子还是羚羊, 当太阳升起的时候,你就得开始a name=baidusnap0/a奔跑/B了 ! Action传递参数 Action传递参数的三个方法(变量访问和共享) 通过DataTable共享 DataTable对于每个Action都是可见的 通过环境变量共享 环境变量也是Test工程的共享变量 通过Action Parameters的参数传递 对Action的属性设置和对调用的属性设置来进行参数传递,只有有调用关系才能共享。 调用带有参数的操作 带有参数的操作调用使用以下语法:? ??RunAction ActionName,IterationQuantity,Parameters 输入参数在输出参数之前 输入参数 固定值 已定义参数(数据表参数、环境参数或调用操作的操作输入参数) 输出参数 变量 已定义参数(数据表参数、环境参数或调用操作的操作输出参数) Action Parameters的参数传递 例如, Action1 调用 Action2,且 Action2 有一个已定义的输入参数和一个已定义的输出参数。 RunAction “Action2”, oneIteration, “MyValue”, MyVariable 为输入参数提供“ MyValue” 的字符串值,并将输出参数生成的值存储在名为 MyVariable 的变量中。 RunAction Action2, oneIteration, Parameter name , DataTable out, dtLocalSheet 使用为 Action1 的 name 输入操作参数定义的值作为该输入参数的值,并将输出参数生成的值存储在 Action1 的数据表工作表中名为 out 的一列中。 Action Parameters的参数传递 RunAction “aaa”,oneIteration或(RunAction “aaa”,0 ):迭代一次。(参数表只运行一行) RunAction “aaa”,allIterations或(RunAction “aaa”,1 ) :运行参数表所有行 RunAction “aaa”,”1-4”:只运行参数表1-4行。 Action间传参实例 本例的业务流程: 登录系统, 新建订单,产生订单编号,最后,通过传递这个订单编号,查询这条订单. 用到QTP的知识: QTP中Action split 拆分 ; Action中参数传递. Action间传参实例 首先录制一个完整流程: 1 输入用户名和密码,登录系统; 2 输入订单日期,起始地点,选择航班. 3 输入订购人名称以及数量,选择类别,点击insert产生订单.系统会自动生成订单编号. 4 通过传递该订单编号,查询这条订单. 5 退出系统. Action间传参实例 Action间传参实例 注意: Nested是按照嵌套模式划分,因为首先要划分一个main Action,这个main Action中去调用其他嵌套的action 如:log_in,new_order,insert_order,open_order,log_out. ,所以第一次划分的时候选择的是Nested. 注:在Expert视图中划分,光标放在第一行代码的前面 Action间传参实例 注意: 每次在图上界面中,1st action 的Name是上一次划分时的2nd action的Name. 我们需要将这个业务流程拆分成一个main Action 和 4个Action,分别是: log_in,new_order,insert_order,open_order,log_out. 划分完成后,在main action 中产生的脚本如下:? Action间传参实例 main?脚本 RunAction log_in, oneIterationRunAction new_order, oneIterationRunAction insert_order, oneIteration,ordernoRunAction open_order, oneIteration,ordernoRunAction log_out, oneIteration Action间传参实例 log_in 脚本 Dialog Login .WinEdit Agent Name: .Set jojoDialog Login .WinEdit Password: .SetSecure 49
显示全部