QTP关键技术(二)——QTP同步点、并行Action间的参数传递

发表于:2007-9-24 13:59

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:hollyzhao    来源:hollyzhao的专栏

#
QTP

一 对同步点的理解

  1)QTP的脚本语言是VBScript,脚本在执行的时候,执行语句之间的时间间隔是固定的,也就是说脚本在执行完当前的语句之后,等待固定的时间间隔后开始执行下一条语句
 
  2)问题:假设后一条语句的输入是前一条语句的输出,如果前一条语句还没有执行完,这时候将要导致错误的发生!
 
  3)措施:加入同步点、加入Wait语句

  4)同步点Synchronization Point
  QTP脚本在执行过程中如果遇到同步点,则会暂停脚本的执行,直到对象的属性获取到了预先设定的值,才开始执行下一条脚本。
如果在规定的时间内没有获取到预先设定的值,则会抛出错误信息。
 
例如:
  Window("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "text", "Insert Done...", 10000
  执行到上面这条语句时,QTP会暂停执行,直到显示”Insert Done…”,
  如果在规定的时间10,000ms后text的值没有等于”Insert Done…”,则会抛出错误信息
 
5)如何获取Synchronization Point
       A.在Recording状态下,通过Insert è Synchronization Point实现
       B.非Recording状态下,在Expert View下,通过Insert è Step Generator è Category(Test Objects)è Object(The Object you’re Testing) è Operation(WaitProperty)è PropertyName、PropertyValue、TimeOut分别填写"text", "Insert Done...", 10000

6)Wait
  总的来说就是死等,比如说wait 10,当运行到这条语句时,等待10秒钟后,才开始再读下面的语句。所以说写脚本的时候一定要估计好时间,否则的话会浪费运行的时间,或者出现等待时间不足的现象。

二 并列Action间的参数传递 

  思路:将Action1的输出参数,传递给Action2作为输入参数。
 
  1)创建两个Action,关系是并列关系,不是嵌套的.
           

  2)右键Action1,选Action Properties,在Output Parameters中添加参数OutAction1,点OK
 
  3)右键Action2,选Action Properties,在Input Parameters中添加参数InAction2,点OK
  
  4)将Action1的输出OutAction1,传递给Action2的输入InAction2
 
  右键Action2,选Action Call Properties,弹出Action Call Properties窗口;
  选中InAction2的Value,弹出Value Configuration Options窗口;
  在Parameter中共有四项可供选择,选择Test/Action parameter,
  在Output from previous call(s)中的Action选择Action1,Parameter中选择OutAction1;
  表示Action2中的参数InAction2,是由Action1中的参数OutAction1传递而来。

      

  以上就完成了两个并列Action间参数的传递,Action2只能调用Action1的输出参数,而不能调用Action的输入参数。
 
三 嵌套Action间的参数传递
  参数传递思路:
  将Action1的输入参数InAction1传递给Action2的输入参数InAction2,
  将Action2的输出参数OutAction2传递给Action1的输出参数OutAction1。
  此文为Hollyzhao于2007年09月在http://blog.csdn.net/softesting 发布,夜深了,有点累~
  1)创建两个Action,嵌套关系,在关键字视图,拖动Action2到Action1下面有缩进的地方
    
  2)右键Action1,选Action Properties,
  在Input Parameters中添加参数InAction1,
  在Output Parameters中添加参数OutAction1,点OK
 
  3)右键Action2,选Action Properties,
  在Input Parameters中添加参数InAction2,
  在Output Parameters中添加参数OutAction2,点OK
 
  4)在Action1和Action2间建立关联
  右键Action2,选Action Call Properties,弹出Action Call Properties窗口;
  此文为Hollyzhao于2007年09月在http://blog.csdn.net/softesting 发布,夜深了,有点累~
  选中InAction2的Value,弹出Value Configuration Options窗口;
  在Parameter中共有四项可供选择,选择Test/Action parameter,
  在Parent action parameters的parameter中选择Action1
  同理,OutAction2的Store In值为OutAction1
             
  以上的操作就是把输入值 通过Action1的输入参数,传递给Action2的输入参数进行使用,
  然后Action2运行后,将输出参数通过Action1的输出参数传递出去。
  这里只是对嵌套Action进行最基本的讲解,在实际使用当中还要灵活运用。
 
相关阅读:
 
 
QTP关键技术(一)——对象识别及存储技术基本常识
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号