前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium Webdriver 3.X源码分析之errorhandler.py

Selenium Webdriver 3.X源码分析之errorhandler.py

作者头像
苦叶子
发布2019-10-14 15:59:12
7220
发布2019-10-14 15:59:12
举报
文章被收录于专栏:开源优测开源优测

> Selenium Webdriver 3.X源码分析系列第14篇,该系列原则上会将整个源码分享一遍

在selenium webdriver自动化测试实践时,很多新手,甚至有一定经验的实践者,都会在面对不同的抛错/异常时,显得措手不及,无法下手,本文从源码层级对selenium webdriver中定义的错误编码进行分析,从而期望从根本上了解错误信息或编码的含义。

先看下错误编码及处理源码的定义模块的路径:selenium > webdriver > remote > errorhandle.py

其源码结构如下图所示:

下面我们对errorhandle.py源码进行逐一说明解释,以便大家进一步了解:

1. 导入已经定义好了的异常类,这些异常类均在selenium.common.exceptions下,对应了selenium webdriver各种可能出现异常情况,通过类名就应该掌握可能是哪些异常。

2. 字符串类型兼容处理,主要针对py2和py3的兼容做了异常处理,以应对selenium webdriver在py2和py3的兼容性

3. selenium webdriver异常编码处理,定义了具体的整数与对应的可读信息,一般来讲整数是给代码用的,可读的信息是给人看的。

例如,NO_SUCH_ELEMENT 这个错误编码,对应着整数7,可读文字为:no such element,中文含义为木有这个元素。看着这个可能是你的定位xpath或其他属性写错了,也可能是定位xpath是对的,但真不存在这个元素,

4. 错误处理类,用于处理selenium webdriver远程服务返回的错误信息,主要用于检查selenium webdriver 远程服务返回的错误信息是否为json格式,其字段是否标准,其值是否是预定的值,最后对返回的信息进行解析成可读性更好的格式,以增强实践过程解决问题的效率。

这个模块是比较简单的,主要是掌握以下几个点:

  1. 定义了哪些错误编码,这些是必须了解和掌握的,参加ErrorCode类即可
  2. 理解ErrorHandler类的机制和作用,进一步加深错误处理原理
  3. 将错误编码与日常实践时抛出的异常,错误信息进行对应,提升实战能力
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源优测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档