相信很多使用过QTP的同学都会有这么一个发现,在QTP脚本中只有一个Action,但是在浏览脚本目录的时候发现还多了一个叫Action0的目录,并且每个脚本都有这么一个Action0。那么,它究竟是用来干嘛的呢?
其实,它是QTP脚本中隐藏的Action最高指挥官,负责组织和调度当前脚本中的各种Action。有的同学可能会问,如何看到Action0里面的内容呢?这个其实也非常简单,首先我们进入到Action0的目录下,然后用记事本方式打开Script.mts 这个文件就可以看到其中的内容了。
下面我们将进一步地来证明Action0与其他Action之间的组织和调度的关系。
首先,我们打开QTP,新建一个Test,并创建两个Action。在Action1中写下如下代码:
- Msgbox "This is Action1"
在Action2中写下如下代码:
- Msgbox "This is Action2"
然后运行Test,在运行过程中会弹出两个框,按照顺序分别是 和 。然后我们将Test保存,进入到Action0目录下,用记事本打开Script.mts 可以看到Action0中有如下的代码:
- Call RunAction("Action1", oneIteration)
- Call RunAction("Action2", oneIteration)
再来,我们在Action0的脚本中,把Call RunAction("Action1", oneIteration)这句话删掉,让它只运行Action2。重新运行后发现,这次只弹出了一个, 也就是说Action1没有运行!
通过以上的试验,已经充分说明了Action0确实是所有Action的最高指挥官!另外,在Action0中可以调用外部的可重用Action,也可以控制其他Action的迭代次数,读者可以自行尝试这些内容。