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 был самым медленным?