houzeal 发表于 2009-9-21 15:40:33

最新QTP识别flex4方法研究

QTP测试flex3和flex2的方法,网上提供了很多的说明和讲解,但是针对最新的flex4,网上基本上时没有相关的资料的。好的东西当然要第一时间使用了,一时兴奋,从adobe官网下载了flashbuilder4_b1_win_060109,这个版本很好,还提供了中文的支持,用起来很是舒服。但是针对QTP如何来测试flex4呢,方法还是一样吗。今天特意抽了一天的时间来试验。新的东西就是有一点不好,资料太少,可参考的东西太少。无奈之下,只好到adobe官网找东西了,终于还是不负有心人。现在我将QTP测试flex4的方法各项给大家。整体来说还是改变了很多东西,adobe公司这次还提供了2个插件:air和flex,大家要好好研究一下了。

houzeal 发表于 2009-9-21 15:41:32

Flex4:  准备:
  1. 下载并安装Flex Builder 4(安装后界面打开如上图)
  2. IE 6 或以上(目前只支持IE)
  3. Flash Player ActiveX control, version 9.0.28.0或以上,最新10.0
  4. QTP 9.5或 QTP 9.2 或QTP10
  安装:
  5.安装QTP的插件,这次adobe公司没有在flashbuilder4_b1_win_060109安装包内提供相应的QTP插件,我也是找了n长的时间,我认为flex4和flex3应该基本上一样,但是结果却很失望。没办法还得到官网,找了n长时间,终于找到了以下的flex4的QTP插件,兴奋呀。
  本文出自yiran3235的51Testing软件测试博客:http://www.51testing.com/?125734
  6.这次adobe公司提供了两个插件,:运行Install_QTP_Plugin.bat文件(插件提供两个:air和flex)。插件见附件flex4,大家可以进行下载。针对两个不同的插件,我们新建2个不同的工程进行分别的讲述:flex和air。(QTP插件安装后如下图:)

houzeal 发表于 2009-9-21 15:42:14

Flex项目编译:  7. 必须用Flex Builder 4 编译Flex项目, 而不能仅仅用Flex 4 SDK编译,因为Flex Builder中带了一些的特殊的包。
  1)打开FB,,新建一个flex项目,项目名:flex,切忌此时要选择应用程序类型为:web

houzeal 发表于 2009-9-21 15:42:50

2)在项目名flex右键选择你的Project -> Properties -> Flex 编译器  3) 修改属性“附加的编译器自变量”,在该属性中添加如下代码:
  -include-libraries "D:\Program Files\Adobe\Flash BuilderBeta\sdks\4.0.0\frameworks\libs\automation\automation.swc" "D:\ProgramFiles\Adobe\Flash BuilderBeta\sdks\4.0.0\frameworks\libs\automation\automation_agent.swc""D:\Program Files\Adobe\Flash BuilderBeta\sdks\4.0.0\frameworks\libs\automation\qtp.swc" "D:\ProgramFiles\Adobe\Flash BuilderBeta\sdks\4.0.0\frameworks\libs\automation\automation_dmv.swc" 其中要注意修改安装目录。
  4)打开D:\Program Files\Adobe\Flash Builder Beta\sdks\4.0.0\templates\automation-runtimeloading-files ,运行build.bat文件
  本文出自yiran3235的51Testing软件测试博客:http://www.51testing.com/?125734
  5)同样,在该文件夹下,点击右键编辑runtimeloading.mxml文件,将其中的内容拷贝下来,粘贴到你的flex项目的project.mxml中(也就是我们新建的项目flex.mxml)。这是和flex3最大的差别,如下图所示:

houzeal 发表于 2009-9-21 15:43:45

6)此时我们添加一个按钮test,编译该工程,如下图所示。 7)运行编译你的代码,这个时候QTP即可识别你的操作。我们可以很清楚的看见QTP对象识别的结果,如下图:

houzeal 发表于 2009-9-21 15:44:42

这个时候我们的辛苦终于ok了。Flex3和flex4最大的差别就是需要runtimeloading.mxml,大家千万注意。

