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

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

2 лайка

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

Например jemmy

1 лайк

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

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

1 лайк

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

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

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

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

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

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

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

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

1 лайк

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

2 лайка

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

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

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

1 лайк

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

Google Code Archive - Long-term storage for Google Code Project Hosting. линка на офсайт. Работает по принципу selenium-server, т.е. может запускаться на нескольких машинах одновременно (там можно почитать - структура описана). К сожалению, документации практически нет и не поддерживается разработчиками. Зато бесплатный :smile:
Могу предоставить несколько примеров использования, использовал его для тестирования инсталляторов.
Клиентская часть (т.е. сам фреймоврк) разработан на java, так что проблем никаких не должно быть.
Если понадобится, то обращайтесь - буду рад помочь чем в силах.

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