51Testing软件测试论坛

标题: 我来告诉你selenium找不到xpath时该怎么处理 [打印本页]

作者: kx_monitor    时间: 2013-4-27 22:57
标题: 我来告诉你selenium找不到xpath时该怎么处理
我们在测试的过程有时候由于网络因素跳转页面比较慢因而就会抛出找不着对象的异常,一般我们通过waitForPageLoad或者sleep处理,这种方法都不太科学,因为我们不能把控超时的时间,对此我有2个办法
用type这个方法做例子
selenium.type(xpath,test)
方法1:
我们对type方法在进行一次封装,在方法中catch Exception,catch的代码中进行重试该方法,重试次数可做参数传入

方法2:
与方法1类似,通过spring 切面实现,异常通知机制,这种方法比上面那种节省很多代码

这里就不传源码了,如果有朋友需要在发吧
作者: lsekfe    时间: 2013-4-28 09:02
不错的实战经验分享。赞一个~
作者: joykao    时间: 2013-4-29 10:59
。。。。。过时了吧
作者: 六月天    时间: 2013-5-2 12:42
好吧,其实RC里面的isElementPresent方法和webdriver里面的WebDriverWait类都实现这类操作了……
作者: kx_monitor    时间: 2013-5-2 22:52
回复 3# joykao


    过时?不明白
作者: kx_monitor    时间: 2013-5-2 22:54
回复 4# 六月天


   RC里面提供的方法貌似没有真正的重试机制吧,而且超时时间也不好把控。
作者: 六月天    时间: 2013-5-3 08:54
回复 6# kx_monitor


    有了isElementPresent方法还不能重试吗?写个循环,直到为true或超过指定时间退出不就行了
作者: kx_monitor    时间: 2013-5-4 14:32
回复 7# 六月天


  如果isElementPresent这个方法出现异常怎么办?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2