j44jj44j 发表于 2009-4-17 16:07:56

问一个困扰我很久的问题

具体情况是这样的:
在一个web界面我点击“新建”按钮,会弹出一个新的浏览器窗口,在新弹出的窗口内可以输入一些内容完成新建操作,可是在跑脚本时有时弹出的这个窗口没有刷新正常,导致qtp找不到要填写内容的文本框,最终导致脚本出错。

请问各位达人,这个问题怎么解决?

dreamever 发表于 2009-4-17 16:12:53

最简单的方法,加wait语句,简单有效

shanxi 发表于 2009-4-17 16:14:31

wait 每次的时间可能会不同

我想这跟QTP判断网页加载完成有关。

j44jj44j 发表于 2009-4-17 16:22:17

不是这样的,我所遇到的情况是这个页面根本就不能刷新正常了,就始终都那样了,除非再手动刷新一遍

shanxi 发表于 2009-4-17 16:24:27

回复 4# 的帖子

你手工打开这个页面 也需要再刷新一次才能正常?

j44jj44j 发表于 2009-4-17 16:31:40

不是每次都不正常,大概有1%-2%的机率,但是我可能会新建几十个对象,那么跑脚本时差不多就总会碰到不正常的情况,脚本也就跑不下去了

shanxi 发表于 2009-4-17 16:35:41

回复 6# 的帖子

理解了
你这是带参数的页面显示,再次刷新后参数丢失所以页面显示也无法正常了

做web自动化的还是得多熟悉下网页编程才好,不然很多情况都无法理解。

还是2楼的解决方式比较common和3楼的解释

j44jj44j 发表于 2009-4-17 16:39:52

用wait不行的,我曾经手动点出这种不正常的情况,然后就一直等,发现再怎么等它也不会变正常的,除非手动刷新一次

还有其他办法吗?:(

virgolong 发表于 2009-4-17 16:44:35

我也有这个问题,一般是加wait,可有时还是会出问题,wait又不能加太长了,不然老等待
而且我没写出错处理,主要是才入门还不会

shanxi 发表于 2009-4-17 17:13:24

回复 8# 的帖子

如你的描述,如果wait不行,WaitProperty和Sync也不会work。

实际上你点击的那个页面没有被加载成功的这种情况。

puchonghui 发表于 2009-4-17 19:49:52

能不能这样,先在弹出页面上设checkpoint判定是否正常加载,如果正常再继续操作。 否则关了重新点开新页面。。。

puchonghui 发表于 2009-4-17 19:56:51

补充一点: 这个问题和wait没有任何关系。
lz的问题是:浏览器已经完成了加载页面的过程但是页面仍然显示混乱,通常和js不够严谨有关系。

angelia_liu 发表于 2009-4-19 15:59:18

添加一个错误处理可以吗?

j44jj44j 发表于 2009-4-20 09:00:51

谢谢各位的热心回复,暂时还未解决,还在努力研究中

shiyi1022 发表于 2009-4-20 10:53:23

可以做个判断,如果第二个页面没有正常加载,只需要刷新第二个页面就OK了。browser有个refresh方法

风雪夜归人 发表于 2009-4-20 13:37:36

15#正解。。
要等待的话就waitProperty
页: [1]
查看完整版本: 问一个困扰我很久的问题