1. 程式人生 > >python測試系列教程——python+Selenium自動化測試框架

python測試系列教程——python+Selenium自動化測試框架

全棧工程師開發手冊 (作者:欒鵬)

需要的環境

  • 瀏覽器(Firefox/Chrome/IE…)
  • Python
  • Selenium
  • Selenium IDE(如果用Firefox)
  • FireBug、FirePath(如果用Firefox)
  • chromedriver、IEDriverServer、phantomjs.exe
  • IDE(Pycharm/Sublime/Eclipse…)

1、瀏覽器建議用Firefox或Chrome,千萬不要用最新版本,要用早兩到三個版本的。
2、Python不要使用python2,而使用python3。
3、Selenium安裝使用命令pip install selenium


4、Selenium IDE可以錄製回放,只能應用與Firefox瀏覽器。作為Firefox外掛外掛而存在。
5、如果要使用Firefox,必備的外掛就是FireBug和FirePath,這倆都可以在附加元件管理器中搜到。
6、果需要使用Chrome瀏覽器或者IE瀏覽器,則需要對應的驅動,下載連結如下:
chromedriver,chromedriver沒有64位版本,32即可驅動:
http://chromedriver.storage.googleapis.com/index.html

選擇合適的版本並下載即可。

找個容易找到的資料夾放起來,在啟動chrome瀏覽器以及IE時需要用到。

注意

:chromedriver、IEDriverServer等瀏覽器測試驅動都是呼叫系統的谷歌瀏覽器和IE瀏覽器,所以驅動和瀏覽器客戶端必須相互匹配(而最新的測試驅動往往比最新的瀏覽器差了好幾個版本)。所以在下載驅動時儘量下載最新的,在下載瀏覽器時要儘量使用舊一點的版本。

Selenium Webdriver下載連結

模組名稱 模組描述 Selenium Webdriver下載連結
Selenium Standalone Server 3.0 這是Selenium Webdriver的最新穩定版本。你要執行remote Selenium Webdriver時需要它。同時,注意Selenium 3.0+不再支援RC API。你應該用一個備用介面來啟動那些舊的東西
GECKO Driver(最新版) 這個驅動是用來支援新版本的Firefox瀏覽器,從這裡下載最新版
Google Chrome Driver(最新版) 從這裡下載最新版本的Google Chrome驅動

Selenium安裝連結(谷歌瀏覽器)

YAML檔案語法

GIitHub託管

自動化測試框架

這裡寫圖片描述

在這個自動化測試框架中。

  • 在config目錄中存放的是測試配置相關的檔案,配置檔案可以使用ini、xml、yml等檔案型別。例如,要測試的網址、除錯日誌的檔名、日誌的輸出格式等

  • 在data目錄中存放的是需要測試的資料。可以使用xmls、xml等檔案型別。例如,測試網址中要提交的各種各樣的內容。

  • 在drivers目錄中存放的是測試需要用到的瀏覽器驅動。主要為chromedriver.exe、IEDriverServer.exe、phantomjs.exe

  • 在log目錄下存放輸出日誌.log檔案。

  • 在report目錄下存放測試報告檔案html類的檔案。

  • 在test目錄下存放所有測試相關的檔案。

– 在test/case目錄下,用於存放測試用例。

– 在test/common目錄下,用於存放跟專案、頁面無關的封裝。

– 在test/interface目錄下,用於存放以前臺角色測試後臺介面的測試用例。

– 在test/page目錄下,用於存放具體頁面測試時的重複性過程。

– 在test/suite目錄下,用於存放測試套件,用來組織用例。

  • 在utils目錄下存放公共方法。

– utils/assertion.py檔案用於新增各種自定義的斷言(測試結果和目標結果是否一致的判斷),斷言失敗丟擲AssertionError就OK。

– utils/client.py檔案用於測試web後臺介面的前端client,對於HTTP介面新增HTTPClient,傳送http請求。還可以封裝TCPClient,用來進行tcp連結,測試socket介面等等。

– utils/config.py檔案用於專案公共內容配置,以及讀取配置檔案中的配置。這裡配置檔案用的yaml,也可用其他如XML,INI等,需在file_reader中新增相應的Reader進行處理。

– utils/extractor.py檔案用於抽取器,從響應結果中抽取部分資料,這裡實現的是json返回資料的抽取,可以自己新增XML格式、普通字串格式、Header的抽取器

– utils/file_reader.py檔案用於檔案的讀取,包含配置檔案和資料檔案的讀取函式.根據檔案地址,返回檔案中包含的內容

– utils/generator.py檔案用於一些生成器方法,生成隨機數,手機號,以及連續數字等,以便使用這些資料進行測試

– utils/HTMLTestRunner.py是一個第三方模組,用於生成html的測試報告。讀者可以不改動它。

– utils/log.py檔案通過讀取配置檔案,定義日誌級別、日誌檔名、日誌格式等。

– utils/mail.py檔案用來給指定使用者傳送郵件。可指定多個收件人,可帶附件。

– utils/support.py檔案用來編寫一些支援方法,比如簽名、加密等

相關提示:

pycharm中如果無法引入自定義模組,要先在pycharm中右鍵點選專案根目錄->標記目錄為Resource Root,然後再右鍵點選專案根目錄->根源。這樣就能引用專案根目錄下的所有自定義模組了。