Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Подскажите инструмент для автоматизации десктопных приложений на Java


(Кирилл Р) #1

Добрый день.
Возможно, не совсем грамотно вопрос сформулирован, попробую пояснить. По работе необходимо заняться автоматизацией тестирования приложения, которое формирует счета какие-то, распечатывает, и т.п. Я пока документацию толком не курил, в общих чертах только знаю. Я более-менее разбираюсь в Java и в автоматизированном тестировании web-приложений, но вот с автоматизацией десктопных приложений я как-то не сталкивался и в инете что-то с наскоку ничего особо не нашёл (по запросу “автоматизация десктопных приложений java”, в основном, выдаются вакансии).
Подскажите, кто знает, какими средствами это делается, где почитать информацию на эту тему.
Так-то, обучение будет проводиться, но мне хотя бы, что б заранее знать, на что подписываюсь и с чем придётся иметь дело.


(Dmytro Makhno) #2

Какой технологический стэк десктоп приложения? Тоже на java написан?

Например jemmy


(Кирилл Р) #3

Система, вроде, на Делфи написана.
Это сильно плохо?


(ProofUser) #4

Можно использовать Java + Sikuli


(Кирилл Р) #5

Спасибо, буду пробовать.


(Кирилл Р) #6

А вы не знаете, jemmy можно использовать для автоматизации тестирования виндовских приложений или он только для Java-приложений подходит? В документации прочитал:
JemmyFX provides an API for testing JavaFX user interface in your application.
У меня приложение на Delphi7 написано.


(Dmytro Makhno) #7

@azEsm, не подойдет, jemmy только для java. На данный момент вы предоставляете оочень мало информации чтобы вам можно было помочь и сузить круг поиска.

Для чего-то подобного как “написано Delphi7”, попробуйте TestComplete (лично мое предпочтение, где много опыта и с чего обычно начинаю). Не думаю что вы найдете что-то opensource, и оно будет работать из коробки.

Возможно и он вам не подойдет, но это единсвенный мне, на данный момент известный “комбайн”. Все зависит от тех компонентов, которые были использованы для вашего приложения.

Попробуйте следующих UI шпионов:
spy++, uispy, ranorex spy, testcomplete object spy, telerik (никогда не юзал сам). hp (у само маленький опыт).

Исходите из того кто смог распознать ваш UI (и в том числе насколько локатор прост), поддерживает необходимые Windows платформы. Если уж выбор стоит “надо автоматизировать”, то java, вероятно мирно спит в сторонке.

Гуглите из того какие контролы вы используете, и какой инструмент распознает данные контролы, если мало опыта ищите поддержку в девах, иначе рискуете потратить огромное количесво времени и не продвинутся.
Мне приходилось сталкиваться со связкой где я сказал “простите помочь не могу”, свое время дороже…


(vmaximv) #8

А почему AutoIt никто не упоминает? Java биндинги вроде есть.


(Максим Таран) #9

@azEsm Так я не понял у вас Java или Delphi приложение?


(Кирилл Р) #10

Приложение на на Delphi, тестировать желательно при помощи Java


(Максим Таран) #11

Тогда Rational Functional Tester. Но он платный. :smile:


(Sergey Ivanskoy) #12

Есть неплохой фреймоврк TWIN, использующий UIAtomation.

https://code.google.com/p/twin/w/list линка на офсайт. Работает по принципу selenium-server, т.е. может запускаться на нескольких машинах одновременно (там можно почитать - структура описана). К сожалению, документации практически нет и не поддерживается разработчиками. Зато бесплатный :smile:
Могу предоставить несколько примеров использования, использовал его для тестирования инсталляторов.
Клиентская часть (т.е. сам фреймоврк) разработан на java, так что проблем никаких не должно быть.
Если понадобится, то обращайтесь - буду рад помочь чем в силах.


Desktop тесты на Selenium? можно обойтись без Test Complete? Кто сталкивался, расскажите про свой опыт!
(Vasiliy Rakshin) #13

Коллеги, а возможно как-нить Jemmy или Fest отделить от тестируемого приложения? т.е. утилиту для локаторов отдельно запустить и подсовывать JNLP файл для запуска? У нас Java Web Start приложение.