t.me/atinfo_chat Telegram группа по автоматизации тестирования

Подскажите инструмент для автоматизации десктопных приложений на 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.

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

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