51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4268|回复: 6
打印 上一主题 下一主题

[原创] QTP精确操作IE滚动条的问题,请大侠们指教

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-6-28 10:40:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1:首先用drag,drop 可以操作滚动条,但是这个不精确,受屏幕分辨率和内容长度的影响,不可取
2:上网搜索了一下,说可用:
            'pageobj.Object.body.doScroll() '//操纵画面上的ScrollBar向下滚动。
但是我怎么试都不能成功,我用的是QTP9.2,不知道谁实验成功过,谢谢!

3:另外,可以下面这样获取到可见内容和顶端之间的距离:
   '获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。
   myScrollTop = pageobj.Object.body.scrollTop

 如果能设置这个距离那就比较完美了,这样就可以精确的操作滚动条了,请问谁做过类似的东西,我怎么试好像滚动条都没有反应,谢谢各位,希望赐教!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-6-29 09:30:57 | 只看该作者
继续关注一下,请大家探讨
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-6-29 11:32:58 | 只看该作者
doScroll需要加参数的,不过默认的话应该是可以向下翻页的

pageObj.body.doScroll( [sScrollAction])
sScrollAction Optional. String that specifies how the object scrolls, using one of the following values:

scrollbarDown: Default. Down scroll arrow is at the specified location.  
scrollbarHThumb: Horizontal scroll thumb or box is at the specified location.
scrollbarLeft: Left scroll arrow is at the specified location.
scrollbarPageDown: Page-down scroll bar shaft is at the specified location.
scrollbarPageLeft: Page-left scroll bar shaft is at the specified location.
scrollbarPageRight: Page-right scroll bar shaft is at the specified location.
scrollbarPageUp: Page-up scroll bar shaft is at the specified location.
scrollbarRight: Right scroll arrow is at the specified location.
scrollbarUp: Up scroll arrow is at the specified location.
scrollbarVThumb: Vertical scroll thumb or box is at the specified location.
down: Composite reference to scrollbarDown.
left: Composite reference to scrollbarLeft.
pageDown: Composite reference to scrollbarPageDown.
pageLeft: Composite reference to scrollbarPageLeft.
pageRight: Composite reference to scrollbarPageRight.
pageUp: Composite reference to scrollbarPageUp.
right: Composite reference to scrollbarRight.
up: Composite reference to scrollbarUp.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-6-29 15:38:32 | 只看该作者
hsjzfling,非常感谢你的回复,这些我都试过了,带参数,参数不带引号QTP编译错误,说变量没有定义,带引号QTP不会报任何错误,正确执行,但是滚动条没有任何反应,我在网上看见有人说能执行,有人说不能执行,也许是和浏览器或QTP环境有关?谁能给个正确的答复?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-6-30 09:17:05 | 只看该作者
我这边使用是没有任何问题的,将你这块的完整代码贴出来看看
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-6-30 15:12:31 | 只看该作者
IE滚动条没有很完美的解决方案,只有相对准确,该死的MSIE哟!

最近几天调试C++ COM对MSIE操作,憎恨死它了,一堆兼容模式和标准模式,指针经常出现漏判。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-6-30 15:37:28 | 只看该作者
hsjzfling,代码很简单,如下
   '打开一个带滚动条的IE窗口
   Set objPage = Browser("openedbytestingtool:=true").Page("title:=测试系统")
   objPage.object.body.doScroll("scrollbarDown")    '此处执行后滚动条没有任何移动,去掉参数也是一样
   objPage.object.body.scrollTop = 500  '此处滚动条也没有任何动作
   调试中watch一下可以发现pageobj.Object.body.scrollTop=0 , 往下拉动滚动条后 pageobj.Object.body.scrollTop仍旧是0,似乎这个ScrollTop没起作用
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-28 06:38 , Processed in 0.069895 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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