51Testing软件测试论坛

标题: 也是找不到控件的问题 [打印本页]

作者: dyjyhx    时间: 2005-2-26 09:49
标题: 也是找不到控件的问题
对象
GIN(ENTRY)
物理描述为:
{
class: list,
attached_text: "GIN(ENTRY):"
}

每次执行 list_select_item ("GIN(ENTRY)", "2");都提示找不到这个控件。检查GUI  MAP,发现GIN(ENTRY)存在里面 。并且选择GIN(ENTRY),能高亮标志这个GIN(ENTRY)。重新learn一下就能通过。是什么原因?
谁给指点一下,先谢谢了。
作者: 生如火花    时间: 2005-2-26 10:14
learn之后有变化吗?
作者: dyjyhx    时间: 2005-2-26 13:59
没有变化。
作者: dyjyhx    时间: 2005-2-26 14:41
我单步执行(设置短点,进行调试)就能通过。
list_select_item ("SysTreeView32", "报文类型;用户数据可变帧;通用分类功能;通用分类写命令ASDU10;写条目"); # Item Number 22        list_select_item ("GIN(GROUP):", "1");  # Item Number 1;
        list_select_item ("GIN(ENTRY):", "2");  # Item Number 2;
        list_select_item ("GDD(CONT):", "3");  # Item Number 3;
作者: 生如火花    时间: 2005-2-26 15:33
........第2个""里应该是#1,#2,#3
作者: dyjyhx    时间: 2005-2-26 15:47
不知道这个# Item Number 2;是从那里来的。我想和这个应该有关系。因为每条语句后都加有这些注释
作者: dyjyhx    时间: 2005-2-26 16:00
生如火花

第2个""里应该是#1,#2,#3


--------------------------------------------------
我改过了,和它没有关系。单步执行为什么就能通过那?
是不是和下面这个原因有关系:
     先执行list_select_item ("SysTreeView32", "报文类型;用户数据可变帧;通用分类功能;通用分类写命令ASDU10;写条目"); # Item Number 22        
然后GIN(GROUP)下拉框才可用,才能执行list_select_item ("GIN(ENTRY):", "2");  # Item Number 2;
会不会是执行太快了,GIN(GROUP)下拉框还没有可用时,就执行了list_select_item ("GIN(ENTRY):", "2");  # Item Number 2;
???
作者: 生如火花    时间: 2005-2-26 17:01
那你加同步点啊
作者: dyjyhx    时间: 2005-2-26 17:21
很郁闷的说,加了同步点也不行。晕死了。

我再试试其它的方法。各位大虾请继续帮我找一下解决的方法。先谢谢了。我找到了就发上来
作者: shyfish    时间: 2005-2-28 08:47
同步点不可能不行吧?
或者让它wait()一下也可以
作者: dyjyhx    时间: 2005-2-28 10:09
我试过了,不行。
这个控件是VC的combo box控件。
还有,我修改了一下程序,把它一开始就设为enable,这样只能执行
        list_select_item ("GIN(GROUP):", "1");  # Item Number 1;
        list_select_item ("GIN(ENTRY):", "2");  # Item Number 2;
        list_select_item ("GDD(CONT):", "3");  # Item Number 3;

       第一个语句,下面的两个又提示找不到。
作者: dyjyhx    时间: 2005-2-28 10:17
还有就是为什么单步执行就能通过那?请高手指点,多谢了
作者: 生如火花    时间: 2005-2-28 11:10
通过对下拉框的录制让我有个体会,如果点击下拉框并展开了下拉内容,连续执行是可以选择下拉内容的,单步是不可以的。你这个会不会是前一句有影响后面的的操作?把窗口关闭并保存再进行下一步试试
作者: shyfish    时间: 2005-2-28 11:43
把3个都设成Enabled了吗?
作者: dyjyhx    时间: 2005-2-28 11:47
是呀,不然会提示不可用
作者: dyjyhx    时间: 2005-3-1 08:58
我可能发现原因了,但不知道怎么解决。请高手指点一下

        list_select_item ("GIN(GROUP):", "1");  # Item Number 1;
        list_select_item ("GIN(ENTRY):", "2");  # Item Number 2;
        list_select_item ("GDD(CONT):", "3");  # Item Number 3;

当第一个下拉框被选中后,焦点仍在第一个下拉框上。在选第二个下拉框的item时,第一次点击取消了第一个下拉框的焦点。第二次点击才打开第二个下拉框,才能选择。会不会是这个原因导致找不到控件?该怎么解决那?
作者: dyjyhx    时间: 2005-3-1 09:02
就是这个原因引起的。不知道该怎么解决了?用什么函数可以解决吗?
作者: 生如火花    时间: 2005-3-1 09:02
那把第2句,第3句都写2遍啊
作者: dyjyhx    时间: 2005-3-1 09:11
写2遍?那会不会第一次还是找不到?
作者: dyjyhx    时间: 2005-3-1 09:13
list_select_item ("GIN(GROUP):", "1");  # Item Number 1;
        list_select_item ("GIN(ENTRY):", "2");  # Item Number 2;
        list_select_item ("GIN(ENTRY):", "2");  # Item Number 2;
        list_select_item ("GDD(CONT):", "3");  # Item Number 3;
        list_select_item ("GDD(CONT):", "3");  # Item Number 3;

这样当第一次执行list_select_item ("GIN(ENTRY):", "2");  # Item Number 2;还是会提示找不到控件
作者: 飘雪    时间: 2005-3-1 09:19
每一个语句执行完后,加一个wait()语句试试
作者: dyjyhx    时间: 2005-3-1 09:27
To :飘雪
Wait()只是时间延时,但延时不会是焦点移动。所以不能解决问题
作者: 生如火花    时间: 2005-3-1 09:32
加一个obj_type("GIN(GROUP):", "<kTab>"); 试试,这个应该可以移动焦点
作者: dyjyhx    时间: 2005-3-1 09:43
谢谢:生如火花

问题解决了
我用了双击函数。
在第二个下拉框执行前加了一句
obj_mouse_dbl_click("GIN(ENTRY):", ","","",LEFT);
双击使焦点移动到下一个要选择的下拉框。
作者: dyjyhx    时间: 2005-3-1 09:45
生如火花的方法也能解决问题。我试了。

多谢了




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