你们有人尝试过自动化Starling(http://gamua.com/starling/)吗? 对于普通的AS3应用程序,我使用Genie(http://sourceforge.net/adobe/genie/wiki/Home/),不幸的是,这个解决方案不能用于Starling应用程序。Genie服务器可以连接到应用程序,但无法找到任何元素。 你有其他解决方案吗(不基于图像识别)?
你们有人尝试过自动化Starling(http://gamua.com/starling/)吗? 对于普通的AS3应用程序,我使用Genie(http://sourceforge.net/adobe/genie/wiki/Home/),不幸的是,这个解决方案不能用于Starling应用程序。Genie服务器可以连接到应用程序,但无法找到任何元素。 你有其他解决方案吗(不基于图像识别)?
由于Starling和任何基于Stage3D的框架一样,无法直接捕获用户交互,因此自动化实现当然是困难的。Stage3D不响应用户交互,没有鼠标事件、触摸事件,因此Starling必须根据舞台(全局)上发生的情况来伪造这些事件,结果在Starling应用程序中只有一个对象响应用户交互,即整个屏幕。自动化当然不能使用这种方式。唯一的解决方案是直接将自定义框架(不是基于事件的,因为Starling不是基于事件的)插入到Starling伪造事件分派中,并从那里开始。该自定义框架只能专门为Starling制作,因为Starling中的所有事件都不是基于Flash事件系统的。
关于这个主题,Starling 论坛 最新(三个月内)的讨论如下:
1.
Starling 和 Feathers 都使用 FlexUnit,因此查看我们如何使用它可能是一个不错的开始地方!
https://github.com/Gamua/Starling-Framework/tree/master/tests https://github.com/BowlerHatLLC/feathers/tree/master/test
2.
Adobe 的教程: http://www.adobe.com/devnet/flex/articles/flashbuilder4_tdd.html
3.
请查看我们的新项目BreezeTest(https://github.com/GetBreeze/breeze-test)。它专门用于测试AIR应用程序,支持异步测试,并且非常容易上手。我们使用它通过TravisCI对我们所有的https://www.getbreeze.io库进行自动化测试。