1、為什么開發這個框架呢?
首先,自從做測試行業以來,沒有屬於自己的東西,功能測試這塊可以說沒有什么技術性的積累,都是經驗;性能測試方面,用過jmeter、loadrunner,積累的經驗比較淺薄;自動化測試接觸過java+selenium;
在網上或者測試行業現階段分析了一下,python這門語言學習起來簡單一些但是功能強大,最后2016年下半年決定在空余時間學習研究python+selenium,最終在年底開發出來一個可使用的基於web頁面的自動化測試框架。
2、開發框架的歷程
2016-08,學習python的基礎知識:python基礎教程-菜鳥教程-http://www.runoob.com/python/python-tutorial.html
2016-09,練習python的基礎案例,自己動手編寫:可以在網上搜索一下也可以使用菜鳥教程中的100案例
2016-10,搭建Eclipse+python2.7的開發環境,並編寫基礎的web元素定位、取值、輸入數據等操作流程
2016-11,通過網上搜索和自我研究設計一個自動化測試框架流程
3、自動化測試框架介紹
1)我把自動化測試框架作為一個工作流程來設計,它定義了幾層架構,定義了各層互相通信的方式。通過這個架構我們才能在上面進行拓展我們的測試計划、測試場景、測試用例、測試組件等,如圖:自動化測試框架流程
測試計划:制定測試執行計划,內容包含:兩個sheet頁:計划描述、執行計划(包含執行的測試場景列表)
測試場景:制定測試場景,內容包含:場景描述、場景執行步驟(包含執行的測試用例列表)
測試用例:設計測試用例,內容包含:用例描述、用例執行步驟(包含用例執行步驟列表)
業務組件注冊登記:各個模塊的測試用例組件--類路徑、類、方法名稱等
計時器:記錄測試用例執行時間點
測試用例執行器:測試用例執行開始、執行、結束等類
測試報告生成器:測試報告生成的類
2)自動化測試框架程序的分層如下:
Testcore:測試框架核心程序類
TestPlan:測試計划表格
TestResult:測試結果報告
TestSuite:測試場景表格
TestCaseclass:測試用例所有程序類
Testcase:測試用例-表格
3)自動化測試框架運行原理:
根據1)中ed自動化測試流程圖基本上已經可以看出該框架的運行機制了,具體如下:
(1)、首先調用selenium的WebDriver啟動瀏覽器(這里用默認瀏覽器火狐)-通過ConfigParser模塊獲取配置文件的url、數據庫相關信息等,啟動web系統
(2)、第一層循環執行找到所有的測試場景列表
(3)、第三層循環執行測試場景中配置的所有用例
(4)、第三層循環執行測試用例下的所有用例步驟
(5)、記錄測試用例步驟、測試用例、測試場景、測試計划等執行結果、時間點等
(6)、把整個測試計划的數據和執行結果傳入測試報告生成器中生成測試報告