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

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

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

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

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


person John    schedule 24.08.2008    source источник


Ответы (9)


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

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

Изменить

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

person denis phillips    schedule 24.08.2008

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

person Dale Ragan    schedule 24.08.2008

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

person Roemer    schedule 11.03.2017

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

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

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

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

person Bruce McLeod    schedule 26.12.2008

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

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

Microsoft рекомендует использовать WinAppDriver:

Драйвер приложения Windows (WinAppDriver) - это служба для поддержки Selenium-подобной автоматизации тестирования пользовательского интерфейса в приложениях Windows. Эта служба поддерживает тестирование приложений универсальной платформы Windows (UWP), Windows Forms (WinForms), Windows Presentation Foundation (WPF) и классической Windows (Win32) на ПК с Windows 10.


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

Закодированный тест пользовательского интерфейса для автоматического функционального тестирования на основе пользовательского интерфейса устарел. Visual Studio 2019 - последняя версия, в которой будет доступен закодированный тест пользовательского интерфейса. Мы рекомендуем использовать Selenium для тестирования веб-приложений и Appium с WinAppDriver для тестирования настольных приложений и приложений UWP. Рассмотрим Xamarin.UITest для тестирования приложений iOS и Android с использованием тестовой среды NUnit.

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

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

person Dariusz Woźniak    schedule 31.03.2017
comment
это устарело - person Christophe Chenel; 23.02.2021
comment
@ChristopheChenel: Спасибо за заметку, я обновил ответ. - person Dariusz Woźniak; 23.02.2021

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

person Sam Warwick    schedule 14.10.2008

WinAppDriver - это подобная Selenium служба автоматизации тестирования пользовательского интерфейса для тестирования приложений Windows, включая приложения Windows Forms. Его можно использовать с Appium, фреймворком для автоматизации тестирования.

person fractor    schedule 11.02.2021

Вы также можете использовать Winium (https://github.com/2gis/Winium), который работает на нескольких Платформа Windows, помимо Windows 10, аналогична Selenium с дополнительными функциями, поддерживающими удаленное управление приложением.

person Sumedh Soni    schedule 23.02.2021