51Testing软件测试论坛

标题: QTP中输入框中值类型的判断 [打印本页]

作者: pypxyd    时间: 2006-2-24 10:19
标题: QTP中输入框中值类型的判断
在WEB界面中输入的值是数字的,但用TypeName(Browser("XX信息系统").Page("XX信息系统").Frame("Frame_6").WebEdit("AttendeeNumberField").object.value)取出来的类型是文本的,现在我如何判断输入框里的值是文本的还是数字的呢?如果是用cint(Browser("XX信息系统").Page("XX信息系统").Frame("Frame_6").WebEdit("AttendeeNumberField").object.value)判断的话,如果值是“一二”的话,就会报错,但如果值是“1235.21”,程序就可通过不报错。如何解决这样的问题呢?
作者: Horus_Ra    时间: 2006-2-24 10:37
先用Output把框里值取出来,放到变量里,比如放到a里,然后用isNumeric(a),返回True和False,配合if语句就行了

[ 本帖最后由 Horus_Ra 于 2006-2-24 10:38 编辑 ]
作者: pypxyd    时间: 2006-2-24 11:02
不行的,用isNumeric(a),返回是False,它认为都是字符串
作者: sz_lg    时间: 2006-2-24 11:05
用正则表达式判断来解决。
作者: pypxyd    时间: 2006-2-24 11:12
请问如何写呢?不好意思,没用过正则表达式!
作者: Horus_Ra    时间: 2006-2-24 11:51
不可能的,除非你那个东西本身就是字符串……
你可以试一下:
msgbox isNumeric("123")
msgbox isNumeric("abc")

上面报True,下面报False
没问题……

你要用正则表达式也行,比如
12ab34,你可以输入12.*.34,这样就会忽略掉中间的ab
作者: pypxyd    时间: 2006-2-24 13:17
对啊,刚才说了输入框中取出来的值是文本型的啊
作者: Horus_Ra    时间: 2006-2-24 13:27
也不对啊,如果是123的话,取出来怎么会是字符串?
作者: fengk0918    时间: 2006-2-24 13:42
开发人员在开发的时候就已经规定这个文本框中的数据就是STRING类型的。
作者: Horus_Ra    时间: 2006-2-24 13:54
那这样怎么判断呢?只能一个个字符往后读,然后判断是否是1~0里的数字??
作者: fish_yy    时间: 2006-7-20 11:01
Horus_Ra 说的对:)
作者: wwg1020    时间: 2006-7-20 13:27
正则表达式'^[0-9] $'试试看




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