51Testing软件测试论坛

标题: qtp中参数DataTable运行问题 [打印本页]

作者: zhoudyi    时间: 2012-11-22 20:22
标题: qtp中参数DataTable运行问题
在DateTable中添加多列(如A列、B列、C列),并且每列行数不一样,如何通过函数正确的识别到每列的行数???

附加:在DateTable中添加的时间格式都是12小时制,如何改为24小时制?每次填写时间时都是自动带上上午或下午,当在回放又不识别
作者: 泰然    时间: 2012-11-23 10:05
如果是想要达到一个sheet页里A列和B列有3组参数一起循环,而C列有5组数据是另一个循环,这样看起来前2行有2个参数,后2行有3个参数。这对QTP来说太困难了,要用Parameter("Vuserid")来动态控制,非常不建议,很容易乱。

如果是有些参数可能没有值,那可以用特征值的做法,比如凡是没有值的参数,通通写“nodata”或者“meiyou”,读取DataTable时先做判断,凡是特征值的就不赋值。

至于你问的如何将时间格式转换为24小时制,这其实和你上面问题无关,而是一个关于VBScript变量类型和变量转换的问题。VBScript中的变量,本质上只有一个类型就是variant型,函数CInt,CDate等是将一个variant型输入参数判断一下是否符合转换要求并按照要求格式输出,实际上输出的还是variant型。VBScript中表示时间的变量也是variant型,显示格式为本机操作系统规定格式(window在控制面板的“区域与语言选项”中设定,可以自行修改)。

要将12小时显示格式变成24小时显示格式,方法有2个,1是修改区域与语言选项中的时间格式,保存并重启电脑;2是写一个function来转换显示格式,先trim然后inStr"PM","AM","pm"或 "am",如果inStr"AM"或"am"结果>0说明是上午,则去空格去"AM"或"am"后返回;如果inStr"pm"或 "PM"结果>0说明是下午,则小时要加12,通过":"来split,再对该数组第一条转整型后加12再拼接上从第一个":"开始的去掉"pm"或 "PM"部分,就可以了。
作者: xjwldlover    时间: 2012-11-23 10:15
如果是想要达到一个sheet页里A列和B列有3组参数一起循环,而C列有5组数据是另一个循环,这样看起来前2行有2 ...
泰然 发表于 2012-11-23 10:05


顶,解答的态度远比提问的态度好~
作者: as4372    时间: 2012-11-23 16:24
严重支持,必须的
作者: pl80601983    时间: 2012-11-25 12:14
对于参数不同行数的问题完全同意二楼泰然 的意见,对于时间日期的问题,建议:一:将系统日期和你的QTP的日期修改为一样;二:可以考虑FormatDateTime函数来进行格式控制,具体用法你可以查询一下帮助或baidu上面有具体和描述.
作者: louqqson008    时间: 2012-11-26 11:14
顶下
作者: 黑羽祭    时间: 2012-11-27 10:07
顶一下
作者: k521_    时间: 2012-11-27 21:08
顶一下




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