selenium 是一個(gè)web的自動(dòng)化測(cè)試工具,不少學(xué)習(xí)功能自動(dòng)化的同學(xué)開始首選selenium ,相因?yàn)樗啾萉TP有諸多有點(diǎn):
* 免費(fèi),也不用再為破解QTP而大傷腦筋
* 小巧,對(duì)于不同的語言它只是一個(gè)包而已,而QTP需要下載安裝1個(gè)多G 的程序。
* 這也是最重要的一點(diǎn),不管你以前更熟悉C、 java、ruby、python、或都是C# ,你都可以通過selenium完成自動(dòng)化測(cè)試,而QTP只支持VBS
* 支持多平臺(tái):windows、linux、MAC ,支持多瀏覽器:ie、ff、safari、opera、chrome
* 支持分布式測(cè)試用例的執(zhí)行,可以把測(cè)試用例分布到不同的測(cè)試機(jī)器的執(zhí)行,相當(dāng)于分發(fā)機(jī)的功能。
關(guān)于selenium的基礎(chǔ)知識(shí)與java平臺(tái)的結(jié)合,我之前寫過一個(gè)《菜鳥學(xué)習(xí)自動(dòng)化測(cè)試》系列,最近學(xué)python,所以想嘗試一下selenium的在python平臺(tái)如何搭建;還好這方法的文章很容易,在此將搭建步驟整理分享。
搭建平臺(tái)windows
準(zhǔn)備工具如下:
-------------------------------------------------------------
下載python
http://python.org/getit/下載setuptools 【python的基礎(chǔ)包工具】
#
http://pypi.python.org/pypi/setuptoolshttps://pypi.python.org/packages/2.7/s/setuptools/下載pip 【python的安裝包管理工具】
https://pypi.python.org/pypi/pip-------------------------------------------------------------
因?yàn)榘姹径荚诟拢琾yhton選擇2.7.xx ,setuptools 選擇你平臺(tái)對(duì)應(yīng)的版本,pip 不要擔(dān)心tar.gz 在windows下一樣可用。
window安裝步驟:
1、python的安裝 ,這個(gè)不解釋,exe文件運(yùn)行安裝即可,既然你選擇python,相信你是熟悉python的,我安裝目錄C:\Python27
2、setuptools 的安裝也非常簡(jiǎn)單,同樣是exe文件,默認(rèn)會(huì)找到python的安裝路徑,將安裝到C:\Python27\Lib\site-packages 目錄下。
通過上面提供的setuptools的連接,拖動(dòng)頁面到底部找到,
setuptools-1.3.2.tar.gz 文件(版本隨著時(shí)間版本會(huì)有更新),對(duì)文件進(jìn)行解壓,找到ez_install.py文件,進(jìn)入windows命令提示下執(zhí)行ez_install.py:
C:\setuptools-1.3>python ez_install.py 沒有報(bào)錯(cuò)表示安裝成功。
(如果提示python不是內(nèi)部或外部命令!別急,去配置一下環(huán)境變量吧)
修改我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中的PATH為:
變量名:PATH
變量值:;C:\Python27
3、安裝pip ,我默認(rèn)解壓在了C:\pip-1.3.1 目錄下
4、打開命令提示符(開始---cmd回車)進(jìn)入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 )
如果是聯(lián)網(wǎng)狀態(tài)的話,可以直接在C:\Python27\Scripts 下輸入命令安裝:
C:\Python27\Scripts > pip install -U selenium
如果沒聯(lián)網(wǎng)(這個(gè)一般不太可能),下載selenium 2.33.0 (目前的最新版本)
并解壓把整個(gè)目錄放到C:\Python27\Lib\site-packages 目錄下。
=======如果你不分析wedriver 原理的話,下面兩步可以省略=============
7、下載并安裝(http://www.java.com/zh_CN/download/chrome.jsp?locale=zh_CN)什么?你沒整過java,參考其它文檔吧!這不難。
8、 下載selenium 的服務(wù)端(https://code.google.com/p/selenium/)在頁面的左側(cè)列表中找到
selenium-server-standalone-XXX.jar
對(duì)!就是這個(gè)東西,把它下載下來并解壓;
在selenium-server-standalone-xxx.jar目錄下使用命令 java -jar selenium-server-standalone-xxx.jar啟動(dòng)(如果打不開,查看是否端口被占 用: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
恭喜~! 你前期工作已經(jīng)做了,上面的步驟確實(shí)有些繁瑣,但是并不難,不過我們已經(jīng)完成成了,下面體驗(yàn)一下成果吧! 拿python網(wǎng)站上的例子:
from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.keys import Keysimport timebrowser = webdriver.Firefox() # Get local session of firefoxbrowser.get("http://www.yahoo.com") # Load pageassert "Yahoo!" in browser.titleelem = browser.find_element_by_name("p") # Find the query boxelem.send_keys("seleniumhq" + Keys.RETURN)time.sleep(0.2) # Let the page load, will be added to the APItry: browser.find_element_by_xpath("http://a[contains(@href,'http://seleniumhq.org')]")except NoSuchElementException: assert 0, "can't find seleniumhq"browser.close()
(運(yùn)行過程中如果出現(xiàn)錯(cuò)誤:
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選項(xiàng)->安全,將Internet/本地Internet/受信任的站定/受限制的站點(diǎn)中的啟用保護(hù)模式全部去 掉勾,或者全部勾上。)
-----------------------------------------
selenium + python的一份不錯(cuò)文檔
http://selenium.googlecode.com/git/docs/api/py/index.html===========================如果想通過其它瀏覽器(IE Chrome)運(yùn)行腳本=================================
安裝Chrome driver
chrome driver的下載地址在
這里。
1. 下載解壓,你會(huì)得到一個(gè)chromedriver.exe文件(我點(diǎn)開,運(yùn)行提示started no prot 9515 ,這是干嘛的?端口9515被占了?中間折騰了半天),后來才知道需要把這家伙放到chrome的安裝目錄下...\Google\Chrome\Application\ ,然后設(shè)置path環(huán)境變量,把chrome的安裝目錄(我的:C:\Program Files\Google\Chrome\Application),然后再調(diào)用運(yùn)行:
# coding = utf-8from selenium import webdriverdriver = webdriver.Chrome()driver.get('http://radar.kuaibo.com')print driver.titledriver.quit()
又報(bào)了個(gè)錯(cuò):
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 ,這個(gè)好辦,更新到最新版本即可。
安裝IE driver
在新版本的webdriver中,只有安裝了ie driver使用ie進(jìn)行測(cè)試工作。
ie driver的下載地址在
這里,記得根據(jù)自己機(jī)器的操作系統(tǒng)版本來下載相應(yīng)的driver。
暫時(shí)還沒嘗試,應(yīng)該和chrome的安裝方式類似。
記得配置IE的保護(hù)模式
如果要使用webdriver啟動(dòng)IE的話,那么就需要配置IE的保護(hù)模式了。
把IE里的保護(hù)模式都選上或都勾掉就可以了。
乙醇的安裝方式:
http://easonhan007.github.io/python/2013/05/07/setup-env/