使用 Selenium 進行瀏覽器外掛測試。
我們可以使用 Selenium webdriver 執行瀏覽器外掛測試。當我們手動開啟瀏覽器並進行操作時,可以擁有一個或多個 Chrome 瀏覽器的擴充套件程式。
但是,當 Chrome 瀏覽器透過 Selenium webdriver 開啟時,本地瀏覽器可用的那些擴充套件程式將不可用。要配置擴充套件程式,我們必須獲取擴充套件程式的 .crx 擴充套件檔案。
然後,我們必須將擴充套件程式新增到由 Selenium 啟動的 Chrome 瀏覽器中。要獲取瀏覽器可用的所有擴充套件程式,請在瀏覽器位址列中鍵入 chrome://extensions。
例如,要新增 Momentum 擴充套件程式,請訪問以下連結:
https://chrome.google.com/webstore/category/extensions並在搜尋框中輸入 Momentum。搜尋結果顯示後,點選相關選項。
點選**Momentum**後,將顯示擴充套件程式的詳細資訊。複製下圖中突出顯示的擴充套件程式的 URL。
現在,導航到以下連結: https://chrome-extension-downloader.com/並將我們複製的 URL 貼上到**下載擴充套件程式**欄位中。
擴充套件程式的 .crx 檔案將下載到我們的系統中。然後,我們應該將其儲存到所需位置。
要將此擴充套件程式新增到 Chrome 瀏覽器(一旦由 Selenium webdriver 啟動),我們必須使用 ChromeOptions 類。我們將為此類建立一個物件,並在其上應用**addExtensions**方法。
要新增的擴充套件程式的 .crx 檔案的路徑作為引數傳遞給該方法。然後,我們將使用**DesiredCapabilities**類來設定此瀏覽器功能。
我們將對 DesiredCapabilities 的物件應用**setCapability**方法,並將**ChromeOptions.CAPABILITY**和 ChromeOptions 類的**物件**作為引數傳遞給該方法。最後,DesiredCapabilities 的物件作為引數傳遞給 webdriver 物件。
示例
import org.openqa.selenium.WebDriver; import org.openqa.selenium.Capabilities; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import java.io.File; public class AddExtensns{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe"); //ChromeOptions object ChromeOptions opt= new ChromeOptions(); //set path of .crx file of extension opt.addExtensions(new File("C:\Users\Momentum_v0.92.2.crx")); //DesiredCapabilities object DesiredCapabilities c = DesiredCapabilities.chrome(); // set ChromeOptions capability c.setCapability(ChromeOptions.CAPABILITY, opt); // pass capability to driver WebDriver driver = new ChromeDriver(c); driver.get("https://tutorialspoint.tw/index.htm"); } }