selenium自動化基礎知識--什麼是自動化測試

selenium自動化基礎知識

什麼是自動化測試?

自動化測試分爲:功能自動化和性能自動化css

 

功能自動化即便用計算機經過編碼的方式來替代手工測試,完成一些重複性比較高的測試,解放測試人員的測試壓力。同時,若是系統有不份模塊更改後,只要經過修改部分代碼的方式來覆蓋這部分修改的內容,大大提升測試效率。可是後期代碼維護須要必定的成本,若是系統屬於表單比較多或者常常修改改動的系統不太適合使用自動化,由於這個維護成本過高;針對於一些相對比較成熟(改動不是很頻繁)的系統和跑回歸測試的系統很適合進行自動化測試。html

性能自動化即便用性能測試工具(經常使用的收費軟件有LoadRunner、QTP,開源的有Jmeter)模擬成千上萬的用戶向系統發送請求,來取得系統性能峯值與瓶頸,可是性能測試的重點並非在工具的使用上面,而是對工具產生的各類性能報表的性能分析上。須要完成一個完整的性能分析,你須要瞭解不少知識(計算機組成原理、操做系統、數據庫原理、計算機網絡原理、應用服務器【tomcat】、web server【apache】等)。前端

幾乎每一個項目都會用到性能測試,可是並非全部的項目都適合自動化測試;然而性能測試須要更強的基礎知識功底,對於半路出家的測試來講有很大難度;對於之後的發展方向都有利有弊吧。java

 

爲何要進行UI自動化測試?

 

從圖中咱們能夠看出各階段測試的投入產出比,咱們能夠看到單元測試的收益是最高的,由於它直接對源代碼進行測試,對某一個if判斷或者一個for循環進行測試,因此收益最高,可是單元測試適不適合測試人員來作呢?答案是不必定適合,由於對於代碼固然是開發者自身最熟悉本身開發的代碼了,若是交給測試人員來測的話,測試人員還得清楚開發者的設計思路,對整個流程的代碼通讀,效率相對低下,因此單元測試在90%以上的公司都是有開發本身完成。python

集成/接口測試相對收益率仍是能夠的,主要完成的是對各個類、接口的測試,對某個類中的add()方法,傳入適當的參數,測試返回結果的正確性。web

UI自動化測試的收益最低,那爲何還要進行UI自動化的測試呢,由於最終用戶的操做是在UI層,因此大量的測試勞動力都會集中在UI層進行測試;並且,後期的迴歸測試是至關須要多勞動力進行不斷的重複測試的,因此自動化測試就提現出了他的優點了。數據庫

 

 

什麼是selenium?

Selenium是一款web應用的自動化測試工具,主要用於UI測試;apache

它的特色有以下幾點:windows

1.支持多語言:java,python,ruby,PHP瀏覽器

2.多瀏覽器支持:IE、Chrome、Mozila-FireFox

3.開源,免費

4.多平臺支持:windows、MAC、Linux

 

Selenium組成?

 

Selenium有兩個版本selenium1.0和selenium2.0,如今廣泛使用2.0,2.0支持的功能多。

看下selenium1.0的組成構架:

 

 

                                                                                                     

 

Selenium IDE是一個firefox中的一個插件,用於錄製瀏覽器的操做,進而生成腳本的一款便於初學者使用的工具。侷限性是其錄製的腳本不能直接使用,代碼不少的地方須要完善修改。主要是給初學者一個UI自動化的一個認識過程,實際做用不大。

Selenium Grid是一個輔助測試的工具,實現的功能是在多臺測試機器上統一執行測試用例。(暫時沒有用到)

Selenium RC是selenium中的核心部件,用於執行測試腳本進而對瀏覽器進行操做。RC由兩個部件組成:Client Libraries和Selenium Server;

Client Libraries中保存的是測試腳本

Selenium Server中使用Launcher來啓動和關閉瀏覽器;在啓動瀏覽器後selenium core被部署到web應用中,core其實是一個JS函數庫,selenium就是經過這些JS函數對瀏覽器進行操做。

 

Selenium2.0 = selenium1.0 + webdriver

2.0相比較於1.0的區別是,2.0的selenium使用webdriver來取代了selenium RC的實現方法;

他們的區別是什麼:

Selenium RC 在瀏覽器中運行 JavaScript 應用,使用瀏覽器內置的 JavaScript 翻譯器來翻譯和執行selenese 命令(selenese 是 Selenium 命令集合)。

2.0的WebDriver 經過原生瀏覽器支持或者瀏覽器擴展直接控制瀏覽器。Webdriver支持的頁面操做更多,並且API更簡介,易懂。

 

 

Selenium學習前知識儲備及預裝工具

 

學習selenium須要哪些知識支撐呢?

前端的知識:

HTML--->具體瞭解下HTML的各個標籤的含義都是什麼;

JavaScript--->瞭解JS的基礎語法

XML--->瞭解配置文件

CSS--->能夠了解一下,後面使用css定位可能會用到點

 

工具準備:

FireBug是一款Firefox的插件,它集 HTML查看和編輯、Javascript 控制檯、網絡情況監視器、cookie 查看於一體,是開發 JavaScript、CSS、HTML和 Ajax 的得力助手。

與FireBug配對使用的是FirePath,當經過 FireBug 的鼠標箭頭選擇一個頁面元素後,FirePath 輸入框將給出 XPath的表達式,快速的幫咱們定位。

JAVA--->根據本身使用的開發語言進行選擇

Eclipse--->腳本標記IDE工具,如今流行的是intellij idea

Selenium jar包--->推薦版本:2.53.0

Ant--->構建工具(或者使用maven)

Jenkins--->持續集成工具

最後兩個工具通常使用在敏捷開發的項目中,須要持續集成的自動化測試,暫時用不到。

相關文章
相關標籤/搜索