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時需要用到。
注意
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,然後再右鍵點選專案根目錄->根源。這樣就能引用專案根目錄下的所有自定義模組了。