关于环境变量ActionIteration以及ActionName的使用

上一篇 / 下一篇  2007-05-11 14:05:08 / 个人分类:QTP学习

   如果在当前Action的输入参数中使用Environment("ActionIteration")Environment("ActionName"),则环境变量中所指的Action是父级Action的内容。
   
如果在当前Action的脚本中使用Environment("ActionIteration")Environment("ActionName"),则环境变量中所指的Action是当前Action
   
因此,如果要在当前Action中使用本Action的名称或迭代次数,则在脚本中使用环境变量;如果要在当前Action中使用父级ActionAction名称或迭代次数,则可以设置输入参数,将参数值设置为环境变量。
   
另外,也可以看如,如果Action2Action1的父级ActionAction1无法直接引用Action2脚本中的变量。
   
究竟在什么情况下可以让子级Action直接引用父级Action脚本中的变量呢?暂时还不知道。

下面是一个QTP9.0测试例子。

(示例中Action1Action2Action3分别是1级、2级、3Action

Action2中设置输入参数mya,myb,其中mya的值是取环境变量ActionNamemyb的值是取环境变理ActionIteration

Action3中设置输入参数mya,myb,myx,myy,其中mya,myb分别继承Action2mya,mybmyx的值是取环境变量ActionNamemyy的值是取环境变理ActionIteration)

-----------------

Action1脚本:

'从本例可以看出,如果在当前Action的输入参数中使用Environment("ActionIteration")Environment("ActionName"),则这里的Action指的是父级Action的内容。
'
如果在当前Action的脚本中使用Environment("ActionIteration")Environment("ActionName"),则这里的Action指的是当前Action
'
因此,如果要在当前Action中使用本Action的名称或迭代次数,则在脚本中使用环境变量;
'
如果要在当前Action中使用父级ActionAction名称或迭代次数,则可以设置输入参数,将参数值设置为环境变量。
'
另外,也可以看如,如果Action2Action1的父级ActionAction1无法直接引用Action2脚本中的变量。
'
那在什么情况下可以让子级Action直接引用父级Action脚本中的变量呢?
RunAction "Action2", allIterations, Environment("ActionName"), Environment("ActionIteration")

Action2脚本:

a=Parameter("mya")
msgbox  ("
Action2中,如果在输入参数中使用Environment("&"ActionName"&")"&"语句,则获得的结果是:" & a )

b= Parameter("myb")
msgbox  ("
Action2中,如果在输入参数中使用Environment("&"ActionIteration"&")"&"语句,则获得的结果是:" & a )

c=Environment("ActionName")
msgbox ("
Action2中,如果在脚本中直接使用Environment("&"ActionName"&")"&"语句,则获得的结果是:" & c)

d=Environment("ActionIteration")
msgbox ("
Action2中,如果在脚本中直接使用Environment("&"ActionIteration"&")"&"语句,则获得的结果是:" & d)

RunAction "Action3", oneIteration, Parameter("mya"), Environment("ActionName"), Environment("ActionIteration"), Parameter("myb")

Action3脚本:

my001=Parameter("mya")
msgbox  ("
Action3中,如果通过从Action2中继承输入参数Environment("&"ActionName"&")"&",则结果是:" &my001)

my002=Parameter("myb")
msgbox  ("
Action3中,如果通过从Action2中继承输入参数Environment("&"ActionIteration"&")"&",则结果是:" &my002)

my003=Parameter("myx")
msgbox  ("
Action3中,如果在脚本中直接使用Environment("&"ActionName"&")"&"语句,则获得的结果是:" & my003)

my004=Parameter("myy")
msgbox  ("
Action3中,如果在脚本中直接使用Environment("&"ActionIteration"&")"&"语句,则获得的结果是:" & my004)

my005=a
my006=b
my007=c
my008=d
msgbox ("
Action3中,直接引用Action2中变量,会成功吗?在此处显示Action2中的变量在此处的引用结是:"&my005&",  "&my006&",  "&my007&",  "&my008 & chr(13)&"由此可见,如此引用的方式是不正确的。")


TAG: QTP学习

 

评分:0

我来说两句

Open Toolbar