51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6030|回复: 33
打印 上一主题 下一主题

[原创] Data Table 和测试架构的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-28 13:05:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假设我有三个test script: Test_Main, Test_Create, Test_Modify, Test_Delete

其中Test Main是主控程序,用它来调用Test_Create, Test_Modify, Test_Delete
我想在Test Main中存放Test_Create, Test_Modify, Test_Delete用到的所有参数,比如定单号码OrderNo。

我的问题是:
1)Test_Main中除了Globle 和local 的Data sheet外,还可以再加自己想加的表么
2)假如我在Test_Main的Locat table中定义了这个Test_Create, Test_Modify, Test_Delete中都需要用到的订单号码
   怎么应用它呢?比如说在Test_Create中?

谢谢

[ 本帖最后由 vaguely 于 2007-8-31 18:26 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2007-8-28 13:16:27 | 只看该作者
    kk=datatable.addsheet("sheet_name").addparameter("column_name","value").name
    '添加一个表“sheet_name”,并为该表添加一个列“column_name”,同时为其赋值“value”
    msgbox kk

    '调用指定Action的指定para
    DataTable("列名","Test_Create")
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2007-8-28 13:55:44 | 只看该作者
    谢谢回答。

    可是怎么在Test_Create中调用Test_Main的Data table呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2007-8-28 14:10:22 | 只看该作者
    同理
    DataTable("列名","Test_Main")
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-8-28 14:22:13 | 只看该作者
    LZ的应该希望可以调用不同脚本的变量。。。
    这个我不清楚,这样的脚本个人觉得没啥用,没谁会希望在一个脚本去调用另外一个脚本的数据吧。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-8-28 14:24:17 | 只看该作者
    在QTP里面,对子模块的封装采用Action就可以了,这样参数的传递方便。
    脚本在调用的时候也只是提供了对外部脚本的Action的调用吧?有支持直接调用另外一个脚本的么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2007-8-28 14:37:56 | 只看该作者
    Hi Bantitu,

    我的希望是想在一个test script(脚本)去调用另一个test script(脚本)中的变量。
    因为我想把所有的变量都放在一个test script中,这样test_create,test_modify, test_delete的订单号码
    可以在一个data table中维护。谢谢

    rivermen,  
    如果我在test_create中采用下面的方法
    DataTable("列名","Test_Main")
    我必须要把test_main 首先变成resuable,
    然后再test_create中insert "call to copy of action=test_main" ot  "call to existing action=test_main"

    但是这样,在我执行test_create的时候,也一定要执行一遍test_main,可是其实我并不像执行test_main。
    我只是想调用test_main 中存放变量的data table.有什么好的办法么?

    或者大家告诉我有没有其他的思路呢?多谢了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-8-28 14:53:09 | 只看该作者
    把Test_main里的变量导出到外面的Excel表中,然后要引用这个变量时就将这个表导入。

    我不喜欢用QTP自身的DataTable,共用的变量都是放在外面的Excel表里的。sdlkfj6
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-8-28 15:10:19 | 只看该作者
    呵呵,不错这个帖子可以
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2007-8-28 15:15:18 | 只看该作者
    谢谢楼上各位的回答。

    我觉得用QTP的DATA TABLE, 比较的方便,因为它提供了
    Select DataTable("***", dtLocalSheet) 这样的方法。

    如果从外部的EXCEL中调用DATA,要自己写这样的函数,是不是麻烦一些呢?
    大家觉得呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    11#
    发表于 2007-8-28 15:46:50 | 只看该作者
    我觉得用环境变量有时候更加方便
    Environment() 无论什么地方都能无所顾忌的调用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2007-8-28 22:38:06 | 只看该作者
    不知道楼主的Test_Create, Test_Modify, Test_Delete的数据是存放在 Local Sheet还是在 Global Sheet中。根据楼主的描述,我想应该是后者吧,那么 在Test_Main的  Global Sheet里面也要有Test_Create, Test_Modify, Test_Delete中要使用的数据 才可以呀。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2007-8-29 11:35:03 | 只看该作者
    谢谢斑竹的回答。但是我不是这样设计的。

    我的设想是,在test_main中
    Globle Sheet存放需要调用的test script的名字


    然后加入其他的sheet比如
    order sheet,为了test_create, test_modify, test_delete调用
    use sheet,为了test_login, test_logout调用
    ......


    我不知道大家是怎么管理你们的test script,和test data的。
    如果用envirerment变量的话, 需要用到array么?
    不然如果不是一对一的变量和值的话怎么办呢?

    大家继续讨论一下,或者告诉我你是怎么做得好么?
    因为我刚刚学习QTP,马上就要应用到工作中了。
    可是我们公司就我一个QAsdlkfj9
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-8-29 12:58:29 | 只看该作者
    我的希望是想在一个test script(脚本)去调用另一个test script(脚本)中的变量。
    因为我想把所有的变量都放在一个test script中,这样test_create,test_modify, test_delete的订单号码
    可以在一个data table中维护。谢谢

    如果是这样的目的,8楼的方法挺好的。用的时候导入,导入了你可以随便想怎么用就怎么用嘛。不过我没试过sdlkfj5 我是菜鸟。。才玩没几天
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-8-29 14:37:31 | 只看该作者
    干嘛用Action/DataTable啊,这么麻烦! 用Function/Library多简单,就不会有这个问题了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2007-8-29 15:47:26 | 只看该作者
    请问yabest怎么用Function/Library呢?
    能否给我一个具体的简单的例子呢? 多谢!sdlkfj5
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2007-8-30 09:04:05 | 只看该作者
    呵呵,学习......
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-8-30 09:16:23 | 只看该作者
    原帖由 vaguely 于 2007-8-29 15:47 发表
    请问yabest怎么用Function/Library呢?
    能否给我一个具体的简单的例子呢? 多谢!sdlkfj5


    如果你想“共享”的参数数量不多,完全可以在Test main中编写函数来实现

    Test Main
       Call MyLib(Para1,Para2,Para3)

    Function MyLib(para1,para2,para3)
        Action可以完成的事,这里都可以完成
    End Function
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2007-8-30 11:02:41 | 只看该作者
    有点明白了,是不是把test_create,test_modify, test_delete中的变量都放到
    test_main的函数中?

    运行的时候,首先是test_main, 然后调用函数得到这些变量,再把它们传递到
    test_create,test_modify, test_delete。

    可是如果变量很多,还有例如用到了array这样的话,怎么办呢?谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2007-8-30 17:12:11 | 只看该作者
    没人回答么?sdlkfj1
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 08:44 , Processed in 0.091625 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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