WinAppDriver UI Recorder Tool

Доброе утро,

Я хочу создать простые тесты пользовательского интерфейса для приложения Windows, например, запустить приложение из меню "Пуск" и открыть файл с этим приложением.

Я хочу, чтобы любой пользователь мог записать простой тест пользовательского интерфейса, как описано выше, я искал Microsoft WinAppDriver и да, сам драйвер хорош для выполнения тестов в соответствии с примерами, полученными при запуске через тестовый проводник.

Я смотрел на UIrecorder, предоставляемый в Git, и он, кажется, соответствует некоторым моим требованиям.

В настоящее время я регистрирую RecordedUiTask, но я не понимаю, что такое сгенерированный C# объект MyDesktopSession и как его инициализировать в тесте.

Пример ниже:

 string xp0 = "/Pane[@Name=\"Desktop 1\"][@ClassName=\"#32769\"]/Window[@Name=\"Untitled - Notepad\"][@ClassName=\"Notepad\"]/Document[@Name=\"Text Editor\"][@ClassName=\"Edit\"]";
 var winElem0 = MyDesktopSession.FindElementByXPath(xp0);
 if (winElem0 != null)
 {
     winElem0.Click();
 }

Я не знаю, есть ли доступное коммерческое программное обеспечение для этого или программное обеспечение с открытым исходным кодом?

Любая помощь будет принята с благодарностью.

Спасибо

3 ответа

Вы можете разветвить проект, чтобы использовать официальный UI Recorder Tool от Microsoft или использовать последнюю на данный момент версию из этого выпуска .

Для осмотра объектов можно использоватьinspect.exeкоторый включен в Windows SDK . Вы можете прочитать это руководство , чтобы узнать, как его использовать.

Объект MyDesktopSession определен в UIRecorderTemplate, который можно найти в репозитории Git.

public static WindowsDriver<WindowsElement> DesktopSession;
if (DesktopSession == null)
{
     DesiredCapabilities appCapabilities = new DesiredCapabilities();
     appCapabilities.SetCapability("app", "Root");
     appCapabilities.SetCapability("deviceName", "WindowsPC");
     DesktopSession = new WindowsDriver<WindowsElement>(new 
            Uri(WindowsApplicationDriverUrl), appCapabilities);
}

Имя объекта отличается, но это предоставляет вам основной объект, который использует UIRecorder.

Что касается длительного периода, вы начинаете с рабочего стола, а затем углубляетесь в свой AUT. Это означает, что для поиска этого поля необходимо найти ВЕСЬ рабочий стол (все запущенные программы). Если вы начнете поиск в Блокноте, он должен идти намного быстрее. Вот ответ о производительности селектора: Селекторные селекторные элементы - я думал, что xPath был самым медленным?

Другие вопросы по тегам