反了!居然讓我教她自動化測試!
本文轉(zhuǎn)載自微信公眾號「Python技術(shù)」,作者派森醬 。轉(zhuǎn)載本文請聯(lián)系Python技術(shù)公眾號。
一個做測試的居然讓我教她怎么做自動化測試,真是反了……行吧,正好懂一些 Selenium,今天就來跟大家一起了解下 Python 如何使用 Selenium 進(jìn)行自動化測試。
簡單介紹
Selenium 大家應(yīng)該都很熟悉了吧,簡單說它就是個基于瀏覽器的 Web 自動化測試工具,基本上是自動化測試人員首選工具。因?yàn)橄啾绕渌ぞ?,它有很多的?yōu)勢:
- 支持多種語言,比如 Python、Java、C或C#、ruby 等都支持;
- 支持多種瀏覽器, 比如 IE、FireFox、Safari、Opera、Chrome 這些主流瀏覽器基本都支持;
- 支持多種操作系統(tǒng),比如 Windows、Mac、Linux 這個款主流操作系統(tǒng)。
其實(shí)單就上面這些優(yōu)勢就足以證明它的強(qiáng)大了,再加上它還支持分布式部署自動化測試程序,在多臺不同的機(jī)器上同時執(zhí)行。
是不是感覺很厲害?然而這么強(qiáng)大的工具它居然還是免費(fèi)的,并且代碼已經(jīng)開源,這簡直不敢想象。
說的這么厲害,那它要如何使用呢?
環(huán)境安裝
首先你得先裝好了 Python,然后通過 pip install selenium 命令進(jìn)行安裝就可以了(參見 https://pypi.org/project/selenium/)。
安裝完 selenium 后,還需要再下載 webdriver ,不同的瀏覽器需要下載不同的驅(qū)動,以下是常見瀏覽器驅(qū)動的下載地址:
| 瀏覽器 | 下載地址 |
|---|---|
| Chrome | https://sites.google.com/a/chromium.org/chromedriver/downloads |
| Edge | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ |
| Firefox | https://github.com/mozilla/geckodriver/releases |
| Safari | https://webkit.org/blog/6900/webdriver-support-in-safari-10/ |
我平時都是用 Chrome 瀏覽器,所以我下載了 chromedriver ,但有一點(diǎn)需要注意,你下載的 chromedriver 版本要和你安裝的瀏覽器版本一致,不然使用中可能會出現(xiàn)各種問題。
簡單開始
好了,現(xiàn)在我們就從最最簡單的啟動瀏覽器,然后打開一個網(wǎng)頁開始。
- Chrome 瀏覽器
- // 導(dǎo)入 webdriver
- from selenium import webdriver
- // executable_path 用于指定driver存放路徑
- browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver')
- // 打開百度頁面
- browser.get('https://wwww.baidu.com/')
寫好后保存為 test1.py Python 文件,然后執(zhí)行命令 python test1.py,然后就可以看到如下效果:
程序通過 selenium 調(diào)用 chromedriver 驅(qū)動 Chrome 瀏覽器啟動,并讓瀏覽器打開百度的首頁,大概就是這么個過程。
除了使用 Chrome 瀏覽器,我們也可以使用其他的,比如 Firefox、EDGE 等。
- Firefox 瀏覽器
- // 導(dǎo)入 webdriver
- from selenium import webdriver
- // executable_path 用于指定driver存放路徑
- browser = webdriver.Firefox(executable_path='/Users/xx/python/firefoxdriver')
- // 打開百度頁面
- browser.get('https://wwww.baidu.com/')
- EDGE 瀏覽器
- // 導(dǎo)入 webdriver
- from selenium import webdriver
- // executable_path 用于指定driver存放路徑
- browser = webdriver.Edge(executable_path='/Users/xx/python/edgedriver')
- // 打開百度頁面
- browser.get('https://wwww.baidu.com/')
好了,通過對比上面代碼相信你也能看出來,其實(shí)用哪個瀏覽器其實(shí)區(qū)別都不是很大,這里就不再一一截圖了,接下來我就使用 Chrome 來介紹和演示效果了。
簡單使用
當(dāng)然啟動瀏覽器,并打開頁面我們只是走出了第一步,也就是寫了個 Hello World,下面我們再慢慢介紹如何使用,再來看個簡單例子:
- // 導(dǎo)入 webdriver
- from selenium import webdriver
- // executable_path 用于指定driver存放路徑
- browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver')
- // 打開百度頁面
- browser.get('https://wwww.baidu.com/')
- // 在搜索框內(nèi)輸入 `python selenium` 并點(diǎn)搜索返回結(jié)果
- browser.find_element_by_id("kw").send_keys("python selenium")
好了,我們再保存下然后執(zhí)行命令 python test1.py,然后看下效果:
沒錯,這次是打開百度首頁后,又在搜索框輸入 python selenium 字符串,并且點(diǎn)擊 百度一下 按鈕搜索出了結(jié)果。
但它是怎么獲取到搜索框,這里我們用的是 find_element_by_id() 方法,也就是通過 HTML 標(biāo)簽元素的 id 找到了這個輸入框。
那除了通過這個方法,還有別的方法能找到搜索框嗎?
總結(jié)
好了,今天我們簡單介紹了下 selenium 是什么,以及在 Python 中如何安裝配置使用 selenium。如果你也對這個工具感興趣,可以繼續(xù)關(guān)注了解更多。OK,今天就聊這些,如果你喜歡記得點(diǎn) 在看。



























