Подтвердить что ты не робот

Есть ли способ автоматизировать тестирование форм Windows?

Я знаком с nunit для модульного тестирования бизнес-уровня, но теперь я ищу автоматизировать тест уровня gui win win.

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

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

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

4b9b3361

Ответ 1

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

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

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

Проект White перенесен и теперь находится на GitHub как часть TestStack.

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

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

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

Ответ 5

Вот несколько ссылок из MSDN Magazine на автоматический тестовый код:

  • Использование UIAutomation Bugslayer март 2007
  • Использование PowerShell Test Run декабрь 2007
  • Tester, утилита для записи щелчков мышью и нажатия клавиш, а затем воспроизведения их и проверки программ. Отлично подходит для неуправляемого кода. Использует ручки Windows, поэтому может не работать хорошо для управляемого кода. Bugslayer в марте 2002 года.

Ответ 6

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

Ответ 7

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

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

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

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