Есть ли кто-нибудь, кто успешно реализует режим автоматизации тестирования пользовательского интерфейса с помощью Microsoft UI Automation?

StackOverflow https://stackoverflow.com/questions/1249041

  •  12-09-2019
  •  | 
  •  

Вопрос

Я ищу среду/программный инструмент для автоматического тестирования пользовательского интерфейса.В прошлом я использовал Тест завершен, и хотя это хорошее программное обеспечение, но концепция автоматизации тестирования графического интерфейса показалась мне достаточно сложной, поэтому я написал несколько сообщений к жаловаться об этом.

Одна из проблем стороннего инструмента автоматизации тестирования заключается в том, что вам нужно изучать новый язык, чтобы эффективно работать с ним, не говоря уже о плохой поддержке инструментария.сейчас планирую изучить Автоматизация пользовательского интерфейса Microsoft который поставляется с .Net 3.0 и Белая рамка.Но прежде чем я это сделаю, я хочу знать, каков там результат.

У кого-нибудь есть опыт, которым можно поделиться по этому поводу?Создали ли вы устойчивый и успешный набор тестов с использованием автоматизации пользовательского интерфейса в своем приложении?

Редактировать:Кажется, это очень сложный вопрос.Я бы назначил за это награду, если не получу ответов в течение этих нескольких дней.

Это было полезно?

Решение 6

Холодный ответ...Лучше я отвечу фиктивным ответом, на случай, если на этот вопрос нет хорошего ответа.

Другие советы

Это очень поздний ответ (вероятно, вы уже отправили его), но я протестировал с его помощью приложение WPF.

Когда я использовал бета-версию VS2010, у меня было много проблем, и я столкнулся с некоторыми ошибками.Используя релизную версию, у меня было меньше проблем.

Это было сложно, потому что я одновременно изучал WPF, автоматизацию пользовательского интерфейса VS и специальные возможности WPF/Windows.Тот факт, что сложно создать надежные автоматизированные тесты пользовательского интерфейса, усугубляет эту трудность.

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

Самая большая головная боль, с которой я столкнулся, возникла, когда я пытался протестировать некоторые элементы управления, которые мы использовали из набора инструментов WPF, в частности элемент управления DataGrid.В нем было несколько известных ошибок автоматизации пользовательского интерфейса, и мне пришлось потратить немало времени, чтобы их обойти.

Я также столкнулся с некоторыми проблемами, когда платформа автоматизации пользовательского интерфейса скрыто кэшировала данные.Мне пришлось бы заново создавать экземпляры элементов управления, чтобы получить обновленные данные о них (особенно видимость, когда элемент управления был плохо родительским).

Если бы у меня было чистое приложение WPF или чистое Win32, которое не наследовало бы пользовательский интерфейс от других приложений, не заключало бы элементы в элементы управления WebBrowser, не использовало бы пользовательские элементы управления и т. д., то я бы, вероятно, использовал его снова.Если вы еще не приняли решение, и ваше приложение использует любой из них, я бы посмотрел, можно ли использовать что-нибудь еще.Возможно, более простой набор скриптов для более ограниченного интеграционного тестирования и попытка покрыть остальное модульными тестами с использованием фиктивных объектов.

Однако я не использовал его в течение последних 6 месяцев, поэтому ваш опыт может отличаться.

Здесь мы используем структуру теста Уайта и получаем отличные результаты.

Платформа использует обмен сообщениями Win32 для поиска элементов управления и взаимодействия с ними.Однако на больших формах с большим количеством элементов управления он работает довольно медленно, и это единственный недостаток, с которым я столкнулся.Мы также автоматизируем запуск теста с помощью buildbot и nunit-console.

Я написал драгоценный камень на основе железного рубина под названием сбить с толку который оборачивает структуру автоматизации MS UI.Он успешно использовался для автоматизации приложений 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 с использованием C#.net, и я нашел это чрезвычайно простым и полезным. Никаких проблем как таковых не наблюдалось, но в нем отсутствует поддержка создания отчетов, поэтому вам нужно написать для этого свою собственную логику на основе вашего конкретного тестового примера.

Общий уровень Удовлетворенности :8/10.

У меня нет опыта работы с Microsoft UI Automation, но я использую AutoIt (http://www.autoitscript.com/autoit3/), чтобы немного автоматизировать графический интерфейс.Я использую его для тестирования своей надстройки Visual Studio.Это не совсем ответ на ваш вопрос, но это может быть вам интересно.

С уважением,

Себастьян

Я использовал облегченную версию автоматического тестирования пользовательского интерфейса для .net framework, используя аналогичный подход:

http://msdn.microsoft.com/en-us/magazine/cc163864.aspx

Я столкнулся с проблемами при использовании вкладок и принятии решения о том, какие панели будут использоваться, но в конечном итоге это привело к изменению дизайна формы (поэтому в значительной степени были обнаружены проблемы и в дизайне!)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top