Я пытаюсь автоматизировать графический интерфейс в С #. Это то же самое, что автоматизация браузера. как я могу начать автоматизацию пользовательского интерфейса
автоматизация пользовательского интерфейса c #
Ответы (7)
Вы можете использовать библиотеку Microsoft UI Automation, но это не очень весело. "Белый" - лучшая альтернатива ... см.: http://www.codeplex.com/white
РЕДАКТИРОВАТЬ:
Новый URL-адрес «Белого» проекта, поскольку он был перемещен в TestStack на GitHub: https://github.com/TestStack/White
Если вы используете WPF, у Microsoft есть очень подробная библиотека автоматизации пользовательского интерфейса.
http://msdn.microsoft.com/en-us/library/ms747327.aspx
Я осмотрелся, но не нашел эквивалента для WinForms.
WiPFlash - хорошая, простая в использовании оболочка с открытым исходным кодом поверх библиотеки автоматизации пользовательского интерфейса Microsoft. Но они ограничены базовой структурой Microsoft Automation.
Будьте осторожны, если ваш графический интерфейс использует какие-либо сторонние элементы управления Windows, такие как элементы управления Devexpress или элементы управления Telerik.
MS UI Automation будет трудно найти эти причудливые сетки, прекрасные меню и красивые значки.
Говоря о TestStack.White, он использует MS UI Automation в качестве краеугольного камня, поэтому он столкнется с той же проблемой при поиске подробных элементов графического интерфейса.
Вы будете знать, когда вам нужно манипулировать сеткой за строкой, но UI Automation или TestStack.White может только вернуть вам объект таблицы, тогда вы обнаружите, что все ваши усилия по исследованиям и разработкам до запуска проекта были потрачены впустую. Вот как я усвоил этот урок, но теперь я эксперт.
FlaUI - хорошая альтернатива «белой» библиотеке, основанной на собственных библиотеках автоматизации пользовательского интерфейса от Microsoft.
http://msdn.microsoft.com/en-us/library/ms747327.aspx, как указал Аластер Питтс, можно использовать. Насколько мне известно, он должен подходить для любых задач автоматизации - до тех пор, пока Windows распознает элемент управления, который ваше приложение использует как стандартные элементы управления или элементы управления, поддерживающие автоматизацию. Что должно быть применимо практически ко всем основным поставщикам средств управления. И определенно MFC, Win32, WinForms и, возможно, WPF и Silverlight.
Вы можете получить представление о том, что вы делаете (против), запустив Spy ++ и посмотрев, что он отображает.
Вы также можете прислушаться к другим идеям, используя такие инструменты, как White (открытый исходный код) или Rannorex (коммерческий).
9 лет спустя Appium - хороший вариант, также справочная сторона от Microsoft, поскольку CodedUI устарел. Microsoft создала WinAppDriver для Appium. Вы также можете просто использовать WinAppDriver для тестирования своего графического интерфейса. вам нужен Appium, просто если вы хотите сделать contionouos интеграцию.
Различия:
Teststack.White - это эффективная Testframework. Для прохождения тестов ему не нужно столько времени, как WinAppDriver (Appium), и его очень легко реализовать в вашем тестовом проекте. Но поддержка не так хороша, как WinAppDriver. Teststack.White как пример все еще не поддерживает UWP (возможно, никто не хочет разрабатывать с UWP: P). С другой стороны, для работы с WinAppDriver вам потребуется Windows 10 или Windows Server 2016. Оба имеют простую реализацию тестов, но вам нужно установить некоторые JSON-значения, чтобы получить http-соединение с WinAppDriver.
По крайней мере, WinAppDriver с Appium имеет гораздо больше возможностей, но TestStack.White легко реализуется.