bruce.gu
发表于 2009-1-14 16:39:59
尝试selenium server 的 multiwindow 模式
原帖由 fairylly 于 2009-1-14 16:20 发表 http://bbs.51testing.com/images/common/back.gif
我不是想“取消”,就是“确定”退出,查看确定退出后的页面是否是我想要的页面
但退出后,退出页面会把整个浏览器替换,这样就没办法继续后面的工作了
fairylly
发表于 2009-1-14 17:14:46
原帖由 bruce.gu 于 2009-1-14 16:39 发表 http://bbs.51testing.com/images/common/back.gif
尝试selenium server 的 multiwindow 模式
使用multiwindow模式,可以解决该问题,谢谢。。。
bruce.gu
发表于 2009-1-14 17:29:53
恭喜,加油。呵呵
原帖由 fairylly 于 2009-1-14 17:14 发表 http://bbs.51testing.com/images/common/back.gif
使用multiwindow模式,可以解决该问题,谢谢。。。
fairylly
发表于 2009-1-14 17:49:47
:loveliness:
还想问个问题:
你是否有遇到过:同样的代码,SRC运行时,有时通过,有时不通过呢?
不通过的地方,通常是waitForPageToLoad超时
bruce.gu
发表于 2009-1-15 09:51:33
这个很正常,有时候服务器或者网络慢,那就超时了喽。
可以wait时间长一点试试。不过selenium默认最长等待时间是30s。如果你要设置更加长的,你要先selenium.setTimeout(timeout);然后再selenium.waitForPageToLoad(timeout).
另外 如果是ajax里面,不是整个页面load的话,还用wait for element to present 好。
原帖由 fairylly 于 2009-1-14 17:49 发表 http://bbs.51testing.com/images/common/back.gif
:loveliness:
还想问个问题:
你是否有遇到过:同样的代码,SRC运行时,有时通过,有时不通过呢?
不通过的地方,通常是waitForPageToLoad超时
fairylly
发表于 2009-1-15 10:02:59
出错的时候,一段时间内(有时几小时,有时一天)都是同一个地方出错;不是一会正常一会出错,而是持续性的
而且我开WEB端,手动点击时,也都是很快反映过来的
应该不是网络和服务器的问题
其它反映慢的页面都能正常加载,原本加载很快的页面反而出错
bruce.gu
发表于 2009-1-15 11:40:55
是不是这个地方根本不需要这个命令?出错的时候,可以用Thread.sleep(); 代替来调式一下。
原帖由 fairylly 于 2009-1-15 10:02 发表 http://bbs.51testing.com/images/common/back.gif
出错的时候,一段时间内(有时几小时,有时一天)都是同一个地方出错;不是一会正常一会出错,而是持续性的
而且我开WEB端,手动点击时,也都是很快反映过来的
应该不是网络和服务器的问题
其它反映慢的页面都能 ...
fairylly
发表于 2009-1-15 12:04:10
原帖由 bruce.gu 于 2009-1-15 11:40 发表 http://bbs.51testing.com/images/common/back.gif
是不是这个地方根本不需要这个命令?出错的时候,可以用Thread.sleep(); 代替来调式一下。
可以不要waitForPageToLoad函数时,我也加了这句,会有影响吗?
bruce.gu
发表于 2009-1-15 13:22:55
好像会有影响的。。去掉试试看好了。
原帖由 fairylly 于 2009-1-15 12:04 发表 http://bbs.51testing.com/images/common/back.gif
可以不要waitForPageToLoad函数时,我也加了这句,会有影响吗?
fairylly
发表于 2009-1-15 14:12:56
确实有影响
如果页面没有变化,或变化太快,使用waitForPageToLoad函数,反而会造成超时出错
fairylly
发表于 2009-1-15 16:58:46
运行脚本过程中,使用的是FF浏览器
但一些操作会导致出现:
使用selenium.getConfirmation();,会提示说:There were no confirmations
是否有什么其它解决方案呢?
(注:FF下手动操作时,没有该弹出框,只有在eclipse中运行脚本时,浏览器里才会有该弹出框)
尝试在FF的“工具”->“选项”中,修改一些配置,但没有效果
selenium中是否有什么方法可行呢?
可以使用selectWindow吗?但这种情况下,我也不知道应该如何使用它
bruce.gu
发表于 2009-1-15 17:30:28
多次提交造成的吧。
原帖由 fairylly 于 2009-1-15 16:58 发表 http://bbs.51testing.com/images/common/back.gif
运行脚本过程中,使用的是FF浏览器
但一些操作会导致出现:
48645
使用selenium.getConfirmation();,会提示说:There were no confirmations
是否有什么其它解决方案呢?
(注:FF下手动操作时,没有该弹出框 ...
fairylly
发表于 2009-1-15 17:33:19
切换页面风格,即整个WEB的TPL模版全部变化导致的
bruce.gu
发表于 2009-1-16 14:31:40
用
try{
selenium.getConfirmation();
}catch(Exception e){}
试试
原帖由 fairylly 于 2009-1-15 17:33 发表 http://bbs.51testing.com/images/common/back.gif
切换页面风格,即整个WEB的TPL模版全部变化导致的
fairylly
发表于 2009-1-19 08:43:26
原帖由 bruce.gu 于 2009-1-16 14:31 发表 http://bbs.51testing.com/images/common/back.gif
用
try{
selenium.getConfirmation();
}catch(Exception e){}
试试
使用try catch不行
打印错误信息,还是com.thoughtworks.selenium.SeleniumException: ERROR: There were no confirmations这个弹出框是FF浏览器本身弹出的,不是程序代码导致的
所以用selenium.getConfirmation应该是捕获不到的吧
bruce.gu
发表于 2009-1-19 09:32:20
对的,浏览器本身的是捕获不到的,selenium只能捕获js的。alert, confirmation 之类。
原帖由 fairylly 于 2009-1-19 08:43 发表 http://bbs.51testing.com/images/common/back.gif
使用try catch不行
打印错误信息,还是com.thoughtworks.selenium.SeleniumException: ERROR: There were no confirmations这个弹出框是FF浏览器本身弹出的,不是程序代码导致的
所以用selenium.getConfirmati ...
nosedive
发表于 2009-1-19 11:21:15
hi, 我有一个问题要请教。
现在需要按“moody's NRDE"按钮,然后进入到下一个界面中,这个操作在IE上是可以通过的。但是用selenium跑的时候页面就不能跳转到下一个界面了,并且提示"done. but with errors on page."这是怎么回事?
sever 上有一个报错是:
warn-invalid length: content-length=22395 written=16047 for http://mdynycdssmdev.ad.moodys.net/moodys.nrde.UI.E2E2_DDS/MOODYS.CSS
我的代码如下:
public void test() throws Throwable {
... ...
selenium.selectFrame("Tree");
selenium.click("GotoNRDE");
selenium.waitForPageToLoad("50000");
}
http://nosedive321.blog.163.com/prevAlbumsInUser.do?albumId=-1
[ 本帖最后由 nosedive 于 2009-1-19 11:37 编辑 ]
bruce.gu
发表于 2009-1-19 13:14:24
用selenium IDE 在firefox 上面跑一下你下面三条命令看。
原帖由 nosedive 于 2009-1-19 11:21 发表 http://bbs.51testing.com/images/common/back.gif
hi, 我有一个问题要请教。
现在需要按“moody's NRDE"按钮,然后进入到下一个界面中,这个操作在IE上是可以通过的。但是用selenium跑的时候页面就不能跳转到下一个界面了,并且提示"done. but with errors on page. ...
nosedive
发表于 2009-1-19 15:53:31
我们的系统不支持firefox。。。没办法在FF里跑,我直接抓取到对象,然后写的代码。
[ 本帖最后由 nosedive 于 2009-1-19 16:17 编辑 ]
nosedive
发表于 2009-1-19 17:30:04
原帖由 nosedive 于 2009-1-19 15:53 发表 http://bbs.51testing.com/images/common/back.gif
我们的系统不支持firefox。。。没办法在FF里跑,我直接抓取到对象,然后写的代码。
问题解决了,我之前写的不清楚,估计很难找到问题。其实是这样的。“GotoNRDE”不是一个简单的button,click它之后其实是调用了一个javascript。然后我猜想问题是出在页面加载JS上了。因为selenium在运行的时候会在回放的页面底部整合进两个frame,就是我们看selenium的控制台。但是当页面调用JS时,可能涉及到页面frame,如果这个JS写的不严谨的话,就可能找不到对应的frame,所以页面就出错了。
然后在运行selenium时把底部的frame给去掉就可以了。
不知道我说清楚了没有,总之如果大家遇到这样的问题可以这么试试。另外,我觉得其实可以的话,最好能建议SE把代码改一改。,毕竟你不能确定客户会在IE上加载什么。