Skip to content

Latest commit

 

History

History
92 lines (63 loc) · 4.79 KB

README_RU.md

File metadata and controls

92 lines (63 loc) · 4.79 KB

Winium для Desktop

Build Status Inner Server NuGet downloads Inner Server NuGet version

Winium.Cruciatus это C# фреймворк для автоматизации тестирования Windows приложений построенных на WinFroms или WPF платформах

Winium.Cruciatus это open-source C# фреймворк для автоматизации тестирования Windows приложений построенных на WinFroms или WPF платформах.

Winium.Cruciatus это обёртка над библиотекой Microsoft UI Automation из пространства имён System.Windows.Automation.

Почему Winium.Cruciatus?

  • Для работы достаточно редакции Visual Studio Professional
  • Вы можете использовать любой тестовый фреймворк для написания тестов (например NUnit)

Быстрый старт

  1. Добавить ссылку на Winium.Cruciatus в тестовом проекте (через NuGet пакет)

  2. Описать карту приложения

  3. Используя карту написать тесты

  4. Запустить тесты и балдеть от происходящей магии

Примеры

Очень быстрый старт

  1. Создать C# Console Application проект

  2. Добавить ссылку на Winium.Cruciatus (через NuGet пакет)

  3. Использовать следующий код:

    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();
            }
        }
    }
  4. Запустить ConsoleApplication и балдеть от происходящей магии

Вклад в развитие

Мы открыты для сотрудничества!

  1. Проверьте нет ли уже открытого issue или заведите новый issue для обсуждения новой фичи или бага.
  2. Форкните репозиторий и начните делать свои изменения в ветке мастер или новой ветке
  3. Мы советуем написать тест, который покажет, что баг был починен или что новая фича работает как ожидается.
  4. Создайте pull-request и тыкайте в мэнтейнера до тех пор, пока он не примет и не сольет ваши изменения. 😃

Контакты

Есть вопросы? Нашли ошибку? Создавайте новое issue или пишите g.golovin@2gis.ru

Лицензия

Winium выпущен под MPL 2.0 лицензией. Подробности.