Winium.Cruciatus это open-source C# фреймворк для автоматизации тестирования Windows приложений построенных на WinFroms или WPF платформах.
Winium.Cruciatus это обёртка над библиотекой Microsoft UI Automation из пространства имён System.Windows.Automation.
- Для работы достаточно редакции Visual Studio Professional
- Вы можете использовать любой тестовый фреймворк для написания тестов (например NUnit)
-
Добавить ссылку на
Winium.Cruciatus
в тестовом проекте (через NuGet пакет) -
Описать карту приложения
-
Используя карту написать тесты
-
Запустить тесты и балдеть от происходящей магии
-
Создать C# Console Application проект
-
Добавить ссылку на
Winium.Cruciatus
(через NuGet пакет) -
Использовать следующий код:
namespace ConsoleApplication { using System.Windows.Automation; using Winium.Cruciatus.Core; using Winium.Cruciatus.Extensions; public class Program { private static void Main(string[] args) { var calc = new Winium.Cruciatus.Application("C:/windows/system32/calc.exe"); calc.Start(); var winFinder = By.Name("Калькулятор").AndType(ControlType.Window); var win = Winium.Cruciatus.CruciatusFactory.Root.FindElement(winFinder); var menu = win.FindElementByUid("MenuBar").ToMenu(); menu.SelectItem("Вид$Инженерный"); menu.SelectItem("Вид$Журнал"); win.FindElementByUid("132").Click(); // 2 win.FindElementByUid("93").Click(); // + win.FindElementByUid("134").Click(); // 4 win.FindElementByUid("97").Click(); // ^ win.FindElementByUid("138").Click(); // 8 win.FindElementByUid("121").Click(); // = calc.Close(); } } }
-
Запустить ConsoleApplication и балдеть от происходящей магии
Мы открыты для сотрудничества!
- Проверьте нет ли уже открытого issue или заведите новый issue для обсуждения новой фичи или бага.
- Форкните репозиторий и начните делать свои изменения в ветке мастер или новой ветке
- Мы советуем написать тест, который покажет, что баг был починен или что новая фича работает как ожидается.
- Создайте pull-request и тыкайте в мэнтейнера до тех пор, пока он не примет и не сольет ваши изменения. 😃
Есть вопросы? Нашли ошибку? Создавайте новое issue или пишите [email protected]
Winium выпущен под MPL 2.0 лицензией. Подробности.