51Testing软件测试论坛

标题: 请教大家如何click这个image [打印本页]

作者: vaguely    时间: 2007-8-23 18:18
标题: 请教大家如何click这个image
我测试的项目有个三层结构的树。请问如何点击打开第二层亚?请参考附件

所有的图像的名字都叫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
作者: vaguely    时间: 2007-8-23 18:33
没有知道么?高手们请帮忙亚!sdlkfj9
作者: vaguely    时间: 2007-8-23 19:58
sdlkfj9 sdlkfj9 sdlkfj9
作者: winfood    时间: 2007-8-23 22:36
这种情况适合使用描述编程,要在描述对象之前把那个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
作者: vaguely    时间: 2007-8-23 23:17
谢谢回答。我现在不再公司,不能试验。
但是这个image是在webtable里面的,也可以直接Browser(***).Page(***).Image("href:=" & strHref).Click
么?不用加上webtable么? 谢谢
作者: yabest    时间: 2007-8-24 02:13
原帖由 vaguely 于 2007-8-23 23:17 发表
谢谢回答。我现在不再公司,不能试验。
但是这个image是在webtable里面的,也可以直接Browser(***).Page(***).Image("href:=" & strHref).Click
么?不用加上webtable么? 谢谢


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

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

可以简写为:
爷爷(“名字=小狗子他爷爷”).小屁孩("名字=小狗子").被打屁股
作者: vaguely    时间: 2007-8-24 11:36
谢谢yabest! 多谢你分享这个秘密给我!sdlkfj6

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

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


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

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


是不是只要它们是唯一可以被识别的就可以? 谢谢!
作者: winfood    时间: 2007-8-24 11:44
标题: 回复 #7 vaguely 的帖子
这种表示方法就是描述编程的一种,yabest的例子漏了个冒号。sdlkfj5
格式为:属性名称:=属性值

这些属性唯一识别对象就可以了。查一下QTP帮助里面有详细解释
作者: vaguely    时间: 2007-8-24 12:00
谢谢大家的热心帮助sdlkfj2
作者: yabest    时间: 2007-8-24 18:10
原帖由 vaguely 于 2007-8-24 11:36 发表
谢谢yabest! 多谢你分享这个秘密给我!sdlkfj6

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

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


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

比如href ...


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

这个你去看“描述性编程”的内容吧,有很多详细资料的。
作者: yabest    时间: 2007-8-24 18:13
原帖由 winfood 于 2007-8-24 11:44 发表
这种表示方法就是描述编程的一种,yabest的例子漏了个冒号。sdlkfj5
格式为:属性名称:=属性值

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


呵呵,我这叫“意似"(也可能已经到了”神似“水平了),已经不拘泥于”形似“了。sdlkfj6
作者: vaguely    时间: 2007-8-24 18:46
Thanks a lot!!!sdlkfj6




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2