Любой автоматизированный способ модульного тестирования функциональности буфера обмена Flash из браузера в Flash Player 10+

В Flash Player 10+ SWF-файл на основе браузера может внедряться в буфер обмена пользователя тогда и только тогда, когда запускается при взаимодействии пользователя с объектом Flash, например пользователь нажимает кнопку Flash. Это делается с помощью методов flash.desktop.Clipboard.generalClipboard объекта clear и setData.

Я использовал этот прием для многих веб-приложений (например, через ZeroClipboard и аналогичные предыдущие собственные реализации), но Теперь я хотел бы провести автоматическое тестирование, если это вообще возможно. Есть какой-либо способ сделать это?

Я просмотрел несколько, но не нашел ни одного, подтвержденного для этой конкретной цели (из любой связанной документации, блогов и т. Д., Которые я могу найти):

  • FlashSelenium просто полагается на ExternalInterface обратные вызовы, которые не считаются действиями пользователя.
  • FlexUnit, похоже, не основан на браузере.
  • Adobe Genie может работать, а может и не работать, я, честно говоря, не смог найти достаточно полезной документации, чтобы сказать.
  • PhantomJS 1.4.x (и более ранние версии) поддерживал Flash и может отправлять «аутентичные» пользовательские события, так что это казалось лучшим вариантом. Однако мне не нравится использовать версию PhantomJS, отставшую на 5 минорных версий (старше 1 года). Кто-нибудь использовал PhantomJS для автоматизации взаимодействия с Flash, чтобы подтвердить его работу и дать совет?

Пожалуйста помоги!


person James M. Greene    schedule 15.12.2012    source источник


Ответы (1)


Вы смотрели что-то вроде FlexMonkey от GorillaLogic? Он позволяет выполнять автоматическое функциональное тестирование, записывая ваше взаимодействие с приложением. Он больше не выпускается, но у них все еще есть ссылка для скачивания на их сайте.

У них есть новый продукт, MonkeyTalk, но на данный момент он поддерживает только мобильные проекты (хотя в некоторых документах говорится, что он поддерживает веб-проекты и настольные проекты, в настоящее время это не так).

person jln646v    schedule 15.05.2013
comment
Я взглянул на него кратко. Казалось, что это может быть жизнеспособным вариантом, но API буфера обмена, в частности, требует повышенных разрешений, которые могут быть получены только при законном взаимодействии с пользователем в браузере, то есть при щелчке или событии клавиатуры. Я не верю, что FlexMonkey может воспроизвести эти события как подлинные пользовательские события в браузере, но я могу ошибаться. - person James M. Greene; 17.05.2013
comment
Есть ли у вас опыт работы с FlexMonkey, свидетельствующий об обратном? - person James M. Greene; 17.05.2013
comment
На самом деле я никогда не заставлял FlexMonkey нормально работать в моем проекте. Я получаю ошибки компиляции, когда включаю библиотеку (классы API Adobe Automation не найдены), но я подумал, что вам может повезти больше, чем мне. Есть и другие продукты, которые делают то же самое, но я подозреваю, что у вас все еще будет проблема с разрешениями буфера обмена. - person jln646v; 17.05.2013
comment
Облом. В любом случае спасибо за предложение. :) - person James M. Greene; 17.05.2013