當(dāng)訪問(wèn)一個(gè)https的網(wǎng)站凯傲,通常瀏覽器會(huì)收到一份證書(shū),該證書(shū)包含了服務(wù)器的公鑰以及CA的簽名磕诊。
當(dāng)瀏覽器接收到服務(wù)器發(fā)過(guò)來(lái)的公鑰證書(shū)時(shí)有兩種情況:
瀏覽器已經(jīng)安裝了CA的公鑰解開(kāi)CA的簽名,并HASH得到的證書(shū)內(nèi)容與之相比較纹腌,一致則相信由CA頒發(fā)過(guò)來(lái)的證書(shū)
瀏覽器并沒(méi)有CA的公鑰霎终,也就解不來(lái)CA的簽名,用戶可以選擇相信升薯,并把該站點(diǎn)設(shè)置為信任站點(diǎn)
大多數(shù)CA頒發(fā)證書(shū)是需要收費(fèi)的莱褒,因此也有很多https的網(wǎng)站用的是非權(quán)威服務(wù)器頒發(fā)的證書(shū),使用瀏覽器打開(kāi)此類(lèi)https網(wǎng)站涎劈,瀏覽器檢測(cè)到證書(shū)非權(quán)威時(shí)為了安全性考慮會(huì)彈出提示信息广凸,由用戶決定是否繼續(xù)訪問(wèn)站點(diǎn)。平常我們選擇添加例外并繼續(xù)訪問(wèn)就行了蛛枚,下次訪問(wèn)同個(gè)站點(diǎn)就不會(huì)彈出提示谅海。但是用Selenium進(jìn)行測(cè)試時(shí)不希望遇到這種問(wèn)題,因?yàn)閟elenium啟動(dòng)firefox時(shí)蹦浦,每次都會(huì)新建一個(gè)profile作為啟動(dòng)的profile扭吁。這樣無(wú)論你添加多少次例外,測(cè)試的時(shí)候都需要手動(dòng)選擇盲镶,打斷了測(cè)試侥袜,自動(dòng)化無(wú)法繼續(xù)進(jìn)行。因此事先對(duì)Firefox進(jìn)行配置溉贿,使其相信被測(cè)站點(diǎn)枫吧,使自動(dòng)化更加容易和穩(wěn)定。
如何解決這個(gè)問(wèn)題呢宇色?思路很簡(jiǎn)單
一九杂、創(chuàng)建一個(gè)特殊profile闽寡,此profile里添加了測(cè)試站點(diǎn)為安全例外。
二尼酿、selenium啟動(dòng)firefox時(shí)調(diào)用此profile爷狈,而不是創(chuàng)建新profile。
因?yàn)檎{(diào)用的profile預(yù)添加了站點(diǎn)為例外裳擎,訪問(wèn)站點(diǎn)時(shí)便不會(huì)再?gòu)棾霭踩崾玖恕?/p>
下面看看具體如何設(shè)置
1涎永、創(chuàng)建新的profile,打開(kāi)cmd鹿响,進(jìn)入FireFox安裝路徑羡微,然后輸入命令firefox -p
cd C:\Program Files (x86)\Mozilla Firefox
firefox -p
彈出如下對(duì)話框,點(diǎn)擊創(chuàng)建配置文件
在彈出的新窗口中點(diǎn)擊下一步惶我,然后命名隨便妈倔,點(diǎn)擊完成,如下绸贡,這樣便生成了新的profile盯蝴。注意復(fù)制一下保存路徑,等會(huì)兒會(huì)用到听怕。
2捧挺、創(chuàng)建新的profile后第一步操作還沒(méi)完,我們得往profile里添加測(cè)試站點(diǎn)為安全例外尿瞭。
這兒如下圖選擇新建的profile并點(diǎn)擊啟動(dòng)Firefox按鈕闽烙,注意去掉勾選啟動(dòng)時(shí)不詢問(wèn)并使用選定的配置文件這個(gè)選項(xiàng)。如果勾選声搁,以后每次啟動(dòng)都是調(diào)用新建的profile黑竞,那么你會(huì)發(fā)現(xiàn)之前添加的Firefox插件,添加的書(shū)簽疏旨、證書(shū)等等都沒(méi)了很魂。
以新的profile起動(dòng)firefox后,我們直接訪問(wèn)測(cè)試站點(diǎn)充石,這個(gè)時(shí)候會(huì)彈出安全提示莫换,我們根據(jù)提示添加安全例外。添加完可以在Firefox選項(xiàng)--高級(jí)--證書(shū)里查看是否存在添加的測(cè)試站點(diǎn)骤铃,如下圖拉岁。當(dāng)然也可以直接在這兒點(diǎn)擊添加例外來(lái)添加站點(diǎn)。
到這兒惰爬,第一步就設(shè)置完了喊暖,我們創(chuàng)建了新的profile,也往profile里添加了例外撕瞧。
3陵叽、selenium啟動(dòng)firefox時(shí)調(diào)用此profile狞尔,而不是創(chuàng)建新profile。這步很簡(jiǎn)單巩掺,看腳本就明白了偏序。