本文和大家重点讨论一下Flex自动化功能测试工具QTP的用法,在FlexBuilder3中带有为QTP自动化测试而提供的插件,运行FlexBuilder安装目录下的\Installers\QTP_Plugin_Installer.exe进行安装。
Flex自动化功能测试工具QTP
在QTP中测试Flex需要安装FlexforQTP的插件。
在FlexBuilder3中带有为QTP自动化测试而提供的插件,运行FlexBuilder安装目录下的\Installers\QTP_Plugin_Installer.exe进行安装。安装完成后启动QTP,在Add-insManager窗口中出现Flex3.0.0的插件加载项:
为了让QTP可以识别Flex对象,还需要对被测试的Flex程序进行编译设置,打开FlexBuilder,右键选择Project->Properties->FlexCompiler,修改属性“Additionalcompilerarguments”,在该属性中添加:
- -localeen_US-include-libraries"C:\ProgramFiles\Adobe\FlexBuilder3\sdks\
- 3.2.0\frameworks\libs\automation.swc""C:\ProgramFiles\Adobe\
- FlexBuilder3\sdks\3.2.0\frameworks\libs\automation_agent.swc"
- "C:\ProgramFiles\Adobe\FlexBuilder3\sdks\3.2.0\frameworks\libs\qtp.swc""C:\ProgramFiles\Adobe
- \FlexBuilder3\sdks\3.2.0\frameworks\libs\automation_dmv.swc"
这样编译后的Flex程序就可以被QTP所识别了:
并且可以进行Flex程序脚本的录制:
录制的脚本如下所示:
- Window("MicrosoftInternetExplorer").FlexApplication("PhotoAlbum")
- .FlexLinkBar("_PhotoAlbum_LinkBar1").Change"ShoppingCart"
- Window("MicrosoftInternetExplorer").FlexApplication("PhotoAlbum")
- .FlexLinkBar("_PhotoAlbum_LinkBar1").Change"PhotoCatalog"
- Window("MicrosoftInternetExplorer").FlexApplication("PhotoAlbum")
- .FlexBox("PhotoCatalog").FlexList("slideList").FlexBox("assets/thumbs/alcatraz.jpg")
- .FlexImage("assets/thumbs/alcatraz.jpg").Click
结论
总体而言,对Flex应用程序进行测试之前,都需要对编译环境进行必要的设置,TestComplete由于采用MSAA接口,需要设置的内容相对少一些。
与其它工具不同,QTP没有“原生”支持Flex,而是“假手于人”,需要借助Flex Builder专门为QTP提供的插件来实现对Flex测试的支持。虽然QTP没有直接支持Flex,但是通过初步的使用和比较,发现Adobe为其量身订做的Flex插件在识别对象的能力上比采用MSAA接口的TestComplete要略胜一筹。
【编辑推荐】
- 使用FlexSDK4时三大注意事项
- FlexBuilder4十大新特性闪亮登场
- 技术分享 如何在Flex中使用嵌入字体
- Flex自动化功能测试工具SilkTest用法指导
- 技术分享 在Flex中嵌入Flex字体的步骤