Microsoft Active Accessibility, VB6 и Ranorex

Ranorex — это инструмент тестирования пользовательского интерфейса для Windows. Если элементы пользовательского интерфейса поддерживают Microsoft Active Accessiblity (MSAA), тогда он может получать обширную информацию об элементах, что очень полезно для написания тестовых сценариев.

У нас много устаревшего кода в VB6, который не поддерживает MSAA.

Я пытаюсь добавить эту поддержку в некоторые из наших пользовательских контроллеров VB6 следующим образом.

Я создал компонент ActiveX в C ++, используя ATL. Он содержит вспомогательный класс, который реализует интерфейс IAccessible. Он также содержит функцию инициализации, которая может быть вызвана из VB6.

VB6 UserControl создает вспомогательный объект и передает свой дескриптор окна и имя функции инициализации. Вспомогательный объект подклассирует окно и обрабатывает сообщение WM_GETOBJECT, чтобы обеспечить интерфейс IAccessible для окна.

Я отлаживал код и, насколько я могу судить, он работает. Инструмент Ranorex Spy получает интерфейс IAccessible и вызывает методы интерфейса.

Однако Ranorex на самом деле не отображает какую-либо информацию, которую он, похоже, получил через этот интерфейс.

Я знаю, что это очень специфическая проблема, но есть ли у кого-нибудь опыт внедрения IAccessible для использования в Ranorex или других подобных инструментах тестирования?

Я был бы рад предоставить свой код, но я думаю, что это слишком много для обычной публикации.

0

Решение

Кажется, это никогда не использовалось широко. Я нашел несколько хлебных крошек, которыми я могу поделиться, так что, возможно, они будут иметь какую-то ценность?

Первый:

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 Downloads, которая обсуждает это. Это более крупный документ, содержащий много деталей, почти полностью для программистов на C ++. Однако есть немного на VB6.

Тем не менее, это говорит вам мало, кроме:

Примеры программ на Visual Basic

Книга Advanced Microsoft Visual Basic 6.0, 2-е издание (набор Мандельброта
International, Ltd.) включает главу, в которой обсуждается Active
Доступность. В этой главе приведен пример кода, демонстрирующий, как
используйте ключевые API Active Accessibility. (Microsoft Press, ISBN 1-57231-893-7)

Там немного больше, но не так много. Книгу, на которую можно сослаться, найти довольно сложно, я видел только одну на итальянском на Amazon, но копаюсь, и третья сторона может продавать там или на eBay, и т. Д.

По этой ссылке: Microsoft Active Accessibility информация из этого Word DOC, кажется, дублируется, хотя, возможно, она более актуальна.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]