51Testing软件测试论坛
标题:
有没有什么函数可以返回当前窗口的
[打印本页]
作者:
HYDD
时间:
2007-1-15 11:19
标题:
有没有什么函数可以返回当前窗口的
遇到一个问题:
做回归测试,通过判断一个窗口是否出现来判断bug是否仍然存在。
折腾了半天,老出问题
作者:
HYDD
时间:
2007-1-15 11:34
如何可以返回当前窗口阿?大家帮帮忙。
在线等啊
作者:
lsy325
时间:
2007-1-15 11:54
GUI_get_window ( );
返回在guimap里的当前窗口。
例如:
public function change_window(in win)
{
auto curr_win;
curr_win = GUI_get_window();
if (curr_win != win)
set_window(win);
}
#取回GUI map中的当前窗口,如果需要,则改变当前窗口。
作者:
lsy325
时间:
2007-1-15 11:58
像你说的问题可用
win_wait_info("窗口","enabled",1,10);
来实现的.
在规定的时间内窗口出现,该函数会成功,未出现函数失败.通过判定该函数是否执行成功就行了.
作者:
lsy325
时间:
2007-1-15 12:03
还有两个函数:
GetForegroundWindow();
返回当前窗口句柄。
GetFocus();
返回当前获取焦点的窗口句柄,若没有,则返回NULL。
作者:
HYDD
时间:
2007-1-15 13:30
呵呵,谢谢阿。
作者:
HYDD
时间:
2007-1-15 13:32
还有一个问题:返回GUI中的当前窗口是什么意思?还返回当前窗口一样吗?
作者:
HYDD
时间:
2007-1-15 13:42
还有一个问题,是不是执行成功就是==E_ok?
作者:
lsy325
时间:
2007-1-15 14:52
返回GUI中的当前窗口和返回当前窗口有区别,主要是用来判定WinRunner有没有把想要操作的窗口做为当前窗口.脚本中用_set_window("",0);指定的.
想要得到当前窗口还是用"GetForegroundWindow();返回当前窗口句柄"好些.
作者:
lsy325
时间:
2007-1-15 14:55
执行成功:E_OK(代码) 0(数值)代表 成功的操作
执行失败:E_NOT_IN_MAPPING(代码) -10011(数值) 代表在GUI map中找不到窗体或对象
作者:
HYDD
时间:
2007-1-15 15:27
呵呵,多谢lsy325。
俺还有一个问题:
返回当前窗口的句柄后,怎么使用这个句柄呢?
句柄是不是属性handle
作者:
HYDD
时间:
2007-1-15 15:41
GetForegroundWindow();
这个函数怎么用?举个例子吧。返回的句柄怎么付给其他变量
作者:
lsy325
时间:
2007-1-15 15:49
不好意思,这个是WinRunner调用API函数,我是看些资料自己学学,这方面的没用过,下面这个API函数你可能用得上.
怎样使用你自己试试吧.
BringWindowToTop(hWnd);
该函数将指定的窗口设置到Z序的顶部。 如果窗口为顶层窗口,则该窗口被激活;
如果窗口为子窗口,则相应的顶级父窗口被激活。
hWnd 设置到Z序的顶部的窗口句柄。
如果函数成功,返回值为非零;如果函数失败,返回值为零。
备注:使用BringWindowToTop函数显示出被其他窗口部分或全部遮盖的窗口。
调用这个函数类似于调用SetWindowPos函数来改变窗口在Z序中的位置,
但是BringWindowToTop函数并不能使一个窗口成为顶层窗口。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2