Добрый день!
Существует флешовый текстовый редактор. Необходимо кликнуть в его определенную точку с помощью selenium webdriver. Пытаюсь это осуществить с помощью имитации мышки
new Actions(driver).moveByOffset(691, 654).click().perform();
Судя по тому, что курсор в момент клика меняется со стрелочки на руку, то можно предположить, что клик все же происходит, но ожидаемой реакции нет.
Использую selenium-server-standalone-2.42.2 + Java
За советы буду примного благодарен.
К сожелению у Вас не выйдет просто так кликнуть в флеш объект, так как он полностью закрыт для внешнего воздействия сторонних инструментов.
Но у меня возникает вопрос:
Если этот элемент делали ваши разработчики, то можно к нему обращаться вызовами через JavaScript, используя в самом флеш элементе механизм ExternalInterface функций.
Попробовать конечно можно. И я думаю нужно, вдруг что то в Selenium новое придумали. Но из богатого опыта тестирования flash приложений, скажу одно, вернее повторюсь. Flash полностью закрыто от внешнего воздействия! Это факт. Стучаться в flash наитивными методами браузера, это сродни постучаться в бункер костяшками пальцев.
Так что пробуйте.
И просьба. Отпишитесь о результатах.
Это я vpavlov1000.
ну я бы не сказал, что селениум не применим в принципе. Я как-то помню делал тесты на страничку, где был флеш плеер. И взаимодействовал с ним. Насколько я помню(а было это года 2-3 назад), там были следующие возможности:
1)действительно click через actions (как писал @anym0us). Только сдвиги по пикселям не есть хорошо.
2)помнится можно было взаимодействовать с объектом flash через javascript и дергать его торчащие наружу методы(я так кстати делал)
3)совсем в тупую - если флэш объект простой и надо лишь что то на нем нажать - можно посылать ему через sendKeys клавишные (Tab, enter и тд) значения и навигировать внутри него через них.
Вы ещё раз подтвердили, что методами Selenium мы не можем полностью контролировать flash элемент.
Исходя из темы, например, мы не сможем ввести что - нибуть в редактор. А тем более проверить правильность ввода. Если конечно программисты, разрабатывающие компонент, не предусмотрели каких-нибудь методов для общения ч/з JavaScript.
Да, полностью контролировать - не получится.
Но если требуется простое взаимодействие с флеш объектом - это возможно.
А если требуется тестирования именно флеш-редактора - то тут надо искать другой способ.