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

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

Вопрос

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

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

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

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

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

Решение

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

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

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

Проект Белый переехал и теперь находится по адресу: г. GitHub как часть TestStack.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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