51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4514|回复: 14
打印 上一主题 下一主题

[原创] Browser.sync 和 page.sync有什么区别啊?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-6 09:02:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Browser.sync 和 page.sync有什么区别啊?
有人说Browser.sync是等待frame加载完,而page.sync不会。那是不是无论什么时候都应该用Browser.sync,因为它保险一点?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

15#
发表于 2010-7-14 16:18:36 | 只看该作者
改成 READYSTATE_COMPLETE 就行了。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-7-14 13:01:19 | 只看该作者

回复 13# 的帖子

IE.readystate=4 时才表明IE 加载完毕  如果一直为0   是否页面加载有错误提示呢?
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2010-7-14 10:48:34 | 只看该作者
IE.Busy为false,但是IE.readystate却一直为0,不是4?
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-7-12 17:41:51 | 只看该作者

sync

如楼上所说 原理是一样的  呵呵

我想说的是重写sync 同时加上“标志性对象判断”方法 会使页面更加稳定
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2010-7-12 15:10:23 | 只看该作者
这个原理是不是和sync一样的啊?
可能sync本身就是用的这个方法哈哈。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-7-9 17:40:44 | 只看该作者

如是使用commen的函数 有方法

使用commen的函数处理每个新加载页面的同步问题时,可以获取IE object对象,利用IE 自带的busy属性和Readystate属性循环判别IE是否加载完毕,未加载完毕,等5秒 ;加载完毕跳出循环。  可以试一下
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-7-9 14:37:02 | 只看该作者
不过有时候的确sync执行完之后,其实页面还没有加载完,而接下来的页面可能是任何一个页面,所以判断下一个页面的对象也不可行(因为是一个common的函数,所以不好判断)
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2010-7-8 17:20:17 | 只看该作者

不要没有安全感

一般情况下,qtp自带的函数和方法都很好用,不好用时可以考虑其他方法
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2010-7-8 17:19:01 | 只看该作者

多谢跟帖

谢谢大家跟帖,小弟刚刚来到这个论坛,以后大家多多交流
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-7-8 16:22:13 | 只看该作者
一般情况下,这两种随便用,不要没有安全感
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-7-8 13:37:45 | 只看该作者
谢谢二楼,不过你这么一说,让我觉得很没有安全感了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-7-8 11:01:24 | 只看该作者
学习了,
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-7-8 10:00:52 | 只看该作者
呵呵,楼上正解,鲜花
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2010-7-8 00:09:31 | 只看该作者

他们打不部分时候是没有区别的

Browser.sync:当IE状态栏显示 Done 后才进行下一步
page.sync:当页面完成加载之后才进行下一步
当状态栏显示Done后 页面往往也加载完毕
所以大部分时候他们看不出什么区别

但是有些时候还是会有区别,这个却别就是当同时使用了Browser.sync和page.sync后,qtp完成这两步之后,发现页面仍然没有加载完毕。

这是可以采用判断页面某个特殊的object 是否存在或visible属性为True时再进行下一步

如:
Dim Count
Count=0
Do while count<>5
If Browser().Page().object().GetROProperty("visible")=True Then
  Count=5
Else
Count=Count+1
wait 10
End If
Loop


如果执行了上述语句,页面仍然没有加载完毕,那么可以怀疑页面加载除了问题
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 11:25 , Processed in 0.079160 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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