51Testing软件测试论坛

标题: 能不能用脚本代码实现调用外部的action? [打印本页]

作者: songyq521    时间: 2009-5-12 08:12
标题: 能不能用脚本代码实现调用外部的action?
能不能用脚本代码实现调用外部的action?

在QTP中,有一种方式是通过call to existing action来实现该操作的,

现在我想在脚本中实现这个功能,不知道能有没有这个方法?!

因为我现在要做一个测试,根据excel中的设置去调用不同的action组成 scenario进行测试!这只是我的想法!
作者: zhyb_2008    时间: 2009-5-12 09:47
没搞清楚楼主要做什么.关注中...帮顶一下.
作者: songyq521    时间: 2009-5-12 11:27
我的意思是:
一个EXCEL存放的是testcase信息,另外一个excel存放的是一特定testcase的steps。
每个step是一个action,action我是已经做好的。

我想利用这些action存放在step里去组成testcase。

所以我需要去动态调用这些action,不知道可不可行?
作者: 52042722    时间: 2009-5-12 11:43
LZ 想用脚本 实现call to existing action 这个功能? 值得思考
作者: zte_boy    时间: 2009-5-12 15:48
当然可以阿,和在action调用外部action没有什么区别阿,就是runaction XXX,只不过是XXX用参数替换了而已
作者: 52042722    时间: 2009-5-14 13:29
原帖由 zte_boy 于 2009-5-12 15:48 发表
当然可以阿,和在action调用外部action没有什么区别阿,就是runaction XXX,只不过是XXX用参数替换了而已



XXX用参数,怎么替换呢,要写什么样的参数才能执行不在这个用例里面的Action呢,,楼上所说的方法,必须是Action已经在这个用例里面了吧,
作者: songyq521    时间: 2009-5-15 10:40
沛哥,具体那个参数是怎么样的?这个怎么实现的啊?
作者: angek    时间: 2009-5-15 11:29
是啊,我也是想实现这样的功能,期待有人能够给出比较好的方法
作者: fei.ge    时间: 2009-5-15 13:55
我也想知道j,调用可以复用的action的语句。

Runaction "g:\test1\action1" 也不行。
备注:g:\test1\action1,是我已经写好并且设置可调用的action
作者: itisok    时间: 2009-5-15 14:02
楼上的方法在qtp8.x或者9.x中是不支持的。
Before you can use the RunAction statement in the Expert View for an external action, you must first call or copy the external action into your test by choosing Insert > Copy of Action or Call to Action. If the external action does not exist in your test, the RunAction statement is not recognized.
如果想支持这个功能,只有升级QTP了
作者: fei.ge    时间: 2009-5-15 14:34
楼上的意思是:要升级QTP?升级版本还是升级。。,我是QTP9.2

另外:现阶段只能用Insert--->call to existing action
作者: songyq521    时间: 2009-5-15 18:06
我的是9.5版本的!
作者: hsjzfling    时间: 2009-5-15 19:27
标题: 回复 3# 的帖子
在QTP中应该是不支持用代码实现调用外部Action的。QTP的AOM中也没有给Action(s)对象与集合提供Add等方法。

粗略看了下,可以采用两种变通的方法:
1. TestCase在一个Test中定义好,一个Action就是一个TestCase或者一个Function是一个TestCase
2. 将对象库与代码分离,这样也不会有调用Action的麻烦了
作者: itisok    时间: 2009-5-16 19:01
标题: 回复 11# 的帖子
升级到qtp10,支持LoadAndRunAction
作者: hsjzfling    时间: 2009-5-18 10:01
看来得用用10了,还是更新了不少功能呀
作者: zte_boy    时间: 2009-5-18 11:29
原帖由 hsjzfling 于 2009-5-15 19:27 发表
在QTP中应该是不支持用代码实现调用外部Action的。QTP的AOM中也没有给Action(s)对象与集合提供Add等方法。

粗略看了下,可以采用两种变通的方法:
1. TestCase在一个Test中定义好,一个Action就是一个TestCase或 ...

10之前的版本也是可以用代码调用外部Action的,这个我以前试过,只不过需要在调用的action上关联上外部action的绝对或者相对路径
作者: zte_boy    时间: 2009-5-18 11:44
标题: 呵呵
只不过这种方式很麻烦,没增加一个外部action,都要在主调action中增加相应的被调action,一般来说我们推荐采用vbs组织function的形式来调用,比较方便
给个实例,其中可以把具体的action参数了,保存在一个外部 txt文件,利用fso读出来循环执行就是了
作者: hsjzfling    时间: 2009-5-18 12:06
标题: 回复 16# 的帖子
关键就是9.2中关联外部action这个动作没法用QTP提供的方法动态的用脚本来执行。。。不然写一个共用的函数就能比较方便的来调用外部Action了。照14楼的说法,10中支持LoadAndRunAction就可以自动的去Load Action了,这样就可以直接动态来调外部Action了。
作者: hsjzfling    时间: 2009-5-18 12:07
标题: 回复 17# 的帖子
用VBS组织Function的方式还是很不错的,以前一直这样用~~
作者: fei.ge    时间: 2009-5-18 13:56
【10之前的版本也是可以用代码调用外部Action的,这个我以前试过,只不过需要在调用的action上关联上外部action的绝对或者相对路径】
<<<“调用的action上关联外部的antion绝对或相对地址”,该如何关联呢?
举个例子:如果存在,g:\test1\action1,是我已经写好并且设置可调用的action。
那么我的语句该如何写呢? RunAction "G:\test1\Action1", oneIteration    ??

【只不过这种方式很麻烦,没增加一个外部action,都要在主调action中增加相应的被调action,一般来说我们推荐采用vbs组织function的形式来调用,比较方便
给个实例,其中可以把具体的action参数了,保存在一个外部 txt文件,利用fso读出来循环执行就是了】
<<<这个脚本是哪个版本的QTP写的?9.5的吗?
打不开脚本,只能看你的代码了:
你主脚本里只有:
==================================
RunAction "Action1 [test1]", oneIteration
RunAction "Action1 [test2]", oneIteration
==================================
“可以把具体的action参数了,保存在一个外部 txt文件,利用fso读出来循环执行就是了”,好像没有体现出来.....?
作者: songyq521    时间: 2009-5-18 15:03
用那个版本的啊?我的9。5的打开不了!晕哦!
作者: zte_boy    时间: 2009-5-18 17:45
10.0版本写的
作者: songyq521    时间: 2009-5-19 10:28
9.5版本又是如何实现呢?是否能用你现在的这个方法呢?
作者: zte_boy    时间: 2009-5-19 11:28
可以,我没研究过10的版本,愿意就是用9.5版本写的,结果忘记更新到10的版本了,呵呵
作者: songyq521    时间: 2009-5-19 11:40
你说的那个关联action,是如何关联呢或者设置呢?我无法打开了,呵呵!
作者: songyq521    时间: 2009-5-20 18:52
不能沉了,还没完呢。9.5的版本如何关联所需要的外部action呢?
作者: 泊涯    时间: 2009-5-24 10:15
直接 exec action
作者: alicemeng    时间: 2009-8-6 09:54
TO 泊涯
能否说的详细点
作者: chenliquan    时间: 2011-11-28 16:12
我是9.2的,使用用Insert--->call to existing action能够做到外部调用action




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2