1、前言
我大概是在2012年第一次正式接觸到自動化測試,那個時候跟隨我的團隊一起,就當時項目的UI自動化嘗試做出了探索。
在我離開那家公司的時候,我們的自動化測試體系仍然難言完美,但是也已經達到了非常高效的程度。我們的測試部門從業務向的純手工測試團隊,也轉型為了自動化:手動=2:1的隊伍結構。
時至今日,自動化測試的火熱程度比起當年又要上升了幾個層級,對於測試工程師而言,掌握自動化測試的技術和思路,無疑是個人重要的技術性向道路。因此我准備花一定的篇幅,從新從頭開始對於java+selenium3這套自動化體系進行一些記錄和解析,算是對相關技術的一個自我沉淀。也希望能對新接觸此領域的朋友提供一些指引和幫助。
2、自動化體系的小簡介
請允許我花小小的篇幅來介紹現在市場上主流的自動化測試體系。
拋開“廣義”的自動化不說,現今的測試自動化方向主要集中在“UI”層和“API”層,也即所謂的UI自動化和接口自動化,如下圖所示:
UI自動化的優勢在於:
- 通過模擬用戶操作實現測試
- 貼近產品和業務,方便驗證和驗收
其劣勢(主要是對比API自動化):
- 代碼量大,維護工作量大
- 容易受到變更的影響
尤其是這第一點,導致UI自動化被一些人員和企業所詬病,甚至引發一系列爭議。
但是實際項目中,並不存在UI自動化是雞肋的說法,有相當多的項目仍然選擇采用UI自動化的方式提升測試效率。我們這一系列文章就預計做UI自動化的一個總集,至於API自動化后續可能會同樣做一個匯總。
寫這一段的目的在於,對於自動化領域的新手而言,UI自動化絕對是你不能不會的一塊技術,也可以說是起步。
3、環境搭建
開始實現基於java+selenium的UI自動化,第一步就是搭建環境,我們需要以下東西:
- JDK:寫java代碼當然要有java development kit
- Eclipse:java繼承編程環境
- Selenium:UI自動化的主心骨
- 各類瀏覽器driver:Selenium3時代,瀏覽器與自動化之間的橋梁。
后續我們可能還要加入諸如testNG,maven等部件和框架,這個可以后續需要在做。要寫出初步的自動化代碼並調試成功,只需要上述四個東西就可以了。
3.1 JDK
推薦到Oracle官網下載:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
安裝配置過程網上有大量教程,這里不再贅述。
3.2 Eclipse
同樣推薦至Eclipse官網下載:
https://www.eclipse.org/downloads/
裝好了JDK的話,eclipse的安裝應該沒有任何問題。
3.3 Selenium
如果使用maven管理的話,類似selenium及其它可能需要類庫都可以使用maven進行管理和下載。出於學習的目的,這里我們暫時不使用maven管理,而是手動去下載他。
推薦去到selenium官網進行下載,地址是:https://www.seleniumhq.org/download/:
可以選擇下載歷史版本或者最新版本:
4. 瀏覽器driver
去到 https://www.seleniumhq.org/download/,
下翻到瀏覽器驅動下載區域,選擇需要測試的瀏覽器的對應驅動:
(本文會涉及到Firefox及Chrome,所以需要下圖紅色箭頭所指兩個驅動)
5. 備選下載地址
如果以上下載遇到問題,可以到以下網盤中獲取相關資源:
鏈接:https://pan.baidu.com/s/1yWZg22kQJQ0z_G8tJJnjXA
提取碼:d19c
4. 項目配置
打開eclipse,新建一個java project,命名為seleniumTest,其他選項保持默認完成。
新建一個文件夾lib,用來放置我們需要的類庫,建好以后將前序下載的selenium jar包使用拷貝過去,F5刷新項目:
另建一個文件夾tools,用來放置瀏覽器驅動文件,操作同樣如上:
右鍵項目,選擇build path - configure build path - Libraries - Add Jars,選擇lib文件夾下面的selenium jar包。
完成以后,初步的java + selenium環境就搭建完畢了。
下一篇來寫第一個selenium代碼,啟動瀏覽器
軟件測試交流群:717380210
有軟件測試,自動化測試,安全測試相關問題需要交流探討的小伙伴,歡迎加入!