斐力庇第斯从马拉松回雅典报信,虽然已是满身血迹,筋疲力尽,但他知道:没有出现在雅典人民面前,前面的路程都是白费。 最艰苦、最关键的时刻,把好最后一道关。

Action调用与Action0

上一篇 / 下一篇  2008-09-05 11:10:16 / 个人分类:QTP

查看( 1676 ) / 评论( 8 )

打开QTP脚本目录,我们可以看到有一个Action0目录,这个并不是我们自己写的,它是干什么用的呢?

打开这个Action0目录,用文本编辑器打开scrīpt.mts

可以看到一条或多条RunAction或Call RunAction

对比我们在QTP中用Keyword View查看的Action就可以看出这个结构是与之对应的,显然是与Action调用有关,记录了调用Action的顺序以及循环情况

下面我们就来分析一下QTP中Action的调用

首先是Action的存在与被调用的关系

Action的存在和调用之间没有相关性:存在,但是可以没有调用
Action调用有两种情况,一种是脚本调用,一种是Action调用
第一种就是通过这个看不见的Action0组织脚本直接运行的Action调用
第二种就是在我们看到的Action中来调用Action

其次,我们怎么看到Action的存在和调用

要看到Action存在很容易,到Expert View,下拉框里选一下就可以看到存在的Action的内容

我们在Keyword View中两种调用都可以看到
但在Expert View中只可以看到第二种调用

再次是调用怎么修改

第二种调用可以在Expert View中添加一句RunAction ActionName来添加
但第一种调用就没法直接添加了,因为Action0是直接看不到的

可以直接改Action0的脚本内容
还有就是可以在Expert View中添加一句RunAction ActionName做成第二种调用,
再切到Keyword View,然后用拖动节点的方法变成第一种调用

另外就是用Call to Existing Action
但是只能call可复用的action,也就是要在准备调用的Action的Action Properties中勾选Reusable action

最后还要再说一下外部的调用

QTP脚本调用其它脚本的Action,只要把被调用的Action设为可复用。至于调用的方式方法等等仍遵循上述内容


本文出自rcpp的51Testing软件测试博客,转载请注明出处:http://www.51testing.com/?166993


TAG: QTP 脚本 调用 action ExpertView KeywordView

heqingbluesky发布于2008-09-05 16:41:52

季风的测试生活 jifeng 发布于2008-09-05 18:09:59
每次运行都是从Action0开始的
walker1020的个人空间 walker1020 发布于2009-02-21 16:25:23

QUOTE:

原帖由 jifeng 于 2008-9-5 18:09 发表
每次运行都是从Action0开始的
确实只这样。一般在Action0 里面都有一行类似于 RunAction “Action1” 这样的语句来调用 运行Action1.如果 Action0 和Action1 里面都有相同的语句,通过运行,你会发现,QTP会先运行Action0里面的语句,然后再去运行Action1里面的语句。在Keyword View里面,双击Action0,你会看到Action0里面的内容。
walker1020的个人空间 walker1020 发布于2009-02-21 16:27:53
楼主对Action调用与Action0 之间的关系分析地比较透彻、到位,可以作为新手学习Action的参考资料,也有助于别的朋友在运行有关Action调用时分析问题、解决问题的依据。
walker1020的个人空间 walker1020 发布于2009-02-21 16:30:19
曾经有多个朋友遇到过与Action 调用有关的问题,如http://bbs.51testing.com/viewthread.php?tid=125676
walker1020的个人空间 walker1020 发布于2009-02-21 16:31:27
这个帖子对新手解决类似的问题非常有用,可以设为 精华帖了
Iris-Zhang发布于2009-09-17 14:45:07
"直接改Action0的脚本内容"
直接在Action0的脚本中加入Call RunAction "Action1" [path], oneIteration
运行时提示Action1找不到

初步判断是因为QTP无法自动找到Action1的路径, 在网上搜了下解决方法, 说是第一次调用外部action的时候, 应该手动在Call Existing Action里面添加, 这样QTP才能正确找到路径, 如果是这样的话, 直接改动Action0就没有什么意义了.

不知道高手有没有更好的解决方法?
violet82-84发布于2010-04-27 17:31:45
学习。。。“直接在Action0的脚本中加入Call RunAction "Action1" [path], oneIteration ”         [path]应在"  "内包含着吧

不知理解是否正确
我来说两句

(可选)

我的栏目

日历

« 2024-03-29  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 14726
  • 日志数: 8
  • 建立时间: 2008-01-25
  • 更新时间: 2008-09-22

RSS订阅

Open Toolbar