51Testing软件测试论坛

标题: 新增加的输入框,qtp不能识别,怎么办? [打印本页]

作者: sy070904    时间: 2009-8-19 17:47
标题: 新增加的输入框,qtp不能识别,怎么办?
问题是这样的,我的设备可以有多个网口,如果wan口启用,就会有相应的ip输入框,现在我用if去判断,如果输入框存在,就输入ip地址。在录制时,我只启用了一个wan口,然后我又加了判断其他wan口是否存在,现在我启用了多个网口,回放时,报错,提示不能识别新增加的输入框名称,这个该怎么解决呢?  代码如下:

If  Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("EnableEth1").Exist Then
Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("EnableEth1").Set "ON"
Browser("Browser").Page("Page_2").Frame("mainFrame").WebEdit("Eth1_FID_0").Set "10"
。。。。。。。。
Browser("Browser").Page("Page_2").Frame("mainFrame").WebEdit("Eth1Mask_FID_2").Set "255"

else If Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("EnableEth2").Exist Then
Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("EnableEth2").Set "ON"
Browser("Browser").Page("Page_2").Frame("mainFrame").WebEdit("Eth2_FID_0").Set "11"
。。。。。。。。
Browser("Browser").Page("Page_2").Frame("mainFrame").WebEdit("Eth2GW_FID_2").Set "11"
Browser("Browser").Page("Page_2").Frame("mainFrame").WebEdit("Eth2GW_FID_3").Set "249"       

else if Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("html id:=EnableEth3").Exist Then
Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("EnableEth3").Set "ON"
Browser("Browser").Page("Page_2").Frame("mainFrame").WebEdit("Eth3_FID_0").Set "12"
。。。。。。。
Browser("Browser").Page("Page_2").Frame("mainFrame").WebEdit("Eth3GW_FID_2").Set "12"
Browser("Browser").Page("Page_2").Frame("mainFrame").WebEdit("Eth3GW_FID_3").Set "249"

end if
Browser("Browser").Page("Page_2").Frame("mainFrame").WebButton("确定").Click
Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("确定").Click

[ 本帖最后由 sy070904 于 2009-8-19 17:54 编辑 ]
作者: sy070904    时间: 2009-8-19 17:51
红色那个ip输入框是后来增加的,不管怎么描述这个输入框,运行时,都提示不能识别,有什么方法解决呢?
作者: zbsczh    时间: 2009-8-19 18:01
单独拿出来调试也是这样子的情况吗,试下单独调试第3个输入框是不是可以操作
作者: sy070904    时间: 2009-8-19 19:11
问题已解决,经ls提示,我仔细看了下报错,发现提示“EnableEth3 ”object找不到,而不是“html id:=EnableEth3”,所以我把下面的属性前面全部加上了 html id:= 再运行就通过了。
作者: sy070904    时间: 2009-8-19 20:07
问题又来了,现在多出来网口能运行正常,但网口减少的话,就弹出object is disabled
if  Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("html id:=EnableEth3").Exist Then
Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("html id:=EnableEth3").Set "ON"

返回结果是运行到第二句,提示的 object is disabled.  可我在上面判断了,如果存在才执行下面句的啊
作者: zbsczh    时间: 2009-8-20 10:32
标题: 回复 5# 的帖子
你给WebCheckBox("html id:=EnableEth3") 加个属性 visible= true,k看看行不
作者: sy070904    时间: 2009-8-20 13:59
照ls的提示,我 添加了属性 visible,还是提示 object is disabled
作者: zbsczh    时间: 2009-8-20 14:21
标题: 回复 7# 的帖子
那检查下,为什么会判断这个对象是存在的吧,我以为对象是被隐藏了
作者: wistaria    时间: 2009-8-20 14:31
不能用SET,
Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("html id:=EnableEth3").object.value = "ON"
试试,我是这么解决的,用的Value属性
作者: sy070904    时间: 2009-8-20 22:23
哎,我要疯了,用了ls的方法,现在输入框没有的话,是没问题的,但当有输入框的话,用这个方法是不能勾选上前面的框的,这个 value=on 好像是判断 输入框存在不存在的,要勾选上还是要set。 但用set的话,在没输入框时,又报错。

现在我发现,那个判断有没有输入,好像根本没起作用,没输入框时,也直接往下走,去赋值




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