本文主要演示如何在Ubuntu上搭建Watir-Webdriver與Cucumber環境,用於自動化測試。html
由於個人工做機是Windows,因此採用虛擬機的方式使用Ubuntu。web
1. 首先安裝虛擬機軟件,能夠使用VMware workstation、VirtualBox等虛擬機軟件。chrome
2. 在虛擬機中安裝Ubuntu,我使用了Ubuntu 13.10 32位.json
注意:Ubuntu 32位與64位對於咱們的環境搭建沒有區別,由於個人虛擬機內存爲1G,因此使用了Ubuntu 32位;若是你的虛擬機內存大於2G,能夠使用Ubuntu 64位,此時須要注意在電腦的BIOS中開啓硬件虛擬化選項。ubuntu
安裝完成後,須要設置系統的Terminal選型。api
打開一個GNOME Terminal,而後去到 編輯 --》 配置文件首選項 --》 標題和命令,勾選「已登陸Shell方式運行命令"。具體能夠參見: https://rvm.io/integration/gnome-terminal
瀏覽器
Ubuntu上的Chrome須要從Chrome官網下載安裝文件,而後雙擊運行安裝便可。ruby
爲了Webdriver正常使用Chrome,須要安裝Chrome Webdriver。bash
能夠從http://chromedriver.storage.googleapis.com/index.html下載對應版本的chrome driver。websocket
下載完成後,解壓文件,並將文件移動到指定位置,並賦予讀取執行權限。
例如個人chromedriver放在Downloads目錄下,將chromedriver文件放到/usr/bin目錄, 並賦予讀和執行的權限。
sudo cp Downloads/chromedriver /usr/bin sudo chmod +x /usr/bin/chromedriver
在Linux上推薦使用rvm進行ruby的版本管理和安裝。
(1)在Linux Shell下執行如下命令安裝rvm
\curl -L https://get.rvm.io | bash -s stable --auto-dotfiles
(2)驗證安裝
若是安裝和配置成功,每次打開一個新的Shell會話,rvm都會被加載。能夠打開一個新的Terminal,執行如下命令進行測試。
type rvm | head -n 1
該命令的輸出應該是
rvm is a function
若是你的系統是中文,上述命令的輸出也是中文的.
(3) 檢查依賴項
打開一個Terminal,執行命令檢查依賴項.
rvm requirements
(4) 修改bash_profile文件
在安裝rvm的時候,安裝完成後會有如下提示:
Upgrade Notes: * WARNING: You're using ~/.profile, make sure you load it, add the following line to ~/.bash_profile if it exists otherwise add it to ~/.bash_login: source ~/.profile * No new notes to display.
因此須要打開 ~/.bash_profile文件,在文件的最後添加以下行:
if [ -f "$HOME/.profile" ] ; then source "$HOME/.profile" fi
打開Terminal,執行如下命令安裝ruby。
rvm install 1.9.3 rvm gemset create autotest rvm use 1.9.3@autotest --default
解釋:
(1)watir-webdriver網站描述最合適的ruby版本是1.9.3,因此咱們安裝的是1.9.3.
(2)建立一個單獨的gemset是爲了保證環境的互不干擾,能夠將自動化測試所須要的gem都安裝到autotest這個gemset裏面。
(3)設置默認的ruby使用環境。
watir-webdriver來負責跟瀏覽器進行交互。
打開一個Terminal,執行如下命令安裝:
gem install watir-webdriver --no-ri --no-rdoc
如下是個人屏幕輸出,僅供參考:
andy@ubuntu:~$ gem install watir-webdriver --no-ri --no-rdoc Fetching: rubyzip-0.9.9.gem (100%) Fetching: ffi-1.8.1.gem (100%) Building native extensions. This could take a while... Fetching: childprocess-0.3.9.gem (100%) Fetching: websocket-1.0.7.gem (100%) Fetching: selenium-webdriver-2.33.0.gem (100%) Fetching: watir-webdriver-0.6.4.gem (100%) Successfully installed rubyzip-0.9.9 Successfully installed ffi-1.8.1 Successfully installed childprocess-0.3.9 Successfully installed websocket-1.0.7 Successfully installed selenium-webdriver-2.33.0 Successfully installed watir-webdriver-0.6.4 6 gems installed
Cucumber是行爲驅動開發的一種工具,能夠很好的與多種語言集成.自動化測試使用cucumber中的feature文件描述軟件行爲, 使用watir-webdriver執行瀏覽器操做.
這裏一樣使用gem安裝, 打開一個Terminal,執行如下命令安裝:
gem install cucumber --no-ri --no-rdoc
如下是個人屏幕輸出,僅供參考:
andy@ubuntu:~$ gem install cucumber --no-ri --no-rdoc Fetching: builder-3.2.2.gem (100%) Fetching: diff-lcs-1.2.4.gem (100%) Fetching: multi_json-1.7.6.gem (100%) Fetching: gherkin-2.12.0.gem (100%) Building native extensions. This could take a while... Fetching: cucumber-1.3.2.gem (100%) Successfully installed builder-3.2.2 Successfully installed diff-lcs-1.2.4 Successfully installed multi_json-1.7.6 Successfully installed gherkin-2.12.0 Successfully installed cucumber-1.3.2