sy070904 发表于 2009-8-19 17:47:59

新增加的输入框,qtp不能识别,怎么办?

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

IfBrowser("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:41

红色那个ip输入框是后来增加的,不管怎么描述这个输入框,运行时,都提示不能识别,有什么方法解决呢?

zbsczh 发表于 2009-8-19 18:01:58

单独拿出来调试也是这样子的情况吗,试下单独调试第3个输入框是不是可以操作

sy070904 发表于 2009-8-19 19:11:11

问题已解决,经ls提示,我仔细看了下报错,发现提示“EnableEth3 ”object找不到,而不是“html id:=EnableEth3”,所以我把下面的属性前面全部加上了 html id:= 再运行就通过了。

sy070904 发表于 2009-8-19 20:07:14

问题又来了,现在多出来网口能运行正常,但网口减少的话,就弹出object is disabled
ifBrowser("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:18

回复 5# 的帖子

你给WebCheckBox("html id:=EnableEth3") 加个属性 visible= true,k看看行不

sy070904 发表于 2009-8-20 13:59:42

照ls的提示,我 添加了属性 visible,还是提示 object is disabled

zbsczh 发表于 2009-8-20 14:21:52

回复 7# 的帖子

那检查下,为什么会判断这个对象是存在的吧,我以为对象是被隐藏了

wistaria 发表于 2009-8-20 14:31:21

不能用SET,
Browser("Browser").Page("Page_2").Frame("mainFrame").WebCheckBox("html id:=EnableEth3").object.value = "ON"
试试,我是这么解决的,用的Value属性

sy070904 发表于 2009-8-20 22:23:33

哎,我要疯了,用了ls的方法,现在输入框没有的话,是没问题的,但当有输入框的话,用这个方法是不能勾选上前面的框的,这个 value=on 好像是判断 输入框存在不存在的,要勾选上还是要set。 但用set的话,在没输入框时,又报错。

现在我发现,那个判断有没有输入,好像根本没起作用,没输入框时,也直接往下走,去赋值
页: [1]
查看完整版本: 新增加的输入框,qtp不能识别,怎么办?