0

Ranorex 是用于 Windows 的用户界面测试工具。如果 UI 元素支持 Microsoft Active Accessiblity (MSAA),那么它可以检索有关元素的丰富信息,这对于编写测试脚本非常有用。

我们在 VB6 中有很多不支持 MSAA 的遗留代码。

我正在尝试将这种支持添加到我们的一些 VB6 用户控件中,如下所示。

我使用 ATL 在 C++ 中创建了一个 ActiveX 组件。这包含一个实现接口 IAccessible 的辅助类。它还包含一个可以从 VB6 调用的初始化函数。

VB6 UserControl 创建辅助对象并将其窗口句柄和名称传递给初始化函数。帮助对象子类化窗口并处理 WM_GETOBJECT 消息,为窗口提供 IAccessible 接口。

我已经调试了代码,据我所知,它正在工作。Ranorex Spy 工具获取 IAccessible 接口并调用接口上的方法。

但是,Ranorex 实际上并没有显示它似乎通过此界面获取的任何信息。

我知道这是一个非常具体的问题,但是是否有人有实现 IAccessible 以在 Ranorex 或其他类似测试工具中使用的经验?

我很乐意提供我的代码,但我认为这对于正常发布来说太过分了。

4

1 回答 1

1

这似乎从未被广泛使用。我找到了一些我可以分享的面包屑,所以也许这些会有一些价值?

第一的:

Microsoft Active Accessibility 2.0 作为 Microsoft Windows XP 中的标准系统组件...

这来自 MSAA20RDK\redist.txt,它继续讨论如何将它安装到 Win2K 和更早版本中。据我所知,这些部件和部件包含在 XP 及更高版本中,因此您可能不需要 RDK 下载,它基本上没有任何信息,而且大多只有 DLL。

这是一个链接:

Microsoft Active Accessibility 2.0 Redist

一些可能更有用的东西,请注意这是下载 Word DOC 的“实时”链接:

微软活动辅助功能 2.0

我在 MS 下载中没有找到讨论它的“页面”链接。这是一个较大的文档,提供了许多详细信息,几乎完全针对 C++ 程序员。然而,在 VB6 上有一点点。

也就是说,它告诉你的很少,除了:

Visual Basic 示例程序

Advanced Microsoft Visual Basic 6.0, 2nd Edition (Mandelbrot Set International, Ltd.) 一书包括讨论 Active Accessibility 的一章。本章提供了演示如何使用关键 Active Accessibility API 的示例代码。(微软出版社,ISBN 1-57231-893-7)

那里还有一点,但不多。引用的书可能很难再找到了,我只在亚马逊上看到过一本意大利语版本,但四处寻找,第三者可能会在那里或 eBay 上出售,等等。

在此链接:Microsoft Active Accessibility,来自该 Word DOC 的信息似乎是重复的,尽管它可能是最新的。

于 2016-02-20T22:16:44.407 回答