51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2718|回复: 7
打印 上一主题 下一主题

我来告诉你selenium找不到xpath时该怎么处理

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-4-27 22:57:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我们在测试的过程有时候由于网络因素跳转页面比较慢因而就会抛出找不着对象的异常,一般我们通过waitForPageLoad或者sleep处理,这种方法都不太科学,因为我们不能把控超时的时间,对此我有2个办法
用type这个方法做例子
selenium.type(xpath,test)
方法1:
我们对type方法在进行一次封装,在方法中catch Exception,catch的代码中进行重试该方法,重试次数可做参数传入

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

这里就不传源码了,如果有朋友需要在发吧
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2013-5-4 14:32:59 | 只看该作者
回复 7# 六月天


  如果isElementPresent这个方法出现异常怎么办?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2013-5-3 08:54:55 | 只看该作者
回复 6# kx_monitor


    有了isElementPresent方法还不能重试吗?写个循环,直到为true或超过指定时间退出不就行了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2013-5-2 22:54:29 | 只看该作者
回复 4# 六月天


   RC里面提供的方法貌似没有真正的重试机制吧,而且超时时间也不好把控。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2013-5-2 22:52:57 | 只看该作者
回复 3# joykao


    过时?不明白
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2013-5-2 12:42:29 | 只看该作者
好吧,其实RC里面的isElementPresent方法和webdriver里面的WebDriverWait类都实现这类操作了……
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2013-4-29 10:59:33 | 只看该作者
    。。。。。过时了吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    4 天前
  • 签到天数: 1042 天

    连续签到: 4 天

    [LV.10]测试总司令

    2#
    发表于 2013-4-28 09:02:48 | 只看该作者
    不错的实战经验分享。赞一个~
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-11 08:18 , Processed in 0.069885 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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