51Testing软件测试论坛

标题: 求助能否增加一个判断光标所在位置的检查点? [打印本页]

作者: youshayun    时间: 2006-3-13 10:42
标题: 求助能否增加一个判断光标所在位置的检查点?
我刚接触Winrunner不久,请教各位,能否增加一个可以判断光标所在位置的检查点。

我要测试的功能为:
例如:添加一个用户,输入的用户名为空时,系统出现错误提示后,“确认”此提示后,光标的位置应停留在用户名这个输入框中。

能否增加判断此光标位置的检查点呢?
作者: 生如火花    时间: 2006-3-13 11:15
从软件的易用性来说,光标的位置不是很重要,重要的是你确认后,是不是回到你要的那个窗口。不知道我这样的理解是不是正确,或者你要测试的软件在这方面有特殊的要求。如果是测试是不是在某个窗口是很好解决的,光标相对麻烦很多
作者: youshayun    时间: 2006-3-14 10:21
呵可。。懂了。嗯的。对。因为我们要测试的界面都在同一窗口上,所以我就想着测光标的位置。若光标比较麻烦的话,就暂不考虑了。
谢谢啦~~~~嘿嘿。。
我第一次发帖子呢。。。嘻嘻。。。
作者: shyfish    时间: 2006-3-14 19:16
试了下GUI Checkpoint 的Focus属性好像没什么作用?(或许我的方法不对也可能)
所以基本上是不好实现的,实在需要可以这样:
Windows API里没找到返回当前窗口焦点的函数,不过CWnd类是有的,所以可以自己写个DLL封装个函数,把当前窗口的标题传进去,用FindWindow找到窗口获取HWND,或者用win_get_info("...", "handle",..);返回窗口的句柄(可能可行),有了句柄,再用CWnd的函数FromHandle得到窗口指针,这样,就可以调用CWnd的函数GetFocus来获取当前的焦点了,也可以通过SetFocus改变窗口的焦点。差不多下面的语句:
                     HWND hWnd = ::FindWindow(NULL, "Your Dlg Title");   // 第二个参数为标题
        CWnd* pWnd = FromHandle(hWnd);
        CWnd* pCurWnd = pWnd->GetFocus();   // 获取当前的焦点所在的窗口
        pCurWnd->GetWindowText(cs);
        TRACE(cs);




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