Есть ли способ автоматизировать тестирование оконных форм? - PullRequest
49 голосов
/ 25 августа 2008

Я знаком с nunit для модульного тестирования бизнес-уровня, однако сейчас я хочу автоматизировать тестирование графического интерфейса win form.

Я видел watin и регистратор watin для автоматизации тестов веб-приложения путем доступа к элементам управления и их автоматизации. Однако я изо всех сил пытаюсь найти эквивалент watin для оконных форм (написанных на c # или vb.net) предпочтительно с открытым исходным кодом.

Существует ли один или все продукты основаны на записи нажатий мыши и клавиатуры?

Обновление: Я посмотрел этот пост в блоге на белом , и мне кажется, что я ищу именно это. Сообщение в блоге поднимает некоторые проблемы, но поскольку белый только в версии 0.6, они могут быть решены. Интересно, если другие использовали белый или любой другой для сравнения.

Ответы [ 7 ]

24 голосов
/ 25 августа 2008

Выезд http://www.codeplex.com/white и http://nunitforms.sourceforge.net/. Мы успешно использовали проект White.

Тот же ответ на предыдущий вопрос

Редактировать

Белый проект перемещен и теперь находится на GitHub как часть TestStack.

7 голосов
/ 25 августа 2008

AutomatedQA TestComplete - хорошее тестовое приложение для автоматизации тестирования GUI. Он поддерживает не только Windows Forms, поэтому вы можете использовать его для других приложений. Это не с открытым исходным кодом, и это лучшее, что я нашел. Я не видел открытого источника, эквивалентного WatiN. У него есть бесплатная пробная версия, потому что вы сами решаете, нравится вам это или нет. Основная причина, по которой я пошел с этим, заключается в том, что он действительно экономичен по сравнению с другими приложениями для тестирования.

4 голосов
/ 12 марта 2017

В качестве новой альтернативы я могу дать вам FlaUI (https://github.com/Roemer/FlaUI).) Это в основном полное переписывание белого с большим количеством функций и чистой базой кода.

2 голосов
/ 08 марта 2009

Вот несколько ссылок из журнала MSDN на код автоматического тестирования:

  • Использование UIAutomation Исправление ошибок Март 2007
  • Использование PowerShell Тестовый прогон Декабрь 2007
  • Tester, утилита для записи щелчков мыши и нажатий клавиш, затем их воспроизведения и проверки поведения программы. Отлично подходит для неуправляемого кода. Использует дескрипторы окон, поэтому может не работать для управляемого кода. Bugslayer март 2002.
2 голосов
/ 26 декабря 2008

Насколько я знаю, Белый - это уровень абстракции поверх структуры UI Automation от Microsoft. Я написал аналогичный слой, который мы используем внутри наших проектов, и он прекрасно работает. Таким образом, белые определенно стоили бы посмотреть

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

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

Мы работаем внутри VSTS и связываем наши результаты с требованиями, но вы можете использовать c # express и nUnit и получать первоклассные инструменты и языки за небольшую плату.

1 голос
/ 14 октября 2008

Вы можете проверить Microsoft UI Automation framework. Это было включено в .NET с версии 3.0. Во всяком случае, это то, что использует белый каркас.

0 голосов
/ 31 марта 2017

Вы можете рассмотреть возможность использования Кодированный пользовательский интерфейс , встроенную функцию Visual Studio и часть автоматизации пользовательского интерфейса:

Автоматизированные тесты, которые управляют вашим приложением через пользовательский интерфейс (UI) известны как кодированные тесты UI (CUIT) . Эти тесты включают функциональное тестирование элементов управления UI. Они позволяют вам убедиться, что все приложение, включая его пользовательский интерфейс, функционирует правильно. Кодовые тесты пользовательского интерфейса особенно полезны там, где есть проверка или другая логика в пользовательском интерфейсе, например в сети стр. Они также часто используются для автоматизации существующего руководства тест.

[...] типичное развитие опыт может быть тот, где изначально вы просто строите приложение (F5) и щелкните элементы управления пользовательским интерфейсом, чтобы убедиться, что все работает правильно. Затем вы можете решить создать закодированный тестировать, чтобы вам не нужно было продолжать тестировать приложение вручную. В зависимости от конкретной функциональности, тестируемой в ваше приложение, вы можете написать код для функционального теста, или для интеграционного теста, который может включать или не включать тестирование на Уровень пользовательского интерфейса. Если вы просто хотите получить прямой доступ к бизнес-логике, Вы можете написать кодовый тест. Однако при определенных обстоятельствах это может быть полезно включить тестирование различных элементов управления UI в ваше приложение. Кодированный тест пользовательского интерфейса может автоматизировать начальный (F5) сценарий, подтверждающий, что отток кода не влияет на функциональность вашего заявления.

Подробнее на: https://docs.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...