51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[求助] 请问,如何通过代码获取DataTable中Action1中第N列的值

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-1-6 16:19:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天研究了哈利用DataTable参数化的情况,遇到了一个问题
具体问题如下:
我的DataTable中的Action1(Local Sheet)中有3行数据
比如
第一行  第二行 第三行
111     aaa       xxx
222     bbb      yyy
333     cccc

请问我如何获取到第二行的行数?并取得其中的值了?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2013-1-6 16:24:24 | 只看该作者
    又是个DataTable的问题
    有谁常用DataTable的来解答下吧。
    取值不难,但是要和QTP的设置结合起来用,如果只Run一行,那要取第二行的值就麻烦了。我没深入研究过DataTable。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2013-1-6 16:40:12 | 只看该作者
    谢谢版主关注

    因为用到这个的几率还是比较高的,所以还希望哪位高手能帮哈忙,谢谢哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2013-1-6 16:47:54 | 只看该作者
    首先,你有这样的要求,基本上应该是脚本设计不合理。建议你再考虑一下实现的方法。
    如果一定要这么做,你看一看DataTable对象的SetCurrentRow(x)、SetNextRow和SetPrevRow方法。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2013-1-6 16:49:54 | 只看该作者
    其实这些问题,只要多用F1,都能找到答案的,多专研更提高。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2013-1-6 17:16:27 | 只看该作者
    回复 4# 泰然


        怎么会不合理了,不是很明白
    比如说你想给三个不同的输入框填写N多个数据,需要怎么做了?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2013-1-7 09:40:37 | 只看该作者
    哦。你是想每个输入框都要做参数化?

    2个办法,1是对参数做笛卡尔乘积,比如A输入框有参数1和2,B输入框有参数“A0”和“B0”,那么你做参数化应该是:
    A           B
    1           A0
    1           B0
    2           A0
    2           B0
    2是分action做,层级式。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    8#
    发表于 2013-1-7 11:05:49 | 只看该作者
    回复 6# 秦菲


        嗯,如果参数化,你的写法是有点问题。
    如果你使用DataTable,那就把数据以行看,如果A B C三个输入框做参数化,就要写
    A        B       C  
    1        1        1
    1        1        2
    1        2        1
    1        2        2
    2        1        1
    2        1        2
    1        2        1
    1        2        2
    如果你想下面这样数着吧所有的可能选择列举出来,让脚本自己组合测试。
    A        B        C
    1        1        1
    2        2        3
    3
    那就试试Eom和读取外部Excel的方法来完成吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2013-1-7 16:29:32 | 只看该作者
    都是哦,可以用外部的Excel来做参数化的哇,呵呵,谢谢大家,受教了,那我去研究一下QTP和Excel的连用,研究好了,再来给大家分享经验哈
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2013-1-7 17:40:18 | 只看该作者
    按节点取值,可以考虑自己构建 XML
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2013-1-10 17:27:30 | 只看该作者
    DataTable.SetCurrentRow(2)
    MsgBox DataTable.GetSheet("Action1").GetParameter("列名").Value
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2013-1-11 13:16:50 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2013-1-14 12:19:19 | 只看该作者
    DataTable.GetSheet("Action1").GetParameter("列名").ValueByRow
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2013-1-15 12:36:14 | 只看该作者
    还是引用外部的exel好用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2013-4-16 20:23:43 | 只看该作者
    tValue2=DataTable.GetSheet("Action1").GetParameter("XX").ValueByRow(2)
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 03:39 , Processed in 0.072283 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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