51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2382|回复: 10
打印 上一主题 下一主题

[原创] 求助Flex隐藏的container

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-1-20 13:58:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
请先阅读下面一段话,引致Adobe官方
“HP QuickTest Professional (QTP) 通常能够减少测试脚本中有关嵌套控件的详细信息量。它将从脚本中删除对测试结果或对
控件标识没有影响的容器。此规则适用于专用于布局的容器(例如 HGroup、VGroup、HBox、VBox 和 Canvas 容器),
但当这些专用于布局的容器用在 ViewStack、TabNavigator 或 Accordion 容器中时除外,在这些情况下,这些容器将被添
加到层次结构中,以提供导航。
使用嵌套容器时,需要谨防 ID 冲突。含有多个选项卡的容器(如 Accordion 和 TabNavigator 容器)可能在多个选项卡上
拥有同一标签。这些容器的 ID 派生自选项卡标签,因此,可能会有重叠 ID。”
这样做可能会把刚好能够防止冲突ID冲突的parent container给隐藏掉!!这个时候抓取children中有相同名字id的控件时候就冲突了。这种情况应该怎么办?急求答案。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2011-1-31 13:30:17 | 只看该作者
在SQAForums上得到专家帮忙。解决方案如下:
You have to do it in 3 steps.

Learn the actual object:

1. Learn the Object that's present in the container first.

Learn the Container Object:

2. Select the same object that you have learned previously (i.e the object present in the container) to learn. Now the "Object Selection - Add to Repository" window will display the hierarchy of your objects. Select the Container Object and Click OK.

Change the Object Hierarchy:

3. Right click the first object that you have learned & select cut. Then Select the Container Object, right click and select paste.

Note: You might have to go and set the index value to none.
Here is what i mean. Consider your current hierarchy as below

A->B->D

Now what you want is it to be A->B->C->D where C is the container

So if you can manually add C as a FlexObject in OR and associate some properties to it. Then you can identify the container. After that you can cut and move D under C manually. This way you will create a object hierarchy as required

A->B->C->D

But the success of the same would depend on if you are identifying C correctly or not
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2011-1-27 13:28:13 | 只看该作者
UP
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2011-1-27 13:28:05 | 只看该作者
UP
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2011-1-27 13:27:57 | 只看该作者
UP
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2011-1-27 13:27:50 | 只看该作者
UP
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2011-1-27 13:27:42 | 只看该作者
UP
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2011-1-21 17:11:47 | 只看该作者
这个问题和开发争论了下 本来想要求开发为具有相同id的控件修改下 但是基于复用的原理 这些控件都继承于一个公共类 开发让它们的parent的名字不一样.就好比是不同namespace下的相同姓名class 编译的时候并不冲突!所以理论上开发的code不算是有问题的。而且我的要求也不算合理了。
QTP和Adobe就这样把父类container莫名其妙地无视掉了!搞得我非常头痛。。。。。。。。。。。。。。。后悔当初选QTP来自动化Flex了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2011-1-21 09:58:32 | 只看该作者
汗,没人关注
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-1-20 15:40:15 | 只看该作者
非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-1-20 15:09:42 | 只看该作者
希望得到Flex专家的回复
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-14 07:51 , Processed in 0.078015 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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