flyfly310 发表于 2008-3-25 21:14:00

~~~实现参数共享的五种方法~~~

   
          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
-------------------------------------

[ 本帖最后由 flyfly310 于 2008-3-25 21:18 编辑 ]

flyfly310 发表于 2008-3-25 21:14:42

No。4 用input parameter和output parameter实现参数间的传递
例如actionA 与 cationB 的传递参数,可以用通过设置action property的input parameter和output parameter实现,具体参看相关文档,这种比较适合某两个action之间的参数传递
No。5用repository parameters实现
qtp9。x中,resources->object repositoy Manager->tools->manage repository parameters
可以把参数和相关的对象库关联起来,具体操作参看帮助文件,这种方法个人认为不太方便,每次使用的时候还得关联相应的参数,不太推荐

hsjzfling 发表于 2008-3-25 21:39:43

已经有多人小结过了~lz还漏了通过外部文件来传递参数~~

假装不在 发表于 2008-3-26 09:40:36

:kiss:
还有3个一般用的外部文件,TEXT,EXCEL,XML
但我来说2句。
TEXT,EXCEL好像每次打开,它的可见都是为必须可见才能实现调用。导致了参数有时候调他,就要开关开关,电脑内存先不说,CPU也会很不稳定。
XML我还不会,我不知道效果如何。

hsjzfling 发表于 2008-3-26 10:49:40

txt,xls以及xml文件都可以在后台打开访问,都不是非要可见的。。。而且如果你用ado来访问xls或者用dom来访问xml,想可见都困难~

用外部文件来做数据驱动是很常用的方式,现在流行的框架大多采用这种方式。至于ls说的开关开关、内存、cpu什么的,不是多虑就是思路有偏差。对于需要多次访问的数据文件,一般都是在第一次读取前打开/创建,在最后一次读取或者是执行中发生某些异常后再关闭/释放。

loho1968 发表于 2008-3-26 12:41:54

方法6:在VBS文件中,使用Public申请变量,然后把这个VBS文件设置为脚本的“源”,就可以实现共享了。

zz2008zz 发表于 2009-6-6 18:05:07

dd

pddddddddddd

onlonely 发表于 2009-6-7 19:53:18

数据量多的时候只有EXCLE才最适合,其他的方法都是传递少量参数的.

heqingbluesky 发表于 2009-6-8 11:50:50

原帖由 onlonely 于 2009-6-7 19:53 发表 http://bbs.51testing.com/images/common/back.gif
数据量多的时候只有EXCLE才最适合,其他的方法都是传递少量参数的.

不一定,我看到有些公司就是用XML进行保存和传递大数据量的,Excel有时候会出一些莫名其妙的问题。
页: [1]
查看完整版本: ~~~实现参数共享的五种方法~~~