51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4638|回复: 12
打印 上一主题 下一主题

[讨论] webtable的click问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-11 17:07:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在在写一个公司菜单右键的点击事件的脚本,遇到难题:
该弹出的菜单是个div,里面有table,td,文字,难题在于,click是针对TD的,我使用脚本:

Browser("title:="&BrowserTitle).Page("title:="&PageTitle).Frame("name:=mainFrame").WebElement ("html id:=itemMenu").WebTable("index:=1").WebElement("innerText:=新增目录","index:=1").click

预期:弹出新增目录的页面
结果:啥反应也没有,查看运行结果,是 WebTable.CLICK
个人分析,是否是WebElement("innerText:=新增目录","index:=1")没有识别吗?还是说这个事件是用click没有办法去识别?


对于右键菜单用IE DEV去查看出来的源码如下:
<HTML><HEAD><STYLE>  </STYLE></HEAD><BODY class="body_main"><DIV><DIV class="rightshow" id="itemMenu"><TABLE style="BORDER-RIGHT: #abc9de 1px solid; BORDER-TOP: #abc9de 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #abc9de 1px solid; COLOR: #013364; BORDER-BOTTOM: #abc9de 1px solid; BACKGROUND-COLOR: #fbfcfe" height="100%" cellSpacing="1" cellPadding="1" width="100%" border="0"><TBODY><TR><TD style="BORDER-RIGHT: 0px outset; BORDER-TOP: 0px outset; PADDING-LEFT: 10px; BORDER-LEFT: 0px outset; CURSOR: hand; BORDER-BOTTOM: 0px outset" onclick="parent.addGjml()" align="left"> 新增目录  </TD></TR></TBODY></TABLE></DIV></DIV></BODY></HTML>

期待高手帮我分析下,谢谢了哦
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-9-11 17:26:15 | 只看该作者
fireevent onmousedown 或onclick
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-9-11 17:38:13 | 只看该作者
根据楼上的,改成.WebElement("innerText:=新增目录","index:=1").object.onclick
可是还是不行
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-9-11 17:44:53 | 只看该作者
onmousedown  这个我也试了,报错,说是不支持onmousedown 方法,我是这么写的
.WebElement("innerText:=新增目录","index:=1").object.onmousedown
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-9-11 18:16:17 | 只看该作者
.GetROProperty("innerText")用这个取到的文字确实是新增目录啊。神啊,能告诉我咋回事啊
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-9-11 18:28:53 | 只看该作者
Browser("title:="&BrowserTitle).Page("title:="&PageTitle).Frame("name:=mainFrame").WebElement ("html id:=itemMenu").WebTable("index:=1").WebElement("innerText:=新增目录","index:=1").click
这句写的似乎不对,怎么WebElemen后边还有WebTable的??
Browser("title:="&BrowserTitle).Page("title:="&PageTitle).Frame("name:=mainFrame").WebElement("innerText:=新增目录","index:=1").click   试试可以不?

[ 本帖最后由 小_麦 于 2009-9-11 18:30 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-9-11 18:29:25 | 只看该作者
把index去掉试试,而且 onmousedown也不是这样用的
WebElement("innerText:=新增目录","index:=1").fireevent "onmousedown"
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2009-9-11 23:10:11 | 只看该作者
第一个WebElement 是因为这个是右键菜单的是个DIV,这个文字是在ID为itemMenu 的 DIV 里面的。在ID为itemMenu 的 DIV 里,是一个webtable ,第2个WebElement 对象我是用来识别那个webtable 里的“新增目录”的文字的。
回答小麦的问题。因为Frame("name:=mainFrame").里有将近10个DIV,不区分行嘛?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2009-9-11 23:11:14 | 只看该作者
回风雪夜归人 ,因为webtable里,是有多个colle的,所以我必须要指定是点第几个
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-9-14 15:14:27 | 只看该作者
原帖由 小狐狸如如 于 2009-9-11 23:10 发表
第一个WebElement 是因为这个是右键菜单的是个DIV,这个文字是在ID为itemMenu 的 DIV 里面的。在ID为itemMenu 的 DIV 里,是一个webtable ,第2个WebElement 对象我是用来识别那个webtable 里的“新增目录”的文字的 ...

你用QTP识别一下你最终操作的对象,把对象加到对象库中看看,是几层就写几层,中间的DIV,TABLE之类的可以省略
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-9-14 17:20:01 | 只看该作者
原帖由 小狐狸如如 于 2009-9-11 23:11 发表
回风雪夜归人 ,因为webtable里,是有多个colle的,所以我必须要指定是点第几个

你为什么不直接对webtable,进行操作了。
还是我理解错了你的意思?
是否贴个图。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2009-9-14 23:21:09 | 只看该作者
对于右键菜单用IE DEV去查看出来的源码如下:
<HTML><HEAD><STYLE>  </STYLE></HEAD><BODY class="body_main"><DIV><DIV class="rightshow" id="itemMenu"><TABLE style="BORDER-RIGHT: #abc9de 1px solid; BORDER-TOP: #abc9de 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #abc9de 1px solid; COLOR: #013364; BORDER-BOTTOM: #abc9de 1px solid; BACKGROUND-COLOR: #fbfcfe" height="100%" cellSpacing="1" cellPadding="1" width="100%" border="0"><TBODY><TR><TD style="BORDER-RIGHT: 0px outset; BORDER-TOP: 0px outset; PADDING-LEFT: 10px; BORDER-LEFT: 0px outset; CURSOR: hand; BORDER-BOTTOM: 0px outset" onclick="parent.addGjml()" align="left"> 新增目录  </TD></TR></TBODY></TABLE></DIV></DIV></BODY></HTML>

1.通过上面的源码,看出:你脚本中终端对象的上级目录不对吧,,至少我没看到什么frame呀,你可以试下:
Browser("title:="&BrowserTitle).Page("title:="&PageTitle).WebElement("innerText:=新增目录","index:=1").click
2.和楼上的意思相同,qtp先录制一把,看是怎么个脚本,当然有可能qtp生成不出脚本,就另当别论了;
3.看到你也在使用ie dev工具查看其HTML 代码了,所以可使用vbs操作html dom,
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2009-9-14 23:53:30 | 只看该作者
childitem和childobjects这么方便的函数不用,弄什么webelement啊
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-1 09:12 , Processed in 0.077990 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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