1

在 Flash Player 10+ 中,当且仅当用户与 Flash 对象的交互(例如,用户单击 Flash 按钮)触发基于浏览器的 SWF 时,它才能注入用户的剪贴板。这是使用flash.desktop.Clipboard.generalClipboard对象的clearsetData方法完成的。

我已经在许多网络应用程序中使用了这个技巧(例如,通过ZeroClipboard和我自己以前的类似实现),但现在我想尽可能地围绕它进行一些自动化测试。有没有办法做到这一点?

我浏览了一些,但没有发现任何被证明可以用于这个非常特定目的的东西(来自我能找到的任何相关文档、博客等):

  • FlashSelenium 仅依赖于ExternalInterface回调,这不算作用户交互。
  • FlexUnit 似乎不是基于浏览器的。
  • Adobe Genie 可能有效,也可能无效,老实说,我找不到足够有用的文档来说明。
  • PhantomJS 1.4.x(和更早的版本)支持 Flash 并且可以发送“真实的”用户事件,所以这似乎是最好的选择。但是,我不喜欢使用落后 5 个次要版本(超过 1 年)的 PhantomJS 版本。有没有人使用 PhantomJS 来自动化 Flash 交互,可以确认它有效并提供一些建议?

请帮忙!

4

1 回答 1

0

你看过像 GorillaLogic 的 FlexMonkey 这样的东西吗?它允许您通过记录您与应用程序的交互来进行自动化功能测试。它已停产,但他们的网站上仍有下载链接。

他们有一个新产品 MonkeyTalk,但目前它只支持移动项目(尽管他们的一些文档说它支持 Web 和桌面项目,但目前不支持)

于 2013-05-15T18:47:11.200 回答