1. 程式人生 > >Selenium+java環境搭建和預設載入使用者配置

Selenium+java環境搭建和預設載入使用者配置

本章記錄了火狐谷歌的環境搭建以及測試第一步-開啟連結,還解決了谷歌和火狐的使用者配置記錄問題,防止每次開啟都是一個全新的連結,一個沒有外掛配置的連結。

一、環境搭建

火狐:

    1.瀏覽器版本,最新版本;

   2.下載最新geckodriver.exe   地址:https://github.com/mozilla/geckodriver/releases  ,我是windows64位,所以下載 geckodriver-v0.21.0-win64.zip 版本;

    3.然後吧壓縮包解壓到專案跟目錄下,我放到了F:\MSwork\tasknew\geckodriver-v0.21.0-win64

    4.一般啟動的firefox,會是一個全新的driver,不帶任何的外掛,為了解決這問題,我們需要自己定義一個火狐使用者來記錄我們需要的外掛和習慣,比如各類外掛,記住密碼,不再提示,允許麥克風訪問等記錄.。為了實現上述描述,我們需要以下配置:

        1.開啟cmd,進入到firefox安裝目錄 (cd/  進入根目錄   cd C:/Program Files/Mozilla Firefox 進入火狐安裝目錄 ,目錄路徑改成自己的)
          2.執行如下命令 firefox.exe -ProfileManager -no-remote  (直接複製就行)


          3.在彈出的profile視窗,點選create profile按鈕,輸入profile的名字,如selenium 
          4.點選 start firefox 

          5.在啟動的firefox中安裝自己需要的外掛 (也可以登入使用者賬號修改使用者習慣)

        


        

        

    5.上程式碼:

//火狐瀏覽器
    String driverPath=System.getProperty("user.dir")+"/geckodriver-v0.21.0-win64/geckodriver.exe";
    System.setProperty("webdriver.gecko.driver",driverPath);
    System.setProperty("webdriver.firefox.bin","C:\\Program Files\\Mozilla Firefox\\firefox.exe");//路徑為電腦安裝的火狐的exe啟動檔案路徑
    ProfilesIni allProfiles = new ProfilesIni();//這一步是為了儲存使用者的外掛以及瀏覽器使用者記錄資訊,比如外掛或者記住密碼,不再提示資訊等.
    FirefoxProfile profile = allProfiles.getProfile("selenium"); //selenium為剛才配置的路徑 (第4步)
    WebDriver driver  = new FirefoxDriver(profile);  
    driver.manage().window().maximize();//視窗最大化
    driver.get("https://blog.csdn.net/qq_37581708");//開啟測試地址

谷歌:

    1.下載對應版本的chromedriver驅動檔案,具體版本請對照文章底部的對應關係表

  • 將WebDriver複製到Chrome的安裝目錄 
    • 安裝目錄可以通過在Chrome位址列中輸入chrome://version/來檢視
    • 一般預設的安裝目錄是 C:\Program Files (x86)\Google\Chrome
    • 即將chromedriver.exe檔案複製到C:\Program Files (x86)\Google\Chrome\Application
  • 將WebDriver的路徑複製到系統環境變數PATH中 
    • 即將C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe新增到PATH中

    2. 為chrome配置預設使用者的配置資訊,如書籤,不在提示,擴充套件程式等;直接上程式碼

        System.setProperty("webdriver.chrome.bin", "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe");
        System.setProperty("webdriver.chrome.driver", "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe");  //chromedriver.exe的安裝路徑
        //設定Webdriver啟動chrome為預設使用者的配置資訊(包括書籤、擴充套件程式等)
        ChromeOptions options = new ChromeOptions();  
        options.addArguments("user-data-dir=C:/Users/acer/AppData/Local/Google/Chrome/User Data"); //第一步chrome://version/中的對應資訊
        WebDriver driver = new ChromeDriver(options); 
        driver.manage().window().maximize();//視窗最大化
        driver.get("https://blog.csdn.net/qq_37581708");//開啟測試地址

chromedriver版本 支援的Chrome版本
v2.37 v64-66
v2.36 v63-65
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32