51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5388|回复: 23
打印 上一主题 下一主题

[原创] 怎样让QTP9.5识别Flex3.0插件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-10-29 10:33:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近正在研究用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 编辑 ]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-10-29 10:56:26 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-10-29 14:22:35 | 只看该作者
好像必须在Flex Builder 中修改属性“Additional compiler arguments”
正在尝试中...
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-10-29 18:08:00 | 只看该作者
QTP 10.0 好像不兼容 FLEX add-in 插件

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

大家试试qtp 9.5或9.2版本吧
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-11-3 20:17:36 | 只看该作者
希望能有用QTP测试Flex控件的xdjm一起讨论一下
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-11-4 10:09:07 | 只看该作者
继续讨论...
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-11-6 10:12:33 | 只看该作者
恩 已经可以让qtp识别flex插件了

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

可是新的问题又出现了

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

使用道具 举报

该用户从未签到

8#
发表于 2009-11-6 11:44:45 | 只看该作者
能否发下报错的截图或信息
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-11-6 14:55:01 | 只看该作者
弱弱问下,打开Flex Builder,右键选择Project ,这个project是在哪啊
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2009-11-6 17:36:05 | 只看该作者
先点击你的Project
然后再菜单栏里Project就激活了
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-11-6 17:44:50 | 只看该作者
呃,是这样的,我想对一个网页游戏进行录制回放,我是要把这个网站变成Flex Builder里的Project吗?要怎么把他变成Project呢,现在我点了Project菜单后,里面的Properties是灰的
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-11-6 17:49:40 | 只看该作者
谢谢啦 这是报错文件的截图

帮我看看吧

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

还有一个问题就是

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

像FlexComboBox, FlexDateGrid

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

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

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

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



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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2009-11-6 17:53:05 | 只看该作者

回复 11# 的帖子

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

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

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

只能想别的办法
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2009-11-6 18:09:19 | 只看该作者
啊,必须要开发人员编译时加入参数才能识别吗?别的有什么办法可以识别呢?Flex原文件是指?不好意思我初学,问题比较多。。。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 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

这种方法我在用,完全可行
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2009-11-6 18:19:17 | 只看该作者
你遇到的这个问题也有可能是你的FLEX3.0的插件安装不正确,你可以卸载多装几次
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2009-11-6 18:20:28 | 只看该作者
说错了,除了添加那几个.SWC文件,还可以用RUNTIMELOADING的方法
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2009-11-6 22:05:54 | 只看该作者
1.首先确定你的网页是不是刷出来了 要不要等待时间 适当的加入wait
2.打开对象库 吧报错的对象属性修改下 尽量简单些 能识别就行
3.可以试试用模拟录制的方法 如果对象不识别

[ 本帖最后由 MR.Sunday 于 2009-11-6 22:08 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2009-11-7 21:39:06 | 只看该作者
太谢谢楼上几位的帮忙啦 我先去试试

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

我没说清楚Flex源文件是指Flex project
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2009-11-10 14:30:14 | 只看该作者

回复 17# 的帖子

我用Runtimeloading 的方法还是不行啊


大家帮帮忙吧
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 14:36 , Processed in 0.098740 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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