Подскажите пожалуйста хорошие инструменты автоматизированного тестирования приложений Windows на уровне GUI.
Что-нибудь в стиле test complete или ranorax.
Конкретно речь идёт о тестировании CAD-приложения на базе AutoCAD'а.
И многое другое. Например, Sikuli Script. Не забываем про возможность управлять прилодением через бэкенд (который даже можно попросить специально для этого сделать) с помощью скриптов на удобном для вас языке со снятием скриншотов и их последующим анализом, например, с помощью чего-то подобного ImageMagic
Когда-то я выбирал для Qt тулу, выбрали Froglogic Squish. Последнее время слышал много нареканий на нее. В инете есть маленькая преза о том как я выбирал и почему выбрали именно тот тул. Тестировали 3D просмотрщик для ортодонтов.
Здравствуйте, Evgeny, Вы писали:
E>Добрый день!
E>Подскажите пожалуйста хорошие инструменты автоматизированного тестирования приложений Windows на уровне GUI. E>Что-нибудь в стиле test complete или ranorax.
E>Конкретно речь идёт о тестировании CAD-приложения на базе AutoCAD'а.
E>Большое спасибо!
А чем озвученные не подходят? Они вроде лидеры рынка. Лучше вряд ли что найдётся, IMHO.
Здравствуйте, zubactik, Вы писали:
Z>Какие критерии к инструменту? Какая технология используется при создании приложения?
Z>Написанные кандидаты вполне ничего для многих задач.
Z>Возможно, будет полезно это List of GUI testing tools
Z>Ну а так я еще работал с Froglogic Squish, AutoIt (но он слишком простой), UFT, RFT. Еще есть от микрософта что-то.
Z>И многое другое. Например, Sikuli Script. Не забываем про возможность управлять прилодением через бэкенд (который даже можно попросить специально для этого сделать) с помощью скриптов на удобном для вас языке со снятием скриншотов и их последующим анализом, например, с помощью чего-то подобного ImageMagic
Z>Когда-то я выбирал для Qt тулу, выбрали Froglogic Squish. Последнее время слышал много нареканий на нее. В инете есть маленькая преза о том как я выбирал и почему выбрали именно тот тул. Тестировали 3D просмотрщик для ортодонтов.
Z>В общем постите требования — будем думать.
Спасибо за ответ!
Из основный требований в принципе общие: Надёжность (возможность выполнять серию тестов автоматически в течение ночи), и простота в использовании.
Из специальных требований можно назвать "точность кликов", если можно так выразиться. Речь идёт о 3D-моделлировании (тестируемое приложение базируется на AutoCAD'е). Принципиальное отличие от обычных приложений — большое количество операций в одном графическом окне. При этом важна воспроизводимость операций в 3D-сцене — один неправильный клик может испортить весь тест. Внутри 3D-сцены нет элементов, которые можно было бы идентифицировать по classname, text итд. Большая часть операций — простые (x,y)-клики и движения мышью.
В остальном всё также как и в других приложениях — кнопки, поля редактирования и прочее.
Здравствуйте, zubactik, Вы писали:
Z>Какая технология используется при создании приложения?
Забыл упомянуть используемые технологии.
Это большой микс из AutoLisp, C++ и C# (приложение разрабатывается уже почти 25 лет)
Здравствуйте, bnk, Вы писали:
bnk>А чем озвученные не подходят? Они вроде лидеры рынка. Лучше вряд ли что найдётся, IMHO.
В принципе они подходят, но с рынком я до сих пор не был знаком.
В результате поисков вышел на эти два инструмента.
Просто не было чувства, что я не упустил ничего важного.
Спасибо за помощь!
В таком случае могу пожелать только удачи. Автоматизировать такое — странное желание и, вполне возможно, неблагодарное занятие.
У нас был активный девелопмент когда я такое автоматизировал, но мне повезло. Во первых у меня были кнопки управления, и жал я на них. Сцена менялась, я делал скриншот, потом скриншоты сравнивал. Так как шла именно активная разработка и положение камеры в сцене менялось, то особо стабильным это не было по естественным причинам. Но как-то работало, и вроде даже приносило пользу.
Если нужно именно двигать, то я бы все-таки пошел по пути добавления бэкдура в приложение — либо вынос каких-то объектов из сцены (что наши разработчики тоже делали, но уже не помню чем закончилась попытка работы с этим), чтобы тул мог их цеплять, либо управление сценой через какой-нибудь вспомогательный отладочный интерфейс. Геморроя вполне может оказаться меньше. Также вполне возможно перестраивание сценариев тестирования так чтобы избежать необходимости таскать что-то на сцене.
В любом случае успехов! Вам понадобится проверить несколько тулов, скорее всего. Будьте к этому готовы. Ну и упомянутый Сикули как раз вроде специализировался раньше на кликах путем сравнения картинок.
Но, повторюсь, сначала стоит подумать как не делать таких тестов. Хотя за 4 года что-то могло поменяться и уже с определением объектов на сцене научились мастера работать. Будет желание — пинганите. Месяца через 3 могу тряхнуть стариной и попробовать заняться.
Здравствуйте, zubactik, Вы писали:
Z>В таком случае могу пожелать только удачи. Автоматизировать такое — странное желание и, вполне возможно, неблагодарное занятие.
Z>У нас был активный девелопмент когда я такое автоматизировал, но мне повезло. Во первых у меня были кнопки управления, и жал я на них. Сцена менялась, я делал скриншот, потом скриншоты сравнивал. Так как шла именно активная разработка и положение камеры в сцене менялось, то особо стабильным это не было по естественным причинам. Но как-то работало, и вроде даже приносило пользу.
Z>Если нужно именно двигать, то я бы все-таки пошел по пути добавления бэкдура в приложение — либо вынос каких-то объектов из сцены (что наши разработчики тоже делали, но уже не помню чем закончилась попытка работы с этим), чтобы тул мог их цеплять, либо управление сценой через какой-нибудь вспомогательный отладочный интерфейс. Геморроя вполне может оказаться меньше. Также вполне возможно перестраивание сценариев тестирования так чтобы избежать необходимости таскать что-то на сцене.
Z>В любом случае успехов! Вам понадобится проверить несколько тулов, скорее всего. Будьте к этому готовы. Ну и упомянутый Сикули как раз вроде специализировался раньше на кликах путем сравнения картинок.
Z>Но, повторюсь, сначала стоит подумать как не делать таких тестов. Хотя за 4 года что-то могло поменяться и уже с определением объектов на сцене научились мастера работать. Будет желание — пинганите. Месяца через 3 могу тряхнуть стариной и попробовать заняться.
Большое спасибо за столь развёрнутый ответ.
Я согласен — автоматическое тестирование 3D-сцены напрямую — почти как "путь камикадзе".
За что "зацепиться" у AutoCAD'a есть — все команды можно ввести через командную строку.
Но тесты только через командную строку были бы неполноценными. Поэтому проверяю дополнительные возможности.