51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3133|回复: 14
打印 上一主题 下一主题

[原创] 我只想运行ACTION1一次,运行ACTION2多次,请问要怎么做呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-30 16:42:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
RT??

ACTION1为登录动作,
ACTION2为修改列表的动作.

我把ACTION2的某些记录参数化了(设计了两条记录),但是在运行的时候ACTION1,2都运行了两次.

但我只想运行ACTION1一次,运行ACTION2两次(因为有两条记录),请问要怎么做呢?

[ 本帖最后由 wawa133 于 2006-11-30 17:49 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    15#
    发表于 2006-12-3 22:29:54 | 只看该作者
    原帖由 sophia778 于 2006-12-1 11:56 发表
    我试了一下你的做法,但是运行的时候取参数总是取第一个,怎么处理呢???


    请参考 http://bbs.51testing.com/thread-14818-1-1.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2006-12-1 14:18:35 | 只看该作者
    原帖由 sophia778 于 2006-12-1 11:56 发表
    我试了一下你的做法,但是运行的时候取参数总是取第一个,怎么处理呢???

    我的不会啊.
    要不你加个
    DataTable.SetNextRow()
    试试看.


    回复#10
    因为我现在用的是8.2版本的.呵呵.所以没有你说的那个设置呢.

    [ 本帖最后由 wawa133 于 2006-12-1 14:20 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2006-12-1 13:20:01 | 只看该作者
    原帖由 风过无息 于 2006-11-30 21:06 发表
    call action 1
    call action 2
    call action 2

    这样可以吗?


    me 2.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2006-12-1 11:56:11 | 只看该作者
    我试了一下你的做法,但是运行的时候取参数总是取第一个,怎么处理呢???

    [ 本帖最后由 walker1020 于 2006-12-3 22:29 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2006-12-1 10:29:35 | 只看该作者
    现在一个问题就是,我在DATATABLE里的A列在数据库中是可以一样的,B列是唯一的,但是在运行的时候,他的A,B两列不会同步修改,即,在A列中,如果数据库里有很多条一样的,他就选前面的,不管B列的值,但是如果这样的话,就不正确啦,
    请问一下,要怎么做呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2006-12-1 10:26:50 | 只看该作者
    如果设置了datatable, 在keyview中的指定action上点右键,设定acction call properties,选择run on all raws或run from row ****就可以针对action设置运行次数了,在9.0上是这样的,在8.0上就不知道了,这样就不用来回调用了吧?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2006-12-1 09:56:40 | 只看该作者
    可以把这三个Action都放在同一个脚本里面
    不过为了方便管理,也可以把可调到的功能脚本与组织脚本分开存放
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2006-12-1 09:48:53 | 只看该作者
    呵呵.行啊.我试试看.
    不过这样的话,就需要用到三个文件了,是吗?

    试了一下,确实是可以的.呵呵.谢谢版主啦.

    不过我就保存了三个文件test,test1,test2
    用了test去调用test1,test2里的action
    这样的话,会不会产生很多文件呢?

    我试过都写在一个文件里,但是用call的话,也会把login,function 都运行呢.

    [ 本帖最后由 wawa133 于 2006-12-1 10:03 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2006-12-1 09:27:16 | 只看该作者
    看你的例子,你是把参数值放在DataTable的吧
    你可以试一下以下改进
    1.把Test settings-->Run-->Datatable iterations设置为run one iteration only
    2.把登录写一个可被调到的Action--Login
    3.把功能写一个可被调用的Action--FunctionPoint
    4.写一个Main Action,用来组织调度这两个子Action
    RunAction "Login", oneIteration
    Num=Datatable.GetRowCount
    For i=1 to Num
      RunAction "FunctionPoint", oneIteration           
    Next
    这样就可以通过Mation Action进行循环控制
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2006-12-1 08:32:50 | 只看该作者
    嗯.是啊.我就是这样的.不过我之前已经CALL了一次了,但是删除不掉啊...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2006-11-30 22:11:43 | 只看该作者
    action1 调用 action2
    然后在action2中写一个循环的脚本搞定
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2006-11-30 21:06:32 | 只看该作者
    call action 1
    call action 2
    call action 2

    这样可以吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2006-11-30 17:59:32 | 只看该作者
    sdlkfj9

    错了...............运行后发现了问题................sdlkfj9
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
     楼主| 发表于 2006-11-30 17:21:46 | 只看该作者
    完成了.不知道这样写对不对呢??
    取得数据库的记录数,用WHILE,然后,用IF语句判断rowcount值是否为0,是的话,就停止运行.
    欢迎大家指正.谢谢!!

    Dim rowcount
    rowcount = DataTable.GetSheet("Global").GetRowCount
    msgbox "the rowcount is " &rowcount

    Browser("Browser").Page("****").WebEdit("loginForm:txtUserName").Set "linmh"
    Browser("Browser").Page("****").WebEdit("loginForm:txtPassword").SetSecure "456e64e3af0977ff8a06cf532a0699c4ebc98b47"
    Browser("Browser").Page("****").WebButton("ddd").Click

    While rowcount>0
    RunAction "Copy of Action1_2", oneIteration  '调用action2的操作,
    rowcount=rowcount-1
      If rowcount=0 Then
            '  msgbox "the rowcount is :    " & rowcount  '提示框显示有记录数
                 ExitRun(0)
      End If
      
    Wend
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 19:54 , Processed in 0.081077 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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