當前位置:
首頁 > 最新 > Selenium3源碼之異常模塊篇

Selenium3源碼之異常模塊篇

Selenium3 Python3源碼分析系列以短文方式進行分享

閱讀源碼是掌握Selenium的最好方式

我的公眾號:開源優測


Selenium3源碼之異常模塊篇

簡介

本文分析Selenium3源碼中關於異常處理的通用代碼,要分析的代碼位置如下(路徑為:***python3/lib/site-packages/selenium/common/exceptions.py):

這裡我源碼做了摺疊以便大家看下,只截取部分圖如下:

在模塊中共30餘個異常類,本文不會一一說明,所有的類,請自行去看源碼學習。


類WebDriverException是webdriver所有異常類的基類,其繼承自Python中的Exception基礎類。下面將直接在源碼中對代碼進行注釋說明:

## 定義WebDriverException類,繼承Exception

classWebDriverException(Exception):""" Base webdriver exception. webdriver異常基類 """# __init__函數,初始化用def__init__(self,msg=None,# 異常信息screen=None,# 異常快照stacktrace=None):# 堆棧跟蹤信息self.msg=msg self.screen=screen self.stacktrace=stacktrace

# 把類實例轉換成字元串類型def__str__(self):# 格式化異常信息exception_msg="Message: %s
"%self.msg

# 判斷是否存在異常快照信息,有則拼接到格式化字元串ifself.screenisnotNone:exception_msg+="Screenshot: available via screen
"# 判斷是否存在堆棧跟蹤信息,有則拼接到格式化字元串ifself.stacktraceisnotNone:stacktrace="
".join(self.stacktrace)exception_msg+="Stacktrace:
%s"%stacktrace# 返回格式化後的異常信息returnexception_msg


ErrorInResponseException類是webdriver服務端拋出異常時處理

# 繼承自WebDriverException基類

# 當webdriver遠程服務出現異常時,拋出該異常

classErrorInResponseException(WebDriverException):""" Thrown when an error has occurred on the server side. This may happen when communicating with the firefox extension or the remote driver server. """def__init__(self,response,msg):WebDriverException.__init__(self,msg)self.response=response


其他異常基本如下圖所示的樣式:

主要有這些異常:

註:這些異常你應該都要熟悉的理解,以便在實際自動化測試過程中快速定位問題並解決問題


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 開源優測 的精彩文章:

如何管理軟體測試環境

TAG:開源優測 |