自動化測試框架
一:框架簡介
1.使用自動化框架意義
1.提高代碼的易讀性
2.提高編碼效率
3.提高代碼的易維護性
2.框架內容
基於技術以及時間有限,我們暫時只對我們自動化框架做出以下分層:數據層,模塊層,報告層,用例層,以及testrunner。用例層和testrunner主要導入unittest框架,下文中會將這兩層總結在一起進行簡要概述。
二:數據層
數據層也稱呼為數據驅動,該層主要作用是將測試數據存放到Excel表格中,通過代碼讀取excel中數據。這樣做的目的是實現數據分離,使代碼整潔度提高,效率提高,每一個測試數據表現出來是一個測試用例。
實現步驟:
1.新建data文件夾,在文件夾中新建Excel表格,將測試數據存放到表格中。如圖:
2.cmd中下載xlrd,
如果在配置環境時已經下載就不用再下載了. 新建python文件如圖中 excelRW. py。使用import xlrd, 導入xlrd既可以讀取excel數據。
3、找到Excel表路徑:找到根目錄的 data文件夾 里的 all_accounts.xls
4、定義一個讀取Excel表格的函數,裡面設定有 esheet, rowx, colx 三個變數,分別表示表單,行,列
5、通過 book 讀取 Excel 路徑信息
6、通過 sh 讀取 book 下表單索引信息
7、通過 a 讀取 sh 表單下的行和列的信息。完成這些之後,可以在相關位置通過實例進行引用
三:模塊層
模塊層主要是對app模塊進行一系列的定位操作,再將這些操作封裝在一個函數中,方便後期在unittest框架中直接調用這個函數。具體定位操作在此不做詳解,參考另外一篇元素定位文檔。以下為恩愛號登錄小模塊舉例:
四:unittest框架
用例層以及用例執行主要使用的unittest框架。詳細了解unittest框架可以訪問官網https://docs.python.org/2/library/unittest.html。
unittest框架包括4個部分:Test fixture,Testcase,Testsuite,Testrunner。
Test fixture表示是測試準備前要做的工作和測試執行完後要做的工作,包括setUp()和tearDown()來實現。我們在setUp()主要是存放是啟動app代碼,tearDown()在每個測試方法後執行,完成清理工作,一般都存放driver.quit()代碼。
Testcase:一個Testcase的實例就是一個測試用例,如test_case1, test_case2。我們將之前模塊層封裝的函數調用到這裡面作為一個用例,同時通過assert斷言方法用於檢測判斷比較。
以下為Testfixture和Testcase實例:
TestSuite: 對一個功能的測試往往需要多測試用例的,可以把多的測試用例集合在一起執行,這就是TestSuite的概念。常用addTest()方法將一個測試用例添加到測試套件中。
TextTestRunner: 是用來執行測試用例的,其中的run(test)用來執行TestSuite/TestCase。測試的結果會保存在TextTestResult實例中。
五:報告層
報告層存放的是測試用例執行的結果。下載HTMLtestrunner後,就會自動生成html文件(這個步驟在配置自動化環境文檔中有所介紹)。unittest框架中使用testrunner執行測試用例完成後,找到reporter文件夾通過瀏覽器打開xea_reporter文件,就能看到每條用例執行結果。
TAG:Liew我們在路上mandy |