Protractor安裝之前需要先安裝node.js,因為protractor是一個node.js程序。
Protractor對angularJs應用進行測試的時候,一般會和Selenium服務器配合使用。Selenium是ThoughtWorks公司開發的web自動化測試工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持多種瀏覽器(如IE、Chrome、Firefox、Safari等)。由於Selenium是java語言編寫,所以安裝Selenium之前需要安裝JDK。
Protractor的測試框架一般是使用Jasmine。Jasmine 是一款 JavaScript 測試框架,它不依賴於其他任何 JavaScript 組件。它有干凈清晰的語法,讓您可以很簡單的寫出測試代碼。
Protractor還對WebDriverJs進行了封裝。首先說一下WebDriver。WebDriver,又名Selenium 2 ,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾經是 Selenium 的競爭對手)。也就是說 WebDriver 是 Selenium 和 WebDriver 兩個項目的合並,即 WebDriver 兼容 Selenium,它既支持 Selenium API 也支持 WebDriver API。WebDriver引入了一個JSON wire protocol用於將不同的語言和瀏覽器控制器進行交流。WebDriver的一端是一個語言綁定,而另一端,是叫做Selenium server的服務器。二者之間的交流使用的就是JSON wire protocol。WebDriverJS就是一個簡單的對於JSON wire protocol的包裝,它同時暴露了高等級的函數接口來使我們的生活更加輕松。
下面開始介紹安裝步驟:
插入代碼:
npm install -g protractor
利用npm來安裝protractor。
執行完畢以后輸入代碼:
protractor --version
查看protractor是否安裝成功。確認成功安裝以后,執行代碼:
webdriver-manager update
來安裝webdriver-manager。
安裝完以后,就可以利用
webdriver-manager start
來啟動selenium服務器了。
注意事項:
安裝過程中可能會遇到以下幾個問題,下面我們來看一下。
1.安裝protractor時可能會出現
或者
再或者就是提示“庫已經損壞”或者“庫已經無法使用”等類似問題,解決辦法是找到User用戶下的.node-gyp文件
C:\Users\username\.node-gyp
將該文件刪除,然后重新執行就可以了。
2.安裝webdriver-manager的時候可能會出現
出現該問題的原因是,執行這些命令是在cmd命令提示框內進行的,而安裝webdriver-manager時下載的東西是需要翻牆的,但是在命令提示框內是沒有設置翻牆代理的,所以會出現這種連接錯誤。解決辦法有兩種:
a.在命令提示框內設置http代理。這個方法其實很簡單,只要設置一下http的http_proxy屬性值就可以了。
set http_proxy=http:localhost:8580
其中8580是翻牆的端口號。輸入這條命令后再重新安裝webdriver-manager就可以了。你不用擔心執行完了是否還需要再改回來,不用的,命令提示框重新啟動的時候就會恢復默認值了。
b.出現該問題是因為要下載的東西沒有下載下來,只要把下載目錄復制下來,然后粘貼在瀏覽器或者迅雷等下載工具上,就可以下載下來(前提是保證你已經翻牆成功),將下載下來的文件放在指定的目錄下就可以了。
目錄:
C:\Users\XXX\AppData\Roaming\npm\node_modules\protractor\selenium
可能有時候a方法沒有解決該問題,那么你就用b方法就可以了。
安裝成功以后就可以啟動selenium服務器了,然后就可以測試了。