1. 程式人生 > >《手把手教你》系列進階篇之2-python+ selenium自動化測試 - python基礎掃盲(詳細教程)

《手把手教你》系列進階篇之2-python+ selenium自動化測試 - python基礎掃盲(詳細教程)

1. 簡介

  這篇文章主要是分享講解一下,如何封裝自己用到的方法和類。以便方便自己和別人的呼叫,這樣就可以避免重複地再造輪子。

  封裝(Encapsulation)是面向物件的三大特徵之一(另外兩個是繼承和多型),它指的是將物件的狀態資訊隱藏在物件內部,不允許外部程式直接訪問物件內部資訊,而是通過該類所提供的方法來實現對內部資訊的操作和訪問。

就好比使用計算機,我們只需要使用計算機提供的鍵盤,就可以達到操作計算機的目的,至於在敲擊鍵盤時計算機內部是如何工作,我們根本不需要知道。

封裝機制保證了類內部資料結構的完整性,因為使用類的使用者無法直接看到類中的資料結構,只能使用類允許公開的資料,很好地避免了外部對內部資料的影響,提高了程式的可維護性。總的來說,對一個類或物件實現良好的封裝,可以達到以下目的:

  • 隱藏類的實現細節。

  • 讓使用者只能通過事先預定的方法來訪問資料,從而可以在該方法里加入控制邏輯,限制對屬性的不合理訪問。

  • 可進行資料檢查,從而有利於保證物件資訊的完整性。

  • 便於修改,提高程式碼的可維護性。

為了實現良好的封裝,需要從以下兩個方面來考慮:

  1. 將物件的屬性和實現細節隱藏起來,不允許外部直接訪問。

  2. 把方法暴露出來,讓方法來控制對這些屬性進行安全的訪問和操作。

因此,實際上封裝有兩個方面的含義:把該隱藏的隱藏起來,把該暴露的暴露出來。 

2. 二次封裝Selenium中幾個方法

  本文來介紹,如何把常用的幾個webdriver的方法封裝到自己寫的一個類中去,這個封裝過程叫二次封裝Selenium方法。我們把開啟站點,瀏覽器前進和後退,關閉和退出瀏覽器這這個方法封裝到一個新寫的類中去。

我們按照如下層次結構在PyCharm中新建兩個包和兩個.py檔案:

      上圖,baidu_search.py是我們編寫測試指令碼的python檔案,具體測試程式碼寫在這個檔案。包test1下的basepage.py檔案是這次我們介紹的二次封裝selenium方法而新建的。這裡提一下,python中預設規則,包名和檔名都是小寫,類名稱單詞首字母大寫,函式名稱小寫,多個字母下劃線隔開。我們儘量遵守下這個不成文的約定。

來看看basepage.py的內容:

2.1 程式碼實現:

2.2 參考程式碼:

# coding=utf-8