Ranorex是Windows的用户界面测试工具。如果UI元素支持Microsoft Active Accessiblity(MSAA),那么它可以检索有关元素的丰富信息,这对于编写测试脚本非常有用。
我们在VB6中有很多遗留代码,它们不支持MSAA。
我正在尝试将这种支持添加到我们的一些VB6 UserControl中,如下所示。
我使用ATL在C ++中创建了一个ActiveX组件。它包含一个实现IAccessible接口的辅助类。它还包含一个初始化函数,可以从VB6调用。
VB6 UserControl创建辅助对象并将其Window Handle和name传递给初始化函数。辅助对象是窗口的子类,处理WM_GETOBJECT消息,为窗口提供IAccessible接口。
我已经通过代码进行了调试,据我所知,它正在运行。 Ranorex Spy工具获取IAccessible接口并在接口上调用方法。
但是,Ranorex实际上并没有显示它通过此界面获取的任何信息。
我知道这是一个非常具体的问题,但是有没有人在Ranorex或其他类似的测试工具中使用IAccessible的经验?
我很乐意提供我的代码,但我认为这对于正常发布来说太过分了。
答案 0 :(得分:1)
这似乎从未被广泛使用过。我发现了一些我可以分享的面包屑,所以也许这些会有一些价值吗?
首先:
Microsoft Active Accessibility 2.0作为Microsoft Windows XP中的标准系统组件提供......
这是来自MSAA20RDK \ redist.txt,它继续讨论如何将它安装到Win2K及更早版本中。据我所知,这些部件和部件都包含在XP及更高版本中,因此您可能不需要RDK下载,它基本上没有任何信息,而且大部分只是DLL。
这是一个链接:
Microsoft Active Accessibility 2.0 Redist
可能更有用的东西,请注意,这是下载Word DOC的“实时”链接:
Microsoft Active Accessibility 2.0
我没有在MS下载中找到讨论它的“页面”链接。这是一个更大的文档,提供了许多细节,几乎完全是为了C ++程序员。然而,VB6上有一个一点。
那说它除了告诉你很少:
Visual Basic示例程序
本书高级Microsoft Visual Basic 6.0,第2版(Mandelbrot Set International,Ltd。)包括一章讨论Active 可访问性。本章提供了演示如何操作的示例代码 使用关键的Active Accessibility API。 (微软出版社,ISBN 1-57231-893-7)
还有一点但不多。引用的这本书可能很难找到,我只在亚马逊上看到一本意大利语,但是在那里挖掘,第三方可能会在那里或在eBay等上卖。
在此链接:Microsoft Active Accessibility来自该Word DOC的信息似乎是重复的,但可能更新。