selenium + python自動化測試環境搭建
selenium 是一個web的自動化測試工具,不少學習功能自動化的同學開始首選selenium ,相因為它相比QTP有諸多有點:
* 免費,也不用再為破解QTP而大傷腦筋
* 小巧,對于不同的語言它只是一個包而已,而QTP需要下載安裝1個多G 的程序。
* 這也是最重要的一點,不管你以前更熟悉C、 java、ruby、python、或都是C# ,你都可以通過selenium完成自動化測試,而QTP只支持VBS
* 支持多平臺:windows、linux、MAC ,支持多瀏覽器:ie、ff、safari、opera、chrome
* 支持分布式測試用例的執行,可以把測試用例分布到不同的測試機器的執行,相當于分發機的功能。
關于selenium的基礎知識與java平臺的結合,我之前寫過一個《菜鳥學習自動化測試》系列,最近學python,所以想嘗試一下selenium的在python平臺如何搭建;還好這方法的文章很容易,在此將搭建步驟整理分享。
搭建平臺windows
準備工具如下:
-------------------------------------------------------------
下載python
下載setuptools 【python的基礎包工具】
# http://pypi.python.org/pypi/setuptools
https://pypi.python.org/packages/2.7/s/setuptools/
下載pip 【python的安裝包管理工具】
https://pypi.python.org/pypi/pip
-------------------------------------------------------------
因為版本都在更新,pyhton選擇2.7.xx ,setuptools 選擇你平臺對應的版本,pip 不要擔心tar.gz 在windows下一樣可用。
window安裝步驟:
1、python的安裝 ,這個不解釋,exe文件運行安裝即可,既然你選擇python,相信你是熟悉python的,我安裝目錄C:\Python27
2、setuptools 的安裝也非常簡單,同樣是exe文件,默認會找到python的安裝路徑,將安裝到C:\Python27\Lib\site-packages 目錄下。
通過上面提供的setuptools的連接,拖動頁面到底部找到,setuptools-1.3.2.tar.gz 文件(版本隨著時間版本會有更新),對文件進行解壓,找到ez_install.py文件,進入windows命令提示下執行ez_install.py:
C:\setuptools-1.3>python ez_install.py 沒有報錯表示安裝成功。
(如果提示python不是內部或外部命令!別急,去配置一下環境變量吧)
修改我的電腦->屬性->高級->環境變量->系統變量中的PATH為: 變量名:PATH 變量值:;C:\Python27 |
3、安裝pip ,我默認解壓在了C:\pip-1.3.1 目錄下
4、打開命令提示符(開始---cmd回車)進入C:\pip-1.3.1目錄下輸入:
C:\pip-1.3.1 > python setup.py install
5、再切換到C:\Python27\Scripts 目錄下輸入:
C:\Python27\Scripts > easy_install pip
6、安裝selenium,(下載地址: https://pypi.python.org/pypi/selenium )
如果是聯網狀態的話,可以直接在C:\Python27\Scripts 下輸入命令安裝:
C:\Python27\Scripts > pip install -U selenium
如果沒聯網(這個一般不太可能),下載selenium 2.33.0 (目前的最新版本)
并解壓把整個目錄放到C:\Python27\Lib\site-packages 目錄下。
=======如果你不分析wedriver 原理的話,下面兩步可以省略=============
7、下載并安裝(http://www.java.com/zh_CN/download/chrome.jsp?locale=zh_CN)什么?你沒整過java,參考其它文檔吧!這不難。
8、 下載selenium 的服務端(https://code.google.com/p/selenium/)在頁面的左側列表中找到
selenium-server-standalone-XXX.jar
對!就是這個東西,把它下載下來并解壓;
在selenium-server-standalone-xxx.jar目錄下使用命令 java -jar selenium-server-standalone-xxx.jar啟動(如果打不開,查看是否端口被占 用:netstat -aon|findstr 4444)。
===============================================
ubuntu 下安裝方式:
1、安裝:setuptools
root@fnngj-H24X:~# apt-get install python-setuptools
2、安裝pip
root@fnngj-H24X:/home/fnngj/python# tar -zxvf pip-1.4.1.tar.gz
root@fnngj-H24X:/home/fnngj/python# cd pip-1.4.1/
root@fnngj-H24X:/home/fnngj/python# python setup.py install
3、安裝selenium
root@fnngj-H24X:/home/fnngj/python/pip-1.4.1# pip install -U selenium
恭喜~! 你前期工作已經做了,上面的步驟確實有些繁瑣,但是并不難,不過我們已經完成成了,下面體驗一下成果吧! 拿python網站上的例子:
from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys import time browser = webdriver.Firefox() # Get local session of firefox browser.get("http://www.yahoo.com") # Load page assert "Yahoo!" in browser.title elem = browser.find_element_by_name("p") # Find the query box elem.send_keys("seleniumhq" + Keys.RETURN) time.sleep(0.2) # Let the page load, will be added to the API try: browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]") except NoSuchElementException: assert 0, "can't find seleniumhq" browser.close()
(運行過程中如果出現錯誤:
WebDriverException: Message: u'Unexpected error launching Internet Explorer.
Protected Mode settings are not the same for all zones. Enable Protected Mo
de must be set to the same value (enabled or disabled) for all zones.'
更改IE的internet選項->安全,將Internet/本地Internet/受信任的站定/受限制的站點中的啟用保護模式全部去 掉勾,或者全部勾上。)
-----------------------------------------
selenium + python的一份不錯文檔
http://selenium.googlecode.com/git/docs/api/py/index.html
===========================如果想通過其它瀏覽器(IE Chrome)運行腳本=================================
安裝Chrome driver
chrome driver的下載地址在這里。
1. 下載解壓,你會得到一個chromedriver.exe文件(我點開,運行提示started no prot 9515 ,這是干嘛的?端口9515被占了?中間折騰了半天),后來才知道需要把這家伙放到chrome的安裝目錄下...\Google\Chrome\Application\ ,然后設置path環境變量,把chrome的安裝目錄(我的:C:\Program Files\Google\Chrome\Application),然后再調用運行:
# coding = utf-8 from selenium import webdriver driver = webdriver.Chrome() driver.get('http://radar.kuaibo.com') print driver.title driver.quit()
又報了個錯:
Chrome version must be >= 27.0.1453.0\n (Driver info: chromedriver=2.0,platform=Windows NT 5.1 SP3 x86)
說我chrome的版本沒有大于27.0.1453.0 ,這個好辦,更新到最新版本即可。
安裝IE driver
在新版本的webdriver中,只有安裝了ie driver使用ie進行測試工作。
ie driver的下載地址在這里,記得根據自己機器的操作系統版本來下載相應的driver。
暫時還沒嘗試,應該和chrome的安裝方式類似。
記得配置IE的保護模式
如果要使用webdriver啟動IE的話,那么就需要配置IE的保護模式了。
把IE里的保護模式都選上或都勾掉就可以了。
乙醇的安裝方式:
http://easonhan007.github.io/python/2013/05/07/setup-env/
posted on 2014-02-25 12:53 順其自然EVO 閱讀(196) 評論(0) 編輯 收藏 所屬分類: python