本帖最后由 wower1985 于 2013-8-9 10:01 编辑
Flex项目做自动化,最大的难题,工具不好识别控件,网上有少量文章,但都有点不清楚。
正好我们的silkTest 是完全支持Flex的,最近本人实践了下。
目前所有的自动化工具要测试Flex程序,都必须把Flex项目重新编译,编译是为了加入Adobe 提供的自动化包,让测试工具能识别。所以,最重要的重新编译Flex 项目。
1、编译Flex程序,使用Flex Builder ,这个是Flex的集成开发环境,找开发人员要,自己下载也成,FlexBuilder 分为独立版本和 eclipse插件版本的,都是收费的!
我用的是独立版的FlexBuilder 3,最新的4.7
建一个项目,随便拖几个控件上去吧,我们的目的是编译
2、 右键选择 Project -> Properties -> Flex Compiler,修改属性“Additional compiler arguments”,在该属性中添加:-include-libraries "C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\libs\automation.swc" "C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\libs\automation_agent.swc" "C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\libs\qtp.swc" "C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\libs\automation_dmv.swc" "C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\libs\FlexTechDomain.swc" 说明:这些文件是Adobe 提供的自动化包,不用瞎找,他们都在你的Flex SDK里面,目录如下图,这是我安装的目录,你自己机器上的目录别搞错了,并且输入的时候各个目录必须用空格隔开,别以为是用引号隔开的,没隔开还没编译就提示错误了! 要说的是这是Flex3 的SDK里面的,现在最高版本4.6我也看了,也是有的就是目录不一样,暂时没有尝试编译4.6开发的项目,成不成功不知道。
3、启动程序,开启我们的Silktest4J吧,开始录制看看 ,`(*∩_∩*)′O(∩_∩)O。。。。。
附录:找的点资料, automation.swc
automation_agent.swc FlexTechDomain.swc
automation_charts.swc (如果Flex程序使用Flex 2.0 SDK,使用了charts组件 ) automation_dmv.swc (如果Flex程序使用Flex 3.0 SDK,使用了charts组件 ) automation_flasflexkit.swc(如果Flex程序中使用了嵌入的Flash内容 ) Adobe Flex 自动化包是由Adobe提供的自动化API,可以为开发者提供创建Flex程序的自动化测试接口。在Adobe Flex 自动化包中,automation.swc 和automation_agent.swc 是对Flex框架组件的委托实现。而SilkTest自动化包提供了SilkTest特定的一些实现。
重要部分:我们刚才在SDK里面看到了qtp.swc ,QTP的,你想用QTP也是可以的!!!!!!!!!Adobe都是有提供的,另外QTP的插件Adobe也提供了安装包,就在SDK里面,在目录C:\Program Files\Adobe\Flex Builder 3\Installers 真相
补充一下,那天有个细节忘了,FlexTechDomain.swc,这个包是Silktest提供的,在silktest 目录下面的Flex SDK里面,Adobe 自动化包里面是没有的,截图是我拷贝过去的,反复实验,编译时一定要加入这个包!!另外Flex 4.6版本也silktest 也能识别到。
|