活动的可访问兼容型应用给程序员带来使用软件的新工具
2007-03-22 21:31:12 来源:WEB开发网核心提示: 自动测试软件必须通过UI控件,对软件产品执行一系列的操作,活动的可访问兼容型应用给程序员带来使用软件的新工具(7),然后检查这些操作的结果,因此,返回包含请求信息的串(及其长度),GetUIElementRole和GetUIElementState为角色和状态分别返回一个DWORD的值,你
自动测试软件必须通过UI控件,对软件产品执行一系列的操作,然后检查这些操作的结果。因此,你在编写测试程序时首要解决的问题是如何有效的操作UI控件。你必须能够在合理的时间内找到与UI元素对应的IAccessible interface/child ID对,你才能获得它们的信息并执行一系列动作。
为了检查结果,你可以检索UI元素的有关属性(例如值、状态或名字),或者使用键盘输入模拟来选择文本,将其放入剪切板,然后与期望的值进行比较。
在UI元素上执行一个动作然后检查结果比搜索可访问的元素花的时间短。因此,你的注意力应该放在减少搜索时间上。
获得元素信息
为了获得UI元素的信息,你需要相应的IAccessible interface/child ID对。我将简短的讨论如何获得这个对,但现在我们暂时认为已经知道了。
图3所示的前4个函数显示了如何得到名字,角色,状态以及和UI元素对应的WINDOWS类。前3个,GetUIElementName, GetUIElementRole和GetUIElementState包装了IAccessible方法get_accName, get_accRole和get_accState。它们以UI元素相应的IAccessible interface/child ID对为输入参数,返回包含请求信息的串(及其长度)。GetUIElementRole和GetUIElementState为角色和状态分别返回一个DWORD的值。当使用get_accRole的时候,函数GetRoleText用来将整型的角色表示转换为字符串表示:
hr = pacc->get_accRole(*pvarChild, &varRetVal);
if (hr == S_OK && varRetVal.vt == VT_I4)
{
GetRoleText(varRetVal.lVal, lpszRole, cchRole);
}
else
lstrcpyn(lpszRole, "unknown role", cchRole);
- ››兼容ie6浏览器窗口四角固定背景代码
- ››兼容FF和IE的html传递参数给swf的方法
- ››兼容IE和Firefox的设为首页和收藏的Javascript代码...
- ››兼容多种浏览器“复制到剪贴板”的解决方案
- ››访问频率监测有助数据库管理
- ››访问控制大师,使用pam来支持login的访问控制
- ››活动目录系列之十四:实战SYSVOL文件夹共享丢失后...
- ››活动目录的安装:深入浅出Active Directory系列(二...
- ››活动目录的介绍:深入浅出Active Directory系列(一...
- ››兼容IE6/IE7/IE8/FireFox的CSS hack
- ››活动贴发布
- ››访问Windows 2008共享资源出错解决方法
更多精彩
赞助商链接