QTP进阶使用2

上午实习任务:

  • 新建一个Test以call existing的方式调用自己或同事的action,实现对飞行预订票系统登录一次,订票5张,要求对订票人名字、航班日期、起飞地点、到达地点、票数进行参数化
  • 已知登录、订票、传真、退出分成4个Action, 新建一个Test实现飞行预订票系统测试,要求:
    • 登录、退出各一次,
    • 订票2次,2次订票的人、日期、起飞、到达地点都不同,
    • 每订一次票发一个传真, 要求每次发的传真号不同

注意事项

1、订票时要录制“新建订单”操作,不然多次订票时会被识别为修改

2、各单元分别录制时,注意实现局部参数化,以保证调用后能修改数据


任务一

截图如下(存储位置:…7.27 / Test1)


任务二

1、如果采用兄弟结构建立4个action,其中订票和发传真参数化为2组数据,运行后会形成:

登录 --> 订票1 --> 订票2 --> 发传真1 --> 发传真2 --> 退出

的现象。

2、如果传真为订票的子action,形成如下的结构,其中,订票为运行2行,传真为运行1行。则有:

登录 --> 订票1 --> 传真1 --> 订票2 --> 传真1 --> 退出

还是不符合。

3、若在2的基础上,把传真改为运行2行,则有:

登录 --> 订票1 --> 传真1 --> 传真2  --> 订票2 --> 传真1 --> 传真2 --> 退出

4、若在2的基础上,把订票变成全局参数,则有:

登录 --> 订票1 --> 传真1 --> 退出 --> 登录 --> 订票2 --> 传真1 --> 退出

5、若在3的基础上,把传真变成全局参数,订票改为运行1次,则有:

登录 --> 订票1 --> 传真1 --> 退出 --> 登录 --> 订票1 --> 传真2 --> 退出


由此可知,不能有全局参数,否则全部的4个action都会运行相应的次数。

如果新建一个空action2,仅把订票和传真包含在其内,对action2进行参数化,运行2次呢

形如:

action登录

action2{

action订单

action传单

}

action退出

这就会遇到一个问题,因为action2是空的,是无元素的。

我们需要把register和fax的参数都传进去。

这个方法时间成本较高。

有了传参的了解后再换回2的思路:

action登录

action订单{

action传单

}

action退出

这时我们只需把“传单”中的一个fax参数传出来,相比于上面的想法参数少了很多,可以节约时间成本。

关于传参的方法可看下面的介绍。


我们打开一个两位数加法器的test,对其进行拆分

第一部分为“open”,仅记录打开的动作

第二部分为“other”,记录计算和关闭

可以发现,拆分完毕后,在“open”中多了一行代码

RunAction”other”,oneIteration

这是调用的代码


回到飞机订票系统。

把光标停在“订票”的最后一行,然后加入父子关系的“传真”action

注意这里如果不停在该行,可能会出现不能选择父子关系的情况

这也可以解释为什么拷贝过来的action可以设置父子关系但是调用的不行

因为调用的action代码是无法修改的,自然无法加入那一行,不能调用。

右键“传真”action,打开其属性,选择[parameters]

加入父子调用所需要的参数fax

我们打开帮助文档查看

在“索引”搜索runaction

可以找到如下一段话

The following example runs one iteration of the action, supplies a string value of MyValue for the input parameter, and stores the resulting value of the output parameter in a variable called MyVariable.

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

我们对飞机订票系统的test进行相应的改造

把调用代码加上参数,为

在数据表中加入一列

切换到传真action页面,对传真号进行设置

可以发现,参数类型多了一项“Test/action parameter”

选择,确定

发现代码行有如下变化

此处也可直接在代码区进行修改

运行一下, 功能实现


同理,之前提到的空action2包含订票和传单的test也是同样的处理。

总结一下就是:

(1)在register的action属性中添加对应的5个参数

     在fax的action属性中添加对应的1个参数

(2)在action2的数据表中添加2行6列的值

(3)修改action2处调用的代码,传参

(4)把register和fax对应的参数类型进行修改

(5)修改action2的运行属性为运行所有行

此处不再截图,具体图片详解可见上。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值