В 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, чтобы подтвердить его работу и дать совет?
Пожалуйста помоги!