air项目编译(和flex基本上差不多,我只讲诉不同地方):  1)打开FB,新建一个flex项目,项目名:air,切忌此时要选择应用程序类型为:air
  2)修改属性“附加的编译器自变量”,在该属性中添加如下代码:
  -include-libraries"flash_builder_root\sdks\4.0.0\frameworks\libs\automation\automation.swc""flash_builder_root\sdks\4.0.0\frameworks\libs\automation\automation_agent.swc""flash_builder_root\sdks\4.0.0\frameworks\libs\automation\qtp_air.swc""flash_builder_root\sdks\4.0.0\frameworks\libs\automation\automation_dmv.swc""flash_builder_root\sdks\4.0.0\frameworks\libs\automation\automation_air.swc" 其中要注意修改安装目录。
  3)编译你的代码,QTP即可识别。
  http://labs.adobe.com/wiki/index.php/Flash_Builder_4:Release_Notes#Flex_4_Plug-in_for_HP_QuickTest_Professional(官方地址)
  关于flex3的方法比较充实,以下是方法,供大家查看。
  Flex3的对象识别方法:
  1)Flex Builder 3. 到这个地方 https://www.adobe.com/cfusion/td ……us&product=flex (需要注册)下载 Adobe Flex Builder 3 Professional 或者FlexBuilder 3 Professional Eclipse Plug-in (如果本机已有eclipse)。其中Flex Builder3中已经包含QTP的plugin
  2)IE 6 或以上(目前只支持IE)
  3)Flash PlayerActiveX control, version 9.0.28.0或以上,最新9.0.115.0(检查C:\WINDOWS\system32\Macromed\Flash\FlashUtil9e.exe的属性可以查看当前安装flash的版本)
  4)QTP 9.1(不支持Smart Identification)或 QTP 9.2 和 patch 1701
  编译:
  必须用Flex Builder 3 编译Flex项目, 而不能仅仅用Flex 3 SDK编译,因为Flex Builder中带了一些的特殊的包
  1)打开FB,右键选择你的Project -> Properties -> Flex Compiler
  2)修改属性“Additional compiler arguments”,在该属性中添加如下代码:
  -include-libraries"flex_builder_dir\sdks\3.0.0\frameworks\libs\automation.swc""flex_builder_dir\sdks\3.0.0\frameworks\libs\automation_agent.swc""flex_builder_dir\sdks\3.0.0\frameworks\libs\qtp.swc""flex_builder_dir\sdks\3.0.0\frameworks\libs\automation_dmv.swc"
  其中flex_builder_dir由Flex Builder的安装目录代替,windows平台的默认安装目录为 "C:\Program Files\Adobe\Flex Builder 3"
  3)编译项目,然后发布应用到你的web server中
  4)这时就为QA的自动化测试做好了准备
  QTP插件安装:
  1)运行flex_builder_dir\Installers\QTP_Plugin_Installer.exe
  2)验证plugin是否安装好:启动QTP,在Add-ins Manager窗口中出现Flex 3.0.0

mars100200300 发表于 2011-3-24 10:45:49

居然没人顶你?帮你顶。

willturner 发表于 2011-3-24 10:59:21

不错的实验,希望lz继续以造福大众~~

pingguo109 发表于 2011-3-24 15:54:06

我现在就在尝试使用QTP测试Flex4应用程序
我安装的有:
  1. Flex Builder 4
  2. IE 8
  3. Flash Player ActiveX control 10.0
  4. QTP10
成功安装插件,并且在项目编译器中添加自变量
但是在识别的时候还是有很多问题
首先:flex4使用的是<s:Application>,需要改为<mx:Application>,并且只能识别一部分控件
其次也是最重要的,对于容器内的控件(HGroup等)不能识别,但是我们项目的界面基本都是这样的,所有整个界面都识别为一个FlexObject
目前还不知道怎么办好

piaolingxue423 发表于 2011-3-25 13:44:19

我用的XP   QTP 10pojie过的版本   按照你的方法 安装QTP识别Flex 4 的插件    安装完 重启机器打开QTP 启动界面 add-in manager 页面 无所增加的 Flexair 插件   这是什么原因?

pingguo109 发表于 2011-3-25 16:28:41

安装Flash Player ActiveX control和Flex Builder 4了吗?

wyfyan 发表于 2011-6-7 15:34:58

页: [1]
查看完整版本: 最新QTP识别flex4方法研究