51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2209|回复: 11
打印 上一主题 下一主题

[原创] 请教大家如何click这个image

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-23 18:18:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我测试的项目有个三层结构的树。请问如何点击打开第二层亚?请参考附件

所有的图像的名字都叫Expand

第一层,QTP的脚本是
Browser("Enterprise Knowledge Platform").Page("Enterprise Knowledge Platform").Image("Expand").Click

第二层,所有的IMAGE都在一个WebTable ("Description") 中,唯一不同的是每个图像的href,
请问我怎么可以点吉打开第二层的比如"My Company Four"呢?就让它像"My Company Three" 那样的展开?

QTP 的脚本是
Browser("Enterprise Knowledge Platform").Page("Enterprise Knowledge Platform_2").Image("Expand_2").Click

本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-8-23 18:33:20 | 只看该作者
没有知道么?高手们请帮忙亚!sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-8-23 19:58:21 | 只看该作者
sdlkfj9 sdlkfj9 sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-8-23 22:36:03 | 只看该作者
这种情况适合使用描述编程,要在描述对象之前把那个href字符串创建出来。可能要寻求一下开发人员的帮助,确定这个字符串如何构成。

从个人经验看,这个字符串应该与该层数据的ID相关,比如My Company Three对应的ID。代码类似如下:

Dim strHref
Dim strCompanyID

'查出某个数据的ID值
strCompanyID = GetCompanyID("My Company Three")
'根据ID值按照开发的设计规则创建Href字符串
strHref = CreateHref(strCompanyID)

'可以用这个字符串来描述并操作Image对象了
Browser(***).Page(***).Image("href:=" & strHref).Click
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-8-23 23:17:37 | 只看该作者
谢谢回答。我现在不再公司,不能试验。
但是这个image是在webtable里面的,也可以直接Browser(***).Page(***).Image("href:=" & strHref).Click
么?不用加上webtable么? 谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-8-24 02:13:29 | 只看该作者
原帖由 vaguely 于 2007-8-23 23:17 发表
谢谢回答。我现在不再公司,不能试验。
但是这个image是在webtable里面的,也可以直接Browser(***).Page(***).Image("href:=" & strHref).Click
么?不用加上webtable么? 谢谢


嘿嘿,其实告诉你一个秘密,QTP并不限制一定要按完整路径来描述对象,可以跳过中间层的对象,直接访问底层对象!

比如如下脚本:
爷爷(“名字=小狗子他爷爷”).爹(“名字=小狗子他爹").小屁孩("名字=小狗子").被打屁股

可以简写为:
爷爷(“名字=小狗子他爷爷”).小屁孩("名字=小狗子").被打屁股
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-8-24 11:36:21 | 只看该作者
谢谢yabest! 多谢你分享这个秘密给我!sdlkfj6

还有能回答我另外一个问题么?

爷爷(“名字=小狗子他爷爷”).小屁孩("名字=小狗子").被打屁股


("名字=小狗子")可以换成别的属性么?

比如href=***?
      InnerHtml=***?
      InnerText=****?


是不是只要它们是唯一可以被识别的就可以? 谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-8-24 11:44:34 | 只看该作者

回复 #7 vaguely 的帖子

这种表示方法就是描述编程的一种,yabest的例子漏了个冒号。sdlkfj5
格式为:属性名称:=属性值

这些属性唯一识别对象就可以了。查一下QTP帮助里面有详细解释
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-8-24 12:00:07 | 只看该作者
谢谢大家的热心帮助sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-8-24 18:10:00 | 只看该作者
原帖由 vaguely 于 2007-8-24 11:36 发表
谢谢yabest! 多谢你分享这个秘密给我!sdlkfj6

还有能回答我另外一个问题么?

爷爷(“名字=小狗子他爷爷”).小屁孩("名字=小狗子").被打屁股


("名字=小狗子")可以换成别的属性么?

比如href ...


当然可以了,还可以带多个属性条件,只要最后有唯一一个对象满足条件,就可以对其进行正常操作。

这个你去看“描述性编程”的内容吧,有很多详细资料的。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-8-24 18:13:01 | 只看该作者
原帖由 winfood 于 2007-8-24 11:44 发表
这种表示方法就是描述编程的一种,yabest的例子漏了个冒号。sdlkfj5
格式为:属性名称:=属性值

这些属性唯一识别对象就可以了。查一下QTP帮助里面有详细解释


呵呵,我这叫“意似"(也可能已经到了”神似“水平了),已经不拘泥于”形似“了。sdlkfj6
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-8-24 18:46:48 | 只看该作者
Thanks a lot!!!sdlkfj6
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 21:43 , Processed in 0.074958 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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