如何从Flash中提取测试结果?

时间:2011-04-05 02:50:01

标签: flex actionscript-3 unit-testing continuous-integration

我为我的项目(纯AS3)提供了一套单元测试,并且它们都能很好地将标准JUnit XML输出到跟踪输出窗口。但是,当我试图让我的测试套件在我们的持续集成服务器上运行时,我碰壁了。

Flash是一个与文件系统隔离的沙盒野兽。我无法通过直观的方式将生成的JUnit XML导入到我们的CI软件中,因此可以将其验证为通过。

我已经开始实施Continuous Integration with Flex中显示的方法,  但它依赖于读取记录到flashlog.txt的跟踪输出,这些输出在许多方面容易出现故障(必须安装调试播放器,必须创建flashlog.txt,必须正确配置mm.cfg文件)。此外,我发现有些时候它无法在flashlog中找到结果,并且尽管所有测试都通过了,但构建仍然失败。这可能是因为我有太多测试,有些被推出日志文件。

当然,有一种更简单的方式,我只是没有看到。有没有人在AS3中实现了与自动化测试的可靠持续集成?

干杯,

3 个答案:

答案 0 :(得分:1)

安装xampp,让flash测试套件从xampp将数据发送到localhost服务器,然后让xampp将其写入文件。
假设您的应用程序可以访问本地文件系统

答案 1 :(得分:0)

Flash沙盒确实可能是对接中的主要痛苦。您是否考虑过将您的测试作为AIR应用程序运行?这消除了所有沙盒问题,并提供了大量的API用于访问本地文件系统而无需用户交互。集成到CI系统应该要容易得多。

答案 2 :(得分:0)

即使您以前从未使用过php,但是编写一个接收数据并将其转储到文件的小脚本会非常简单。然后在Flash中,您可以向该脚本发送XML数据。也就是说,使用XML标记作为URLVariable对该脚本进行POST。