51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2432|回复: 8
打印 上一主题 下一主题

[原创] 最新Qtp识别flex4方法研究

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-10 14:58:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最新Qtp识别flex4方法研究
作者:吴如伟   MSN: yiranwrw@hotmail.com

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


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长的时间,我认为flex4flex3应该基本上一样,但是结果却很失望。没办法还得到官网,找了n长时间,终于找到了以下的flex4qtp插件,兴奋呀。

6.       这次adobe公司提供了两个插件,:运行Install_QTP_Plugin.bat文件(插件提供两个:airflex)。插件见附件flex4,大家可以进行下载。针对两个不同的插件,我们新建2个不同的工程进行分别的讲述:flexair。(qtp插件安装后如下图:)



Flex项目编译:

7.       必须用Flex Builder 4 编译Flex项目, 而不能仅仅用Flex 4 SDK编译,因为Flex Builder中带了一些的特殊的包

1.       打开FB,,新建一个flex项目,项目名:flex,切忌此时要选择应用程序类型为:web



2.       在项目名flex右键选择你的Project -> Properties -> Flex 编译器

3.       修改属性“附加的编译器自变量”,在该属性中添加如下代码:

-include-libraries "D:\Program Files\Adobe\Flash Builder Beta\sdks\4.0.0\frameworks\libs\automation\automation.swc" "D:\Program Files\Adobe\Flash Builder Beta\sdks\4.0.0\frameworks\libs\automation\automation_agent.swc" "D:\Program Files\Adobe\Flash Builder Beta\sdks\4.0.0\frameworks\libs\automation\qtp.swc" "D:\Program Files\Adobe\Flash Builder Beta\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文件

5.       同样,在该文件夹下,点击右键编辑runtimeloading.mxml文件,将其中的内容拷贝下来,粘贴到你的flex项目的project.mxml中(也就是我们新建的项目flex.mxml)。这是和flex3最大的差别,如下图所示:


6.       此时我们添加一个按钮test,编译该工程,如下图所示。

7.       运行编译你的代码,这个时候qtp即可识别你的操作。我们可以很清楚的看见qtp对象识别的结果,如下图:


哈哈,这个时候我们的辛苦终于ok了。Flex3flex4最大的差别就是需要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即可识别。



关于flex3的方法比较充实,以下是方法,供大家查看。

Flex3的对象识别方法: 

1. Flex Builder 3. 到这个地方 https://www.adobe.com/cfusion/td …… us&product=flex (需要注册)下载 Adobe Flex Builder 3 Professional 或者Flex Builder 3 Professional Eclipse Plug-in (如果本机已有eclipse)。其中Flex Builder 3中已经包含QTPplugin

2. IE 6 或以上(目前只支持IE

3. Flash Player ActiveX 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_dirFlex 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

<FONT size=3><SPAN lang=EN-US><P class=Mso
附件:
flex3.rar
[时间:2009-9-10 15:14 - 下载次数:0]
flex4.rar
[时间:2009-9-10 15:15 - 下载次数:0]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-9-10 15:37:26 | 只看该作者
这么快就搞定了。真的很牛哦,
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-9-10 15:40:23 | 只看该作者
::yiwusuoyou::: 正好上来坐下沙发。这个对于公司内部的项目来说,有很大的用处,毕竟项目能自己编译。相对不能自己不能编译的,还是个无奈的问题(开心农场)。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-9-10 15:44:28 | 只看该作者
不错,支持下!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-9-10 19:49:31 | 只看该作者
不错
把附件收藏了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-4-16 13:27:33 | 只看该作者

flex_builder_dir\Installers\QTP_Plugin_Installer.exe

為何從你這裡下下來的flex4解壓後無flex_builder_dir\Installers\QTP_Plugin_Installer.exe文件?我很需要這個控件安裝到qtp,望空間主人回復,如果你是一個熱心的人,請加我QQ:185228934望提供一個正解的falsh插件給我,在此先謝過。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-4-16 14:41:37 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-5-21 19:26:59 | 只看该作者
第五步的图看不清楚
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-5-26 12:18:23 | 只看该作者
謝謝TIB,我已經安裝好了FLASH4的插件,打開QTP10.0後有上面講的安裝flex4第六點後面的圖片,但是現在又遇到一個問題是,我來錄製一個網站時無法識別網站上的FLASH對象,請問是何原因,是否安裝了FLEX4插件還需要做其它什么動作?不過目前可以用low level recording錄製,但是還是無法解決根本問題,望回復。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-8 11:47 , Processed in 0.072194 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表