51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6293|回复: 28
打印 上一主题 下一主题

[原创] 能不能用脚本代码实现调用外部的action?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-5-12 08:12:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
能不能用脚本代码实现调用外部的action?

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

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

因为我现在要做一个测试,根据excel中的设置去调用不同的action组成 scenario进行测试!这只是我的想法!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-5-12 09:47:37 | 只看该作者
没搞清楚楼主要做什么.关注中...帮顶一下.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-5-12 11:27:11 | 只看该作者
我的意思是:
一个EXCEL存放的是testcase信息,另外一个excel存放的是一特定testcase的steps。
每个step是一个action,action我是已经做好的。

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

所以我需要去动态调用这些action,不知道可不可行?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-5-12 11:43:07 | 只看该作者
LZ 想用脚本 实现call to existing action 这个功能? 值得思考
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-5-12 15:48:34 | 只看该作者
当然可以阿,和在action调用外部action没有什么区别阿,就是runaction XXX,只不过是XXX用参数替换了而已
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-5-14 13:29:12 | 只看该作者
原帖由 zte_boy 于 2009-5-12 15:48 发表
当然可以阿,和在action调用外部action没有什么区别阿,就是runaction XXX,只不过是XXX用参数替换了而已



XXX用参数,怎么替换呢,要写什么样的参数才能执行不在这个用例里面的Action呢,,楼上所说的方法,必须是Action已经在这个用例里面了吧,
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-5-15 10:40:35 | 只看该作者
沛哥,具体那个参数是怎么样的?这个怎么实现的啊?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-5-15 11:29:53 | 只看该作者
是啊,我也是想实现这样的功能,期待有人能够给出比较好的方法
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2015-9-21 13:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    9#
    发表于 2009-5-15 13:55:47 | 只看该作者
    我也想知道j,调用可以复用的action的语句。

    Runaction "g:\test1\action1" 也不行。
    备注:g:\test1\action1,是我已经写好并且设置可调用的action
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2009-5-15 14:02:30 | 只看该作者
    楼上的方法在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了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-9-21 13:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    11#
    发表于 2009-5-15 14:34:38 | 只看该作者
    楼上的意思是:要升级QTP?升级版本还是升级。。,我是QTP9.2

    另外:现阶段只能用Insert--->call to existing action
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2009-5-15 18:06:20 | 只看该作者
    我的是9.5版本的!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2009-5-15 19:27:03 | 只看该作者

    回复 3# 的帖子

    在QTP中应该是不支持用代码实现调用外部Action的。QTP的AOM中也没有给Action(s)对象与集合提供Add等方法。

    粗略看了下,可以采用两种变通的方法:
    1. TestCase在一个Test中定义好,一个Action就是一个TestCase或者一个Function是一个TestCase
    2. 将对象库与代码分离,这样也不会有调用Action的麻烦了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2009-5-16 19:01:49 | 只看该作者

    回复 11# 的帖子

    升级到qtp10,支持LoadAndRunAction
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2009-5-18 10:01:32 | 只看该作者
    看来得用用10了,还是更新了不少功能呀
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2009-5-18 11:29:21 | 只看该作者
    原帖由 hsjzfling 于 2009-5-15 19:27 发表
    在QTP中应该是不支持用代码实现调用外部Action的。QTP的AOM中也没有给Action(s)对象与集合提供Add等方法。

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

    10之前的版本也是可以用代码调用外部Action的,这个我以前试过,只不过需要在调用的action上关联上外部action的绝对或者相对路径
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2009-5-18 11:44:07 | 只看该作者

    呵呵

    只不过这种方式很麻烦,没增加一个外部action,都要在主调action中增加相应的被调action,一般来说我们推荐采用vbs组织function的形式来调用,比较方便
    给个实例,其中可以把具体的action参数了,保存在一个外部 txt文件,利用fso读出来循环执行就是了

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2009-5-18 12:06:25 | 只看该作者

    回复 16# 的帖子

    关键就是9.2中关联外部action这个动作没法用QTP提供的方法动态的用脚本来执行。。。不然写一个共用的函数就能比较方便的来调用外部Action了。照14楼的说法,10中支持LoadAndRunAction就可以自动的去Load Action了,这样就可以直接动态来调外部Action了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2009-5-18 12:07:58 | 只看该作者

    回复 17# 的帖子

    用VBS组织Function的方式还是很不错的,以前一直这样用~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-9-21 13:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    20#
    发表于 2009-5-18 13:56:52 | 只看该作者
    【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读出来循环执行就是了”,好像没有体现出来.....?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-4 23:15 , Processed in 0.097719 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表