Есть ли кто-нибудь, кто успешно реализует режим автоматизации тестирования пользовательского интерфейса с помощью Microsoft UI Automation?
Я ищу автоматизированный UI test framework / программный инструмент. В прошлом я использовал TestComplete, и хотя это хорошая часть программного обеспечения, но концепция автоматизации тестирования GUI была сочтена достаточно сложной, что я написал несколько постов to жалуетесь об этом.
одна из проблем со сторонним инструментом автоматизации тестирования заключается в том, что вам нужно изучать новый язык, чтобы быть продуктивным на это, не говоря уже о том, что средства поддержки бедных. Теперь я планирую заглянуть в автоматизация пользовательского интерфейса Microsoft это поставляется с .Net 3.0 и Белые Рамки. Но прежде чем я это сделаю, я хочу знать, каков будет результат.
У кого есть опыт в этом? Вы создали устойчивый и успешный набор тестов с помощью UI automation в своем приложении?
Edit: это кажется очень сложным вопросом. Я бы установил bounty для это если я не получу никаких ответов в течение этих нескольких дней.
7 ответов
Это очень поздний ответ (вы, вероятно, уже отправлены), но я протестировал приложение WPF с ним.
У меня было много flakiness, когда я использовал версию beta1 VS2010, и столкнулся с некоторыми ошибками. С помощью версии, у меня было меньше проблем.
Это было сложно, потому что я изучал WPF, VS UI automation и WPF/Windows accessibility одновременно. Тот факт, что трудно создать пуленепробиваемые автоматизированные тесты пользовательского интерфейса, добавил к этому трудность.
после VS2010 RTM у меня все еще были прерывистые проблемы с родной/пользовательской страницей, которую мы завернули. Я думаю, что это было частично из-за проблемы воспитания, а частично из-за проблемы с потоком/процессом.
самая большая головная боль, с которой я столкнулся, была, когда я пытался протестировать против некоторого элемента управления, который мы использовали из инструментария WPF, в частности элемента управления DataGrid. У него были некоторые известные ошибки автоматизации пользовательского интерфейса, и у меня было дьявольское время их.
Я также столкнулся с некоторыми проблемами, когда платформа автоматизации пользовательского интерфейса кэшировала данные за кулисами. Мне пришлось бы повторно создавать экземпляры элементов управления, чтобы получить обновленные данные о них (особенно видимость, когда элемент управления был плохо воспитан).
Если бы у меня было чистое приложение WPF или Pure Win32, которое не наследует пользовательский интерфейс от других приложений, обертывает вещи в элементах управления WebBrowser, использует пользовательские элементы управления и т. д., Я бы, вероятно, использовал его снова. Если вы еще не приняли решение тем не менее, и ваше приложение использует любой из них, тогда я посмотрю, могу ли я использовать что-то еще. Возможно, более простой набор скриптов для более ограниченного интеграционного тестирования, а остальные попробуйте покрыть модульными тестами, используя макетные объекты.
Я не использовал его в течение последних 6 месяцев, так что ваш пробег может варьироваться.
мы используем белую тестовую структуру здесь с отличными результатами.
платформа использует обмен сообщениями win32 для поиска элементов управления и взаимодействия с ними. Это довольно медленно на больших форм с большим количеством элементов управления, однако, это единственный недостаток с которым я столкнулся. Мы автоматизируем запуск теста с помощью buildbot и NUnit-консоли.
Я написал драгоценный камень на основе ironruby под названием Bewildr это обертывает MS UI Automation framework. Он был успешно использован для автоматизации приложений MS WPF в различных компаниях, включая BBC. Вот пошаговое руководство по его использованию: http://www.natontesting.com/2011/08/27/step-by-step-example-of-bdding-a-wpf-app-with-cucumber-rspec-ironruby-and-bewildr/
Я использую MS UI Automation framework, используя C#.net и я нашел это чрезвычайно простым и полезным.Никаких проблем не наблюдалось, но в нем отсутствует поддержка создания отчетов, поэтому вам нужно написать свою собственную логику для этого на основе вашего конкретного тестового случая.
общее удовлетворение: 8 / 10.
У меня нет опыта работы с Microsoft UI Automation, но я использую AutoIt (http://www.autoitscript.com/autoit3/), чтобы сделать немного автоматизации GUI. Я использую его для тестирования надстройки Visual Studio. Не совсем ответ на ваш вопрос, но это может быть интересным для вас.
с уважением,
Себастиан
Холодный Ответ... Лучше я отвечу на фиктивный ответ, на всякий случай, если на это нет хорошего ответа.
Ive использовал облегченную версию UI automated testing для .net framework, используя аналогичный подход к этому:
http://msdn.microsoft.com/en-us/magazine/cc163864.aspx
Я столкнулся с проблемами, используя вкладки и решая, какие панели будут использоваться, но это в конечном итоге привело к редизайну формы (так что он в значительной степени нашел проблемы в дизайне!)