Я ищу альтернативу существующим тестам, написанным на QTP, для моего приложения Win32, написанного на Borland C++. Мой кандидат — White, основанный на автоматизации пользовательского интерфейса, поскольку это нативное решение. Я могу создавать свои тесты с помощью .NET/C# и легко интегрировать их с nUnit и Hudson.
Белый http://white.codeplex.com
Автоматизация пользовательского интерфейса MS http://msdn.microsoft.com/en-us/library/ms747327.aspx
Проверка пользовательского интерфейса http://uiautomationverify.codeplex.com
Я использую UI Verify в качестве шпиона для определения свойств объектов, которые я хочу найти в своих тестах. Более или менее, когда я вижу что-то в шпионе, я могу найти это с помощью UI Automation/White. Как правило, у меня не возникает особых проблем с распознаванием объектов, но когда я пытаюсь найти какой-либо контент внутри вкладки, содержащейся на панели вкладок, или пытаюсь увидеть элементы меню в строке меню, возникает проблема.
UI Automation/UI Verify работает в проводном режиме. Когда я запускаю UI Verify (версия 1.0), я вижу, что объекты могут быть зарегистрированы правильно только тогда, когда я устанавливаю параметр «Отслеживание фокуса» и нажимаю на целевые объекты или меняю на них курсор клавиатуры. Иначе найти их невозможно. Тогда UI Verifier может показать мне дочерние элементы моей панели вкладок. Но я не могу найти их с помощью UI Automation/White. Это пример кода:
Вкладка вкладка = окно.Получить(); ITabPage tabPage = tab.SelectedTab; AutomationElementCollection newCol = tabPage.AutomationElement.FindAll(TreeScope.Descendants, Condition.TrueCondition); окно.Получить("Имякнопки");
коллекция пуста, хотя шпион видит детей.
- Есть ли у кого-нибудь из вас опыт работы с библиотекой White/UI Automation, которым он/она хотел бы поделиться со мной?
- Я хочу внедрить функцию отслеживания из шпиона в свои тесты. Вы можете помочь мне с этим? Пытаюсь изучить код шпиона UIA Verify. Я думаю, что за отлов объектов отвечают два класса: FocusChangeListener и FocusTracer — это код:
http://uiautomationverify.codeplex.com/SourceControl/changeset/view/9992#214260 http://uiautomationverify.codeplex.com/SourceControl/changeset/view/9992#214192
Требования: 1. Windows SDK 2. .NET 3.5 3. Белый 4. Код проверки UIA
- Есть ли у вас лучшая альтернатива для White/UI Automation?
R.