QTP中对象的共享是通过对象库共享的,有时候我们需要把一些参数提供给其他脚本使用,那么就需要对参数进行共享,参数的共享方式有很多,以下test文件均包含action1,action2,action3,其中action2和action3设置为reuseable action No。1使用环境变量实现的test (当然也可以在setting中手工或者导入xml的方式批量设置环境变量) action1 environment.Value("aaa")=10 environment.Value("bbb")=20 RunAction "Action2", oneIteration RunAction "Action3", oneIteration ------------------------------------- action2 a=environment.Value("aaa") b=environment.Value("bbb") msgbox a msgbox b ------------------------------------- output 10,20 ------------------------------------- action3 msgbox a msgbox b ------------------------------------- output nothing
------------------------------------- No。2使用全局变量实现的test (缺点是虽然在action1中已经声明定义了a和b,action2中还得声明和定义否则象action3不能输出) action1 Public a a="c" Public b b="d" RunAction "Action2", oneIteration RunAction "Action3", oneIteration ------------------------------------- action2 Public a a="a" Public b b="b" msgbox a msgbox b ------------------------------------- output a b ------------------------------------- action3 msgbox a msgbox b output nothing ------------------------------------- No。3使用globalsheet实现的test (当使用的变量比较多的时候,这种方式一目了然) action1 RunAction "Action2", oneIteration RunAction "Action3", oneIteration ------------------------------------- action2 datatable.SetCurrentRow(2) a=datatable.Value("A","Global") b=datatable.Value("B","Global") msgbox a msgbox b ------------------------------------- output 10,20 ------------------------------------- action3 msgbox a msgbox b output nothing -------------------------------------