Selenium多瀏覽器測試
在瀏覽器的兼容性測試中,會測試產品在不同瀏覽器上的兼容性,比較主流的瀏覽器有IE、Firefox、Chrome,Opera,Safari等。還有其它如360、QQ、遨遊、百度等瀏覽器都是基於IE或者chrome內核,或者IE+Chrome雙內核開發,在測試這類瀏覽器時可以調用對應內核驅動。
不同的瀏覽器需要對應的驅動程式,這樣selenium才能與瀏覽器進行通訊。在啟動WebDriver之前可以指定驅動的絕對位置,但還是建議將驅動添加到環境變數中,這樣程式碼更易於維護,容易移植。
下面介紹selenium對幾種瀏覽器的遠程控制方法:
Chrome瀏覽器
1. 下載驅動
首先查看瀏覽器版本號,根據瀏覽器的版本號去下載對應的 chromedriver,Chrome瀏覽器版本與對應的驅動參考://sites.google.com/a/chromium.org/chromedriver/downloads
驅動下載地址://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('//www.baidu.com')
Firefox-火狐瀏覽器
1. 下載驅動
瀏覽器版本、驅動geckodriver版本、Selenium版本對應關係參考://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html
下載地址://ftp.mozilla.org/pub/firefox/releases/
2. python程式碼
from selenium.webdriver import Firefox
self.driver = webdriver.Firefox()
self.driver.get('//www.baidu.com')
IE瀏覽器
1. 下載驅動
下載IEDriverServer.exe ://selenium-release.storage.googleapis.com/index.html
注意:設置internet選項>安全 這4個選項全勾選或者不勾選,不然無法驅動IE瀏覽器。
2. python程式碼
from selenium.webdriver import Ie
self.driver = webdriver.Ie()
self.driver.get('//www.baidu.com')
Edge瀏覽器
1. 下載驅動
Edge瀏覽器版本與edgedriver驅動版本對應關係參考://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
edgedriver驅動下載地址://msedgewebdriverstorage.z22.web.core.windows.net/
2. python程式碼
from selenium.webdriver import Edge
self.driver = Edge()
self.driver.get('//www.baidu.com')
Opera瀏覽器-歐朋瀏覽器
1. 下載驅動
Opera瀏覽器版本與OperaDriver驅動版本對應關係參考://github.com/operasoftware/operachromiumdriver/releases
Opera瀏覽器歷史版本下載地址://get.geo.opera.com/pub/opera/desktop/
2. python程式碼
from selenium.webdriver import Opera
self.driver = Opera()
self.driver.get('//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('//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('//www.baidu.com')
其它基於chrome內核的瀏覽器也可以使用這種方法來驅動,基於IE內核開發的瀏覽器還沒辦法控制。
文章標題:Selenium多瀏覽器測試
本文作者:hiyo
本文鏈接://hiyong.gitee.io/posts/selenium-browsers/
歡迎關注公眾號:「測試開發小記」及時接收最新技術文章!