最近也有很多人私下問(wèn)我,selenium學(xué)習(xí)難嗎,基礎(chǔ)入門的學(xué)習(xí)內(nèi)容很多是3以前的版本資料,對(duì)于有基礎(chǔ)的人來(lái)說(shuō),3到4的差別雖然有,但是不足以影響自己,但是對(duì)于沒(méi)有學(xué)過(guò)的人來(lái)說(shuō),通過(guò)資料再到自己寫的代碼,發(fā)現(xiàn)有些東西沒(méi)有,有些方法又不相同,導(dǎo)致腳本不能運(yùn)行,提醒我,看是否能花點(diǎn)時(shí)間,把selenium的內(nèi)容好好梳理一下,從基礎(chǔ)開(kāi)始,到能夠梳理出一個(gè)selenium的知識(shí)圖譜更好。
整個(gè)內(nèi)容可能不是一次能寫完的,所以我打算分多次來(lái)寫,如果各位看完后,有什么問(wèn)題也可以發(fā)信息給我,我給大家解答一下,寫這個(gè)也是為了方便在未來(lái)selenium還會(huì)有新的版本更新,以后也方便做個(gè)對(duì)比。
本次內(nèi)容從一下幾個(gè)方面來(lái)寫吧:
- selenium的作用
- selenium版本的介紹
- selenium工作原理
- selenium安裝
- 瀏覽器基本操作
同時(shí),我也為大家準(zhǔn)備了一份軟件測(cè)試視頻教程(含面試、接口、自動(dòng)化、性能測(cè)試等),就在下方,需要的可以直接去觀看,也可以直接點(diǎn)擊文末小卡片免費(fèi)領(lǐng)取資料文檔
軟件測(cè)試視頻教程觀看處:
字節(jié)大佬教你逼自己如何在15天內(nèi)掌握自動(dòng)化測(cè)試(接口自動(dòng)化/APP自動(dòng)化/Web自動(dòng)化/性能測(cè)試),內(nèi)含項(xiàng)目實(shí)戰(zhàn)
1、selenium的介紹
Selenium是Thought Works公司開(kāi)發(fā)的一套基于web應(yīng)用的自動(dòng)化測(cè)試工具,直接運(yùn)行在瀏覽器中,模擬用戶操作。它可以被用于單元測(cè)試、集成測(cè)試、回歸測(cè)試、系統(tǒng)測(cè)試、冒煙測(cè)試、驗(yàn)收測(cè)試,并且可以運(yùn)行在各種瀏覽器和操作系統(tǒng)上。
目前使用selenium的人群大概有兩大類吧,一類是軟件測(cè)試工程師,他們可以通過(guò)selenium來(lái)實(shí)現(xiàn)自動(dòng)化的測(cè)試,以提高回歸測(cè)試的效率,降低人員的執(zhí)行成本。第二類可能就是很多寫爬蟲的人,因?yàn)楝F(xiàn)在網(wǎng)頁(yè)端爬取數(shù)據(jù)的人有很多,服務(wù)端做了很多的反爬策略,及各種限制如動(dòng)態(tài)加載等,單獨(dú)的通過(guò)接口來(lái)爬取數(shù)據(jù)的難度和可行性有所降低,而selenium可以模擬人為的在頁(yè)面上執(zhí)行各種操作,那么各種反爬的手段可能對(duì)它來(lái)講也就沒(méi)有什么意義了,當(dāng)然也有人說(shuō),還有各種驗(yàn)證碼也會(huì)有影響,驗(yàn)證碼的問(wèn)題我們今天先不談,后面我看是否可以單獨(dú)出一篇對(duì)驗(yàn)證碼處理的文章。
2、selenium的版本介紹
selenium從發(fā)布到至今經(jīng)歷了1、2、3、4個(gè)版本,截止目前發(fā)布的最新版本是4.7版本,版本跨度最大的其實(shí)是1.0版本到2.0版本,1.0版本中包含了ide、Grid、core和rc四大部分,2.0在1.0基礎(chǔ)上加入了webdriver,webdriver提供了更為簡(jiǎn)單的編程接口,彌補(bǔ)了1.0中Selenium-RC的一些不足和限制,對(duì)外提供了更簡(jiǎn)潔的restfull的API接口。
selenium1.0的主要內(nèi)容:
- DE:可以通過(guò)IDE完成測(cè)試過(guò)程的錄制和回放。主要用來(lái)給初學(xué)者了解selenium,但不適合直接作為日常自動(dòng)化的測(cè)試。
- Grid:是selenium部署、測(cè)試及執(zhí)行(分布式測(cè)試用例執(zhí)行)。
- RC:selenium Remote Control,一個(gè)代理與控制器。
- Core:selenium的測(cè)試機(jī)制核心部分,包含測(cè)試用例集的執(zhí)行,斷言,由js代碼組成,支持夸平臺(tái)運(yùn)行。
selenium2.0 = selenium1.0 + webdriver
3、selenium工作原理
3.1、客戶端(selenium支持多種編程語(yǔ)言,所以客戶端的請(qǐng)求可以使用各種語(yǔ)言來(lái)調(diào)用接口),selenium 通過(guò)調(diào)用WeDriver類的start方法去啟動(dòng)瀏覽器驅(qū)動(dòng),創(chuàng)建服務(wù)的啟動(dòng)。
3.2、通過(guò)服務(wù)端返回的session id,在下一次請(qǐng)求時(shí),攜帶這個(gè)id,將客戶端要執(zhí)行的操作發(fā)送給服務(wù)端,服務(wù)端解析用戶發(fā)送請(qǐng)求中的操作,并將操作指令發(fā)送給瀏覽器去執(zhí)行。
3.3、瀏覽器執(zhí)行客戶端操作,并將操作的結(jié)果返回給服務(wù)端,服務(wù)端將執(zhí)行結(jié)果進(jìn)行封裝,并返回給客戶端。
客戶端在啟動(dòng)服務(wù)端時(shí),服務(wù)端會(huì)啟動(dòng)一個(gè)9515的端口用來(lái)與客戶端連接,客戶端調(diào)用selenium提供的方法,在由selenium將請(qǐng)求轉(zhuǎn)化為對(duì)應(yīng)的操作接口指令,根據(jù)操作指令調(diào)用對(duì)應(yīng)的API接口,通過(guò)API接口調(diào)用將用戶操作發(fā)送給瀏覽器端去執(zhí)行。
這部分的內(nèi)容需要在后續(xù)的過(guò)程中,解析代碼來(lái)理解他的原理和過(guò)程。
4、selenium安裝
安裝selenium環(huán)境,這里以python 3.8的為例,安裝完成python后,并且配置好python相關(guān)的環(huán)境變量,不懂的可以私信我。
需要安裝的有:
1、selenium
2、瀏覽器驅(qū)動(dòng)
3、瀏覽器
4.1 安裝selenium
如果python環(huán)境已經(jīng)安裝完成,可以使用pip來(lái)安裝selenium,在開(kāi)始菜單中,輸入cmd,打開(kāi)dos窗口,執(zhí)行下列命令
?4.2 安裝瀏覽器驅(qū)動(dòng)
安裝瀏覽器驅(qū)動(dòng),需要根據(jù)瀏覽器來(lái)決定,使用不同的瀏覽器,就需要選擇不同的瀏覽器驅(qū)動(dòng),瀏覽器驅(qū)動(dòng)也需要根據(jù)瀏覽器的版本來(lái)考慮,所以瀏覽器、瀏覽器版本要與瀏覽器驅(qū)動(dòng)及驅(qū)動(dòng)版本向?qū)?yīng),下面列出幾種常見(jiàn)瀏覽器的驅(qū)動(dòng)下載地址
1、Chrome(Google)瀏覽器:http://chromedriver.storage.googleapis.com/index.html
先確定自己瀏覽器的版本,在chrome瀏覽器中的幫助中,查看關(guān)于,上面會(huì)顯示瀏覽器版本,或者直接在瀏覽器url地址上輸入chrome://settings/help,下面這個(gè)是我瀏覽器的版本
根據(jù)版本號(hào),在驅(qū)動(dòng)下載頁(yè)面中,找到對(duì)應(yīng)的版本
因?yàn)槲沂莣indow的系統(tǒng),所以我選擇chromedriver_win32.zip,下載后,將里面的chromedriver.exe文件解壓出來(lái),其實(shí)放在哪無(wú)所謂,放的地方不同后面寫代碼時(shí)的處理會(huì)有所區(qū)別。一般建議放在path這個(gè)環(huán)境變量能訪問(wèn)到的位置,或者干脆放在python的安裝目錄下也行
2、Firefox(火狐)瀏覽器:Releases · mozilla/geckodriver · GitHub
采用同樣的方式下載對(duì)應(yīng)版本的geckodriver驅(qū)動(dòng),F(xiàn)irefox的版本和geckodriver的版本對(duì)應(yīng)關(guān)系如下,也可以直接去官網(wǎng)查看,
官網(wǎng)地址:Supported platforms — Firefox Source Docs documentation
3、Edge :Microsoft Edge WebDriver - Microsoft Edge Developer
首先也是要確定Edge的版本,然后根據(jù)版本到官網(wǎng)下載驅(qū)動(dòng)
4.3 安裝瀏覽器
這部分內(nèi)容就不再贅述,給為可以直接到官網(wǎng)下載安裝即可,這里給新手們提醒下,安裝過(guò)程中,最好不要修改安裝的路徑。
4.4 驗(yàn)證安裝結(jié)果
打開(kāi)pycharm,編寫如下代碼,如果可以打開(kāi)對(duì)應(yīng)的瀏覽器,并且跳轉(zhuǎn)到百度頁(yè)面,則說(shuō)明安裝成功。這里以Chrome瀏覽器為例
5、瀏覽器基本操作
上面的代碼中,已經(jīng)說(shuō)明了如何打開(kāi)瀏覽器,并且跳轉(zhuǎn)到指定的URL地址。下面說(shuō)明下對(duì)瀏覽器的基本操作方法
?除了上面的基本操作外,也可以通過(guò)Option類來(lái)配置瀏覽器的啟動(dòng)
6、總結(jié)?
PS:這里分享一套軟件測(cè)試的自學(xué)教程合集。對(duì)于在測(cè)試行業(yè)發(fā)展的小伙伴們來(lái)說(shuō)應(yīng)該會(huì)很有幫助。除了基礎(chǔ)入門的資源,博主也收集不少進(jìn)階自動(dòng)化的資源,從理論到實(shí)戰(zhàn),知行合一才能真正的掌握。全套內(nèi)容已經(jīng)打包到網(wǎng)盤,內(nèi)容總量接近500個(gè)G。
? 240集-零基礎(chǔ)到精通全套視頻課程
? [課件+源碼]-完整配套的教程
? 18套-測(cè)試實(shí)戰(zhàn)項(xiàng)目源碼
? 37套-測(cè)試工具軟件包
? 268道-真實(shí)面試題
? 200個(gè)模板-面試簡(jiǎn)歷模板、測(cè)試方案模板、軟件測(cè)試報(bào)告模板、測(cè)試分析模版、測(cè)試計(jì)劃模板、性能測(cè)試報(bào)告、性能測(cè)試報(bào)告、性能測(cè)試腳本用例模板(信息完整)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-791345.html
這些資料,對(duì)于做【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術(shù)行業(yè),一定要提升技術(shù)功底。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-791345.html
到了這里,關(guān)于如何使用Selenium做自動(dòng)化測(cè)試?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!