WEB开发网
开发学院软件开发VC 活动的可访问兼容型应用给程序员带来使用软件的新... 阅读

活动的可访问兼容型应用给程序员带来使用软件的新工具

 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);

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:活动 访问 兼容

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接