selenium+python自動(dòng)化測試之環(huán)境搭建
最近由于公司有一個(gè)向谷歌網(wǎng)站上傳文件的需求,需要進(jìn)行web的自動(dòng)化測試,選擇了selenium這個(gè)自動(dòng)化測試框架,以前沒有接觸過這門技術(shù),所以研究了一下,使用python來實(shí)現(xiàn)自動(dòng)化腳本,從環(huán)境搭建到實(shí)現(xiàn)腳本運(yùn)行。
selenium是一個(gè)用于Web應(yīng)用程序測試的工具。Selenium測試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。支持自動(dòng)錄制動(dòng)作和自動(dòng)生成 .Net、Java、Python等不同語言的測試腳本。
環(huán)境搭建步驟:
1、首先要下載Python,下載地址:https://www.python.org/downloads/,可以選擇Python2.7或者Python3.x版本,我這里選擇的是Python3.6的版本。下載的是一個(gè)exe安裝文件,下載完直接安裝即可,我的安裝目錄是C:\Python36,安裝好以后將Python安裝目錄配置到環(huán)境變量中,然后在cmd中運(yùn)行python命令,如果出現(xiàn)以下界面就證明安裝成功了
2、下載selenium,可以選擇使用Python的pip命令和下載安裝包的方式
使用pip命令安裝,要保證安裝的Python中已經(jīng)安裝了pip工具,到Python目錄下的Scripts目錄中查看是否存在pip.exe文件,如果沒有的話,首先要下載pip安裝,下載路徑 https://pypi.python.org/pypi/pip/,下載后是一個(gè)壓縮包,將文件解壓到C:\Python36中,進(jìn)入到pip目錄,運(yùn)行python setup.py install命令完成pip安裝
使用pip安裝selenium,在cmd中運(yùn)行pip install selenium,安裝完成后會出現(xiàn)如下提示,selenium就安裝成功了
也可以選擇下載selenium安裝包,下載路徑 https://pypi.python.org/pypi/selenium,將壓縮包解壓到C:\Python36下,進(jìn)入selenium目錄,運(yùn)行python setup.py install,安裝完成后如下圖所示
這樣,運(yùn)行自動(dòng)化的環(huán)境就已經(jīng)算搭建完成了,可以來編寫自動(dòng)化腳本了,可以選擇使用Java或Python語言來實(shí)現(xiàn)自動(dòng)化測試腳本的編寫,本博客采用python來編寫腳本
新建文件selenium_test.py,右鍵選擇使用Edit with IDLE,在python安裝完成后,都會自帶一個(gè)IDLE的編輯器,可以直接在IDLE編輯器中編寫測試腳本,輸入以下內(nèi)容
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") print(driver.title) driver.find_element_by_id("kw").send_keys("selenium") driver.find_element_by_id("su").click() time.sleep(3) driver.close()
webdriver是一個(gè)Web應(yīng)用程序測試自動(dòng)化工具,用來驗(yàn)證程序是否如預(yù)期的那樣執(zhí)行。大致解釋一下上述腳本中的測試代碼
webdriver.Chrome():創(chuàng)建一個(gè)Chrome瀏覽器的webdriver實(shí)例
driver.get(“http://www.baidu.com“):打開”http://www.baidu.com“頁面
driver.find_element_by_id(“kw”).send_keys(“selenium”):找到id為“kw”的元素,在這個(gè)頁面上為百度首頁的搜索框,在其中輸入“selenium”
driver.find_element_by_id(“su”).click():找到id為“su”的元素并點(diǎn)擊,在這個(gè)頁面上為百度首頁的“百度一下”按鈕
driver.close():退出瀏覽器
運(yùn)行測試腳本,在命令行中運(yùn)行python 腳本路徑或者直接F5運(yùn)行腳本。運(yùn)行后沒有啟動(dòng)瀏覽器,報(bào)錯(cuò)信息:
Traceback (most recent call last): File "C:\Python36-32\selenium_test.py", line 4, in <module> driver = webdriver.Chrome() File "C:\Python27\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 62, in __init__ self.service.start() File "C:\Python27\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start os.path.basename(self.path), self.start_error_message) WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
這里用的是Chrome瀏覽器,需要下載Chrome驅(qū)動(dòng),這里提供一個(gè)ChromeDriver的下載地址:http://npm.taobao.org/mirrors/chromedriver,是官網(wǎng)的鏡像下載地址,下載后將ChromeDriver.exe放到Chrome瀏覽器的目錄下:C:\Google\Chrome\Application,并將目錄配置到環(huán)境變量中,這樣就可以找到驅(qū)動(dòng)了
再次運(yùn)行腳本,就可以運(yùn)行了,會自動(dòng)運(yùn)行瀏覽器,并打開百度首頁,搜索selenium關(guān)鍵字,然后關(guān)閉瀏覽器
也可以使用其他瀏覽器來運(yùn)行測試腳本,只要修改腳本的第一句代碼就可以了
driver = webdriver.Firefox() //使用Firefox瀏覽器 //driver = webdriver.Ie() //使用IE瀏覽器
在使用selenium3運(yùn)行Firefox瀏覽器時(shí),可能會報(bào)下面的錯(cuò)誤:
Traceback (most recent call last): File "C:\Python36-32\selenium_test.py", line 4, in <module> driver = webdriver.Firefox() File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 145, in __init__ self.service.start() File "C:\Python27\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start os.path.basename(self.path), self.start_error_message) WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
這是因?yàn)樵贔irefox高版本中需要使用 geckodriver 來驅(qū)動(dòng),不再使用Selenium自帶的Firefox webdriver。
geckodriver下載地址:https://github.com/mozilla/geckodriver/releases,下載后將geckodriver.exe放到Firefox的安裝目錄下,并將目錄配置到環(huán)境變量中,就可以在Firefox中運(yùn)行腳本
在IE瀏覽器中運(yùn)行和Chrome瀏覽器是一樣的,也需要下載IE驅(qū)動(dòng),然后將驅(qū)動(dòng)所在的路徑配置到環(huán)境變量中
這樣,使用selenium+python運(yùn)行web自動(dòng)化測試的環(huán)境就已經(jīng)全部搭建完成了
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python語言中的Selenium環(huán)境搭建
- Python+Selenium自動(dòng)化環(huán)境搭建與操作基礎(chǔ)詳解
- Selenium+Python自動(dòng)化腳本環(huán)境搭建的全過程
- selenium3.0+python之環(huán)境搭建的方法步驟
- Python selenium環(huán)境搭建實(shí)現(xiàn)過程解析
- Python+Selenium實(shí)現(xiàn)自動(dòng)化的環(huán)境搭建的步驟(圖文)
- selenium+python自動(dòng)化測試環(huán)境搭建步驟
- selenium3+python3環(huán)境搭建教程圖解
- Python + selenium自動(dòng)化環(huán)境搭建的完整步驟
- python+selenium開發(fā)環(huán)境搭建圖文教程
- 搭建?Selenium+Python開發(fā)環(huán)境詳細(xì)步驟
相關(guān)文章
Python機(jī)器學(xué)習(xí)NLP自然語言處理Word2vec電影影評建模
本文是Python機(jī)器學(xué)習(xí)NLP自然語言處理系列文章,帶大家開啟一段學(xué)習(xí)自然語言處理 (NLP) 的旅程. 本篇文章主要學(xué)習(xí)NLP自然語言處理基本操作Word2vec電影影評建模2021-09-09Python 比較兩個(gè) CSV 文件的三種方法并打印出差異
這篇文章主要介紹了Python 比較兩個(gè) CSV 文件并打印出差異,本文將討論比較兩個(gè) CSV 文件的各種方法,我們將包括執(zhí)行此操作的最“Pythonic”方式和可幫助簡化此任務(wù)的外部 Python 模塊,需要的朋友可以參考下2023-06-06python numpy生成等差數(shù)列、等比數(shù)列的實(shí)例
今天小編就為大家分享一篇python numpy生成等差數(shù)列、等比數(shù)列的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python高并發(fā)解決方案實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Python高并發(fā)解決方案實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07淺析python,PyCharm,Anaconda三者之間的關(guān)系
Python是一種跨平臺的計(jì)算機(jī)程序設(shè)計(jì)語言,簡單來說,python就是類似于C,Java,C++等,一種編程語言。這篇文章主要介紹了淺析python,PyCharm,Anaconda三者之間的關(guān)系,需要的朋友可以參考下2019-11-11Python利用matplotlib實(shí)現(xiàn)餅圖繪制
Pyplot作為Matplotlib的子庫,提供了和MATLAB差不多的繪圖API。因此Pyplot作為常用的繪圖模塊,能很方便讓用戶繪制2D圖表。本文將為大家介紹如何利用Matplotlib繪制餅圖,感興趣的小伙伴可以了解一下2021-12-12Python隨機(jī)生成手機(jī)號、數(shù)字的方法詳解
這篇文章主要介紹了Python隨機(jī)生成手機(jī)號、數(shù)字的方法,結(jié)合完整實(shí)例形式分析了Python編程生成隨機(jī)手機(jī)號與數(shù)字的實(shí)現(xiàn)方法及相關(guān)函數(shù)用法,需要的朋友可以參考下2017-07-07