Здравствуйте,
Подскажите пожалуйста, кто знает, что лучше использовать для автоматизации Flash приложения - Ranorex или Sikuli. Цена не имеет значения. В первую очередь интересует скорость распознавания.
В статье по Sikuli (http://groups.csail.mit.edu/uid/projects/sikuli/sikuli-uist2009.pdf) заявлена скорость распознавания 200 msec на нахождение картинки 100х100 на экране 1600х1200 для “3.2 GHz Windows PC”.
На практике у меня распознавание такой картинки в Sikuli занимает значительно больше времени. (В Ranorex пока не пробовал).
Какие еще преимущества есть у платной Ranorex над бесплатной Sikuli (если есть)?
Ranorex лучше только когда процент точности 100. В остальных случаях сильно уступает sikuli. Проведены были тесты на поиск 13 разных картинок (некоторые отсутствовали на экране), cpu-i73770, ram-8Gb , результаты:
Sikuli performance test result (similarity 70% - 29sec);
Ranorex performance test result (similarity 70% - 27min 29sec).
Если не правильно делать локатор в Ranorex, то время может быть очень большим.
Ranorex тестирует практически все: web, flash, app, mobile. Но и требует хорошего понимания xpath и программирования. Если вам нужен одноразовый кликер, то Ranorex не для вас. Ranorex хорош на тяжелых и сложных проектах.
FindSingle( “//a[@id=’_ctl0_btnView’]”);
Так как Ranorex просматривает всю систему, а не как например силениум сраницу, то при таком локаторе мы получим очень большое время поиска(зависит от кол-ва запущенных процессов), а вот силениум отработает быстро.
Вот пример более правильного локатора, хотя полный путь был бы еще лучше
“/dom[@domain=’”+ servername +"’ and @browser=’"+ titleBar + “’]//a[@id=’_ctl0_btnView’]”
Сначала мы попадаем на страницу, а потом ищем элемент
Ranorex не быстрый, но 28 мин говорит о неправильном подходе
Ranorex + мощь C# = все с этим связанное от OOP до “буквально все что вам может прийти в голову”
Любые библиотеки, доступ к ресурсам, объектам и т.п.
Это не просто записать скриптик с шагами - это мощь которая требуется на очень сложных проектах.
Например тестировать C# app с 10 разнообразных контролов(у меня например 5 типов combobox, 4 вида grid, короче большой зоопарк) и отчетов на веб в embedded IE.
Ну если, было бы 2-3 минуты, это я еще как-то понял. Просто как по мне даже неправильный локатор должен отрабатывать значительно быстрее. Я если будет мега сложный проект и там будет тысячи локаторов и вы подключите человека, который чисто по незнанию или по неосторожности внесет какой-то локатор, то что ждать поиска элементов часами?
Ну может быть, я меня знакомый тоже как-то расхваливал этот инструмент, потому что удалось его впарить заказчику и теперь он с ним поработает. Но я все таки остаюсь пр своих убеждениях и пытаюсь использовать open source
пример локатора можно? а то не сильно понятно как применить к поиску изображений, у меня нет дом структуры, экран и поиск на нем элементов, как в этом варианте?
P.S. на некоторых этапах есть дом, и элементы окон, но в основном представте себе видео в которое можно тыкать.
Сами немного удивлены, например если точность 98% ранорекс показал себя за ~4мин 30сек, сикули ~29 сек. Вывод: процент схожести не очень важен для сикули, а для ранорекса критично.