一個(gè)做測(cè)試的居然讓我教她怎么做自動(dòng)化測(cè)試病附,真是反了……行吧问窃,正好懂一些 Selenium,今天就來(lái)跟大家一起了解下 Python 如何使用 Selenium 進(jìn)行自動(dòng)化測(cè)試完沪。
簡(jiǎn)單介紹
Selenium 大家應(yīng)該都很熟悉了吧域庇,簡(jiǎn)單說(shuō)它就是個(gè)基于瀏覽器的 Web 自動(dòng)化測(cè)試工具,基本上是自動(dòng)化測(cè)試人員首選工具覆积。因?yàn)橄啾绕渌ぞ咛螅泻芏嗟膬?yōu)勢(shì):
支持多種語(yǔ)言,比如 Python宽档、Java尉姨、C或C#、ruby 等都支持吗冤;
支持多種瀏覽器, 比如 IE又厉、FireFox、Safari椎瘟、Opera覆致、Chrome 這些主流瀏覽器基本都支持;
支持多種操作系統(tǒng)肺蔚,比如 Windows煌妈、Mac、Linux 這個(gè)款主流操作系統(tǒng)。
其實(shí)單就上面這些優(yōu)勢(shì)就足以證明它的強(qiáng)大了,再加上它還支持分布式部署自動(dòng)化測(cè)試程序,在多臺(tái)不同的機(jī)器上同時(shí)執(zhí)行纱注。
是不是感覺(jué)很厲害?然而這么強(qiáng)大的工具它居然還是免費(fèi)的鉴扫,并且代碼已經(jīng)開(kāi)源,這簡(jiǎn)直不敢想象澈缺。
說(shuō)的這么厲害坪创,那它要如何使用呢?
環(huán)境安裝
首先你得先裝好了 Python姐赡,然后通過(guò) pip install selenium 命令進(jìn)行安裝就可以了(參見(jiàn) https://pypi.org/project/selenium/)莱预。
安裝完 selenium 后,還需要再下載 webdriver 项滑,不同的瀏覽器需要下載不同的驅(qū)動(dòng)依沮,以下是常見(jiàn)瀏覽器驅(qū)動(dòng)的下載地址:
瀏覽器下載地址Chromehttps://sites.google.com/a/chromium.org/chromedriver/downloadsEdgehttps://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/Firefoxhttps://github.com/mozilla/geckodriver/releasesSafarihttps://webkit.org/blog/6900/webdriver-support-in-safari-10/
我平時(shí)都是用 Chrome 瀏覽器,所以我下載了 chromedriver 枪狂,但有一點(diǎn)需要注意危喉,你下載的 chromedriver 版本要和你安裝的瀏覽器版本一致,不然使用中可能會(huì)出現(xiàn)各種問(wèn)題州疾。
簡(jiǎn)單開(kāi)始
好了辜限,現(xiàn)在我們就從最最簡(jiǎn)單的啟動(dòng)瀏覽器,然后打開(kāi)一個(gè)網(wǎng)頁(yè)開(kāi)始严蓖。
Chrome 瀏覽器
// 導(dǎo)入 webdriver
from selenium import webdriver
// executable_path 用于指定driver存放路徑
browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver')
// 打開(kāi)百度頁(yè)面
browser.get('https://wwww.baidu.com/')
寫(xiě)好后保存為 test1.py Python 文件薄嫡,然后執(zhí)行命令 python test1.py,然后就可以看到如下效果:
程序通過(guò) selenium 調(diào)用 chromedriver 驅(qū)動(dòng) Chrome 瀏覽器啟動(dòng)颗胡,并讓瀏覽器打開(kāi)百度的首頁(yè)毫深,大概就是這么個(gè)過(guò)程。
除了使用 Chrome 瀏覽器毒姨,我們也可以使用其他的哑蔫,比如 Firefox、EDGE 等弧呐。
Firefox 瀏覽器
// 導(dǎo)入 webdriver
from selenium import webdriver
// executable_path 用于指定driver存放路徑
browser = webdriver.Firefox(executable_path='/Users/xx/python/firefoxdriver')
// 打開(kāi)百度頁(yè)面
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')
// 打開(kāi)百度頁(yè)面
browser.get('https://wwww.baidu.com/')
好了鸳址,通過(guò)對(duì)比上面代碼相信你也能看出來(lái),其實(shí)用哪個(gè)瀏覽器其實(shí)區(qū)別都不是很大泉懦,這里就不再一一截圖了,接下來(lái)我就使用 Chrome 來(lái)介紹和演示效果了疹瘦。
簡(jiǎn)單使用
當(dāng)然啟動(dòng)瀏覽器崩哩,并打開(kāi)頁(yè)面我們只是走出了第一步,也就是寫(xiě)了個(gè) Hello World,下面我們?cè)俾榻B如何使用邓嘹,再來(lái)看個(gè)簡(jiǎn)單例子:
// 導(dǎo)入 webdriver
from selenium import webdriver
// executable_path 用于指定driver存放路徑
browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver')
// 打開(kāi)百度頁(yè)面
browser.get('https://wwww.baidu.com/')
// 在搜索框內(nèi)輸入 `python selenium` 并點(diǎn)搜索返回結(jié)果
browser.find_element_by_id("kw").send_keys("python selenium")
好了酣栈,我們?cè)俦4嫦氯缓髨?zhí)行命令 python test1.py,然后看下效果:
沒(méi)錯(cuò)汹押,這次是打開(kāi)百度首頁(yè)后矿筝,又在搜索框輸入 python selenium 字符串,并且點(diǎn)擊 百度一下 按鈕搜索出了結(jié)果棚贾。
但它是怎么獲取到搜索框窖维,這里我們用的是 find_element_by_id() 方法,也就是通過(guò) HTML 標(biāo)簽元素的 id 找到了這個(gè)輸入框妙痹。
那除了通過(guò)這個(gè)方法铸史,還有別的方法能找到搜索框嗎?
總結(jié)
好了怯伊,今天我們簡(jiǎn)單介紹了下 selenium 是什么琳轿,以及在 Python 中如何安裝配置使用 selenium。如果你也對(duì)這個(gè)工具感興趣耿芹,可以繼續(xù)關(guān)注了解更多崭篡。
技能提升
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注吧秕,禮尚往來(lái)總是要有的琉闪,雖然不是什么很值錢(qián)的東西,如果你用得到的話(huà)可以直接拿走
這些資料寇甸,對(duì)于做【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù)塘偎,這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你拿霉!凡事要趁早吟秩,特別是技術(shù)行業(yè),一定要提升技術(shù)功底绽淘。希望對(duì)大家有所幫助…….
關(guān)注我的微信公眾號(hào):【程序員小濠】即可獲取這份資料了涵防!
如果你不想再體驗(yàn)一次自學(xué)時(shí)找不到資料,沒(méi)人解答問(wèn)題沪铭,堅(jiān)持幾天便放棄的感受的話(huà)壮池,可以加入我們的群:779450660 大家一起討論交流,里面也有各種軟件測(cè)試資料和技術(shù)交流杀怠。
如果對(duì)你有幫助的話(huà)椰憋,點(diǎn)個(gè)贊收個(gè)藏,給作者一個(gè)鼓勵(lì)赔退。也方便你下次能夠快速查找橙依。