luna121 发表于 2009-10-29 10:33:14

怎样让QTP9.5识别Flex3.0插件

最近正在研究用QTP测试Flex
装上Flex插件以后发现QTP9.5的Object Identification里面已经显示了Flex3.0的类,但是还是不能识别网页上Flex编的控件



我QTP9.5安装好了 并装上了Flex3.0的插件。并且在用Flex3.0编译的时候加上了如下:

打开Flex Builder,右键选择Project -> Properties -> Flex Compiler,修改属性“Additional compiler arguments”,在该属性中添加:

  -locale en_US -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"

结果发现QTP只能识别非常有限的控件和操作如
FlexFrame, FlexButton, FlexConvas

但不能识别常用的控件如:FlexComboBox, FlexDateGrid

请问这种情况该怎么处理呢

是手工插入语句来识别控件

还是有更好方法呢?

最好能界面可以识别的办法,因为我正在熟悉VB Script中

谢谢啦~

[ 本帖最后由 luna121 于 2009-11-3 20:16 编辑 ]

zero0223 发表于 2009-10-29 10:56:26

参考下这个
http://www.51testing.com/?uid-222680-action-viewspace-itemid-95933

luna121 发表于 2009-10-29 14:22:35

好像必须在Flex Builder 中修改属性“Additional compiler arguments”
正在尝试中...

luna121 发表于 2009-10-29 18:08:00

QTP 10.0 好像不兼容 FLEX add-in 插件

至少Adobe公司自己的debug论坛上类似Flex插件不能识别的问题还没有得到解决

大家试试qtp 9.5或9.2版本吧

luna121 发表于 2009-11-3 20:17:36

希望能有用QTP测试Flex控件的xdjm一起讨论一下

luna121 发表于 2009-11-4 10:09:07

继续讨论...

luna121 发表于 2009-11-6 10:12:33

恩 已经可以让qtp识别flex插件了

就是需要在flex编译的时候,加入automation等库函数 如一楼所述

可是新的问题又出现了

QTP9.5和IE7.0是不是不兼容阿,录制的时候没问题,可是一到回放就报错 不能识别flexobject云云:(

MR.Sunday 发表于 2009-11-6 11:44:45

能否发下报错的截图或信息

apprentice 发表于 2009-11-6 14:55:01

弱弱问下,打开Flex Builder,右键选择Project ,这个project是在哪啊

luna121 发表于 2009-11-6 17:36:05

先点击你的Project
然后再菜单栏里Project就激活了

apprentice 发表于 2009-11-6 17:44:50

呃,是这样的,我想对一个网页游戏进行录制回放,我是要把这个网站变成Flex Builder里的Project吗?要怎么把他变成Project呢,现在我点了Project菜单后,里面的Properties是灰的

luna121 发表于 2009-11-6 17:49:40

谢谢啦 这是报错文件的截图

帮我看看吧

按说能正常录制就应该能回放的

还有一个问题就是

我发现在录制的过程中还是有些Flex控件不能被录下来

像FlexComboBox, FlexDateGrid

请问这种情况下该怎么办呢

PS:我已经试过加Virtual Object,可是里面的控件选项少得可怜

用Object Repository里的 Add Object或Object Spy都查不到这些Flex控件

可是我看到Object Identification里面实际上有这些Flex控件的



请大家帮帮忙吧\(^o^)/~

luna121 发表于 2009-11-6 17:53:05

回复 11# 的帖子

那是因为你还没有把Flex原文件导入

你应该像开发的人员询问,让他们在编译的时候加入参数

如果你没办法在编译的时候加入参数 QTP是无法识别的

只能想别的办法

apprentice 发表于 2009-11-6 18:09:19

啊,必须要开发人员编译时加入参数才能识别吗?别的有什么办法可以识别呢?Flex原文件是指?不好意思我初学,问题比较多。。。

libo3229788 发表于 2009-11-6 18:10:58

除了添加.SWF文件,还可以使用RUNTIMELOADING来标识FLEX界面上的控件
Navigate to the flex_builder_root/sdks/3.0.0/templates/automation-runtimeloading-files directory.
Execute the build.bat file. This compiles the runtimeloading.mxml file into a SWF file.
Copy the runtimeloading. swf and RunTimeLoading.html file to your web server. Copy the Flex application that you want to test to this server as well (the application need not be compiled with automation libraries).
Request the RunTimeLoading.html file and pass your Flex application as the automationswfurl query string parameter; for example:
http://localhost/RunTimeLoading.html?automationswfurl=MyApp.swf

这种方法我在用,完全可行

libo3229788 发表于 2009-11-6 18:19:17

你遇到的这个问题也有可能是你的FLEX3.0的插件安装不正确,你可以卸载多装几次

libo3229788 发表于 2009-11-6 18:20:28

说错了,除了添加那几个.SWC文件,还可以用RUNTIMELOADING的方法

MR.Sunday 发表于 2009-11-6 22:05:54

1.首先确定你的网页是不是刷出来了 要不要等待时间 适当的加入wait
2.打开对象库 吧报错的对象属性修改下 尽量简单些 能识别就行
3.可以试试用模拟录制的方法 如果对象不识别

[ 本帖最后由 MR.Sunday 于 2009-11-6 22:08 编辑 ]

luna121 发表于 2009-11-7 21:39:06

太谢谢楼上几位的帮忙啦 我先去试试:loveliness:

To: 14楼 如果不在编译的时候加上那些参数,你可能要自己添加virtual object 一个一个去表明

我没说清楚Flex源文件是指Flex project

luna121 发表于 2009-11-10 14:30:14

回复 17# 的帖子

我用Runtimeloading 的方法还是不行啊
:(

大家帮帮忙吧
页: [1] 2
查看完整版本: 怎样让QTP9.5识别Flex3.0插件