Добрый день коллеги,
поступило задание от начальства начать написание автотестов для функционала десктоп приложения, так как до этого работал только с вебом то понятия не имею в сторону какого тула смотреть, буду ОООчень благодарен за любую помощь)
PS. вполне вероятно что тема была создана в неправильном разделе (явную ветку десктоп не нашел), кто таковую найдет просьба поправить пост
Для винды не помешает познакомиться с Win32Api. На примере питона можно начать с чего-то простого:
А потом изучить хуки, dll injection и использовать их. Это если хардкорно, как деда любит. Но вобще можно попробовать использовать Sikuli или что-то подобное, но деда такое не любит.
Сам юзаю первое, хватает с головой. Внятное АПИ, внятная библиотека.
Второй вариант - точно только под питон, триальный на 30 дней, потом просит много денег
А если на сях приложение, виниум его потянет?
Например, накое-нить 1с-предприятие, там не всё можно захватить. проводил исследования, больше понравилось использовать сикули, но там ограничения получаются на тест кейсы.
Для элементов, которые видит UISpy, использовал Winium (он быстрее)… которых не видно - SikuliX… Плюс у Winium еще нет Drag and Drop, поэтому сделал метод который получает winium element, а возвращает Rectangle, который потом пользует SikuliX dragDrop…
Очень удобно для небольшого проекта, где клиентская часть Web, a админ - Desktop. Один env для всего - Java+Winium+Selenium+SikuliX… А так SikuliX - зло, ИМХО
Посмотрите в сторону TestStack.White.
Мы сейчас как раз автоматизируем десктопное приложение, и перед этим проанализировали штук 10-15 различных фреймворком. По итогу выбирали между Winium и TestStack.White и взяли по итогу второй и вполне себе довольны.
В дополнение, у нас как и у вас стояла задача, сначала все на 3 виндовых ос сделать, затем на маке.
поживее старого вайта, человеческий codebase, более менее вменяемая поддержка COM3. Той самой хрени, из ветки UIComWrapper вайта, которая никогда не зарелизится
Старый добрый SilkTest - делает всё, что можно автоматизировать при тестировании десктопного приложения и ещё кое-что полезное при часто изменяющихся требованиях. Правда без кряки дорого получается.