1. 程式人生 > 實用技巧 >Selenium多瀏覽器測試

Selenium多瀏覽器測試

在瀏覽器的相容性測試中,會測試產品在不同瀏覽器上的相容性,比較主流的瀏覽器有IE、Firefox、Chrome,Opera,Safari等。還有其它如360、QQ、遨遊、百度等瀏覽器都是基於IE或者chrome核心,或者IE+Chrome雙核心開發,在測試這類瀏覽器時可以呼叫對應核心驅動。

不同的瀏覽器需要對應的驅動程式,這樣selenium才能與瀏覽器進行通訊。在啟動WebDriver之前可以指定驅動的絕對位置,但還是建議將驅動新增到環境變數中,這樣程式碼更易於維護,容易移植。

下面介紹selenium對幾種瀏覽器的遠端控制方法:

Chrome瀏覽器

1. 下載驅動

首先檢視瀏覽器版本號,根據瀏覽器的版本號去下載對應的 chromedriver,Chrome瀏覽器版本與對應的驅動參考:

https://sites.google.com/a/chromium.org/chromedriver/downloads

驅動下載地址:https://chromedriver.storage.googleapis.com/index.html

解壓並將驅動新增到環境變數中

2. python程式碼實現

from selenium.webdriver import Chrome
browser_locale = 'fr-FR'
options = Options()
options.add_argument("--lang={}".format(browser_locale)) # 設定瀏覽器語言
self.driver = webdriver.Chrome(chrome_options=options)
self.driver.get('https://www.baidu.com')

Firefox-火狐瀏覽器

1. 下載驅動

瀏覽器版本、驅動geckodriver版本、Selenium版本對應關係參考:https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html

下載地址:http://ftp.mozilla.org/pub/firefox/releases/

2. python程式碼

from selenium.webdriver import Firefox
self.driver = webdriver.Firefox()
self.driver.get('https://www.baidu.com')

IE瀏覽器

1. 下載驅動

下載IEDriverServer.exe :http://selenium-release.storage.googleapis.com/index.html

IE瀏覽器下載:https://support.microsoft.com/zh-cn/topic/%E4%B8%8B%E8%BD%BD-internet-explorer-11-%E8%84%B1%E6%9C%BA%E5%AE%89%E8%A3%85%E7%A8%8B%E5%BA%8F-99d492a1-3a62-077b-c476-cf028aff9a7f

注意:設定internet選項>安全 這4個選項全勾選或者不勾選,不然無法驅動IE瀏覽器。

2. python程式碼

from selenium.webdriver import Ie 
self.driver = webdriver.Ie() 
self.driver.get('https://www.baidu.com')

Edge瀏覽器

1. 下載驅動

Edge瀏覽器版本與edgedriver驅動版本對應關係參考:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

edgedriver驅動下載地址:https://msedgewebdriverstorage.z22.web.core.windows.net/

2. python程式碼

from selenium.webdriver import Edge 
self.driver = Edge()
self.driver.get('https://www.baidu.com')

Opera瀏覽器-歐朋瀏覽器

1. 下載驅動

Opera瀏覽器版本與OperaDriver驅動版本對應關係參考:https://github.com/operasoftware/operachromiumdriver/releases

Opera瀏覽器歷史版本下載地址:https://get.geo.opera.com/pub/opera/desktop/

2. python程式碼

from selenium.webdriver import Opera 
self.driver = Opera()
self.driver.get('https://www.baidu.com')

其它瀏覽器

360極速瀏覽器

360極速瀏覽器採用chrome核心,可以使用對應版本的chromedriver

option=webdriver.ChromeOptions()
option.binary_location=r'D:/software/360Chrome/Chrome/Application/360chrome.exe'
self.driver=webdriver.Chrome(options=option)
self.driver.get('https://www.baidu.com')

binary_location為360極速瀏覽器安裝路徑下的可執行檔案360chrome.exe的路徑

2345瀏覽器

2345瀏覽器是基於IE+Chrome雙核心開發,可以使用chromedriver來驅動它:

option=webdriver.ChromeOptions()
option.binary_location=r'C:/Program Files (x86)/2345Soft/2345Explorer/2345Explorer.exe'
self.driver=webdriver.Chrome(options=option)
self.driver.get('https://www.baidu.com')

其它基於chrome核心的瀏覽器也可以使用這種方法來驅動,基於IE核心開發的瀏覽器還沒辦法控制。

--THE END--

文章標題:Selenium多瀏覽器測試
本文作者:hiyo
本文連結:https://hiyong.gitee.io/posts/selenium-browsers/
歡迎關注公眾號:「測試開發小記」及時接收最新技術文章!