《手把手教你》系列基礎篇之(三)-java+ selenium自動化測試- 啟動三大瀏覽器(上)(詳細教程)

1.簡介

前邊宏哥已經將環境搭建好了,今天就在Java項目搭建環境中簡單地實踐一下: 啟動三大瀏覽器。按市場份額來說,全球前三大瀏覽器是:IE.Firefox.Chrome。因此宏哥這裡主要介紹一下如何啟動這三大瀏覽器即可,其他瀏覽器類似的方法,照貓畫虎就可以了。

2.啟動瀏覽器準備工作

2.1準備工作

創建一個Selenium的Java項目,用來練習,具體步驟如下:

1.打開Eclipse,創建一個名稱為Bjhg_Selenium的Java 項目,如下圖所示:

2.在Bjhg_Selenium項目下,新建一個文件夾Tools,把Selenium相關包放到這個文件夾下,如下圖所示:

3.右鍵項目,選擇Build Path,然後選擇Confige Build Path…,彈出框點擊Libraries,如下圖所示:

4.這裡點擊Add JARs…,彈出框,選擇當前項目下tools這個文件夾裡面的selenium-server-standalone-3.4.0.jar,點擊OK,效果如下圖所示:

準備工作就介紹到這裡,下邊介紹如何啟動三大瀏覽器。

3.啟動Chrome瀏覽器

3.1chrome和chromedriver版本下載地址及對應關係

【國外】chromedriver所有版本下載地址://chromedriver.storage.googleapis.com/index.html

【中國】chromedriver所有版本下載地址://npm.taobao.org/mirrors/chromedriver

【中國】chrome所有版本下載地址://www.chromedownloads.net/chrome64win/

【國外】瀏覽器版本和驅動版本對應關係查看網址://chromedriver.chromium.org/downloads

注意:一個大的chromedriver版本裡面可能包含的有多個小版本,如果下載的Chromedriver版本和當前使用的chrome瀏覽器版本不匹配則可以換其他的試試。比如:chromedriver  79版裡面有v79.0.3945.16    v79.0.3945.36

3.2驅動Chrome

1.在lessons包下創建類LaunchChrome.java,如下圖所示:

2.大致思路:打開Chrome瀏覽器,訪問百度網址,獲取網址的title,然後再關閉Chrome瀏覽器。根據思路進行程式碼設計,如下圖所示:

3.參考程式碼,如下:

package lessons;

import java.util.concurrent.TimeUnit;  

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @author 北京-宏哥
 *
 * 2021年6月17日
 */
public class LaunchChrome {
    
    public static void main(String[] args) {  
        
        System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");  
          
        //初始化一個chrome瀏覽器實例,實例名稱叫driver  
        WebDriver driver = new ChromeDriver();  
        //最大化窗口  
        driver.manage().window().maximize();  
        //設置隱性等待時間  
        driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);  
          
        // get()打開一個站點  
        driver.get("//www.baidu.com");  
        //getTitle()獲取當前頁面title的值  
        System.out.println("當前打開頁面的標題是: "+ driver.getTitle());  
          
        //關閉並退出瀏覽器  
        driver.quit();  
          
    }  

}

4.電腦端的瀏覽器,如下小影片所示:

5.運行程式碼,右鍵Run AS->java Application,控制台輸出,如下圖所示:

4.啟動Firefox瀏覽器

4.1Firefox和驅動下載地址

selenium2.X最高支援的Firefox版本為46,使用selenium2.X的話不需要下載火狐驅動,只需要配置火狐的啟動路徑即可。

Selenium3.0開始需下載geckodriver,想使用geckodriver ,Firefox瀏覽器必須是48或者更高版本。具體的瀏覽器和瀏覽器驅動之間的對應關係可在geckodriver下載網站中的版本說明中查看。

所有火狐瀏覽器版本下載地址://ftp.mozilla.org/pub/firefox/releases/
所有火狐驅動geckodriver版本下載地址://github.com/mozilla/geckodriver/releases

4.2驅動Firefox

具體過程和Chrome的差不多,宏哥就不做贅述,將程式碼貼出來以供參考。

1.參考程式碼,如下:

package lessons;

import java.util.concurrent.TimeUnit;  

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @author 北京-宏哥
 *
 * 2021年6月17日
 */
public class LuanchFirefox {
     
    public static void main(String[] args) {
        
        //System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe");
        
        System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe");
        
        //初始化一個火狐瀏覽器實例,實例名稱叫driver
        WebDriver driver = new FirefoxDriver();
        //最大化窗口
        driver.manage().window().maximize();
        //設置隱性等待時間
        driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);
        
        // get()打開一個站點
        driver.get("//www.baidu.com");
        //getTitle()獲取當前頁面title的值
        System.out.println("當前打開頁面的標題是: "+ driver.getTitle());
        
        //關閉並退出瀏覽器
        driver.quit();
        
    }
 
}

5.啟動IE瀏覽器

5.1IE瀏覽器驅動下載地址

本人使用的IE和IEDriverServer:

IE瀏覽器版本:11   IEDriverServer版本:Win32_3.0.0

IE瀏覽器所有驅動版本下載地址://selenium-release.storage.googleapis.com/index.html

5.2驅動IE

具體過程和Chrome的差不多,宏哥就不做贅述,將程式碼貼出來以供參考。

1.參考程式碼,如下:

package lessons;

import java.util.concurrent.TimeUnit;  

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @author 北京-宏哥
 *
 * 2021年6月17日
 */
public class LaunchIE {  
      
    public static void main(String[] args) {  
          
        System.setProperty("webdriver.ie.driver", ".\\Tools\\IEDriverServer.exe");  
          
        //初始化一個IE瀏覽器實例,實例名稱叫driver  
        WebDriver driver = new  InternetExplorerDriver(); 
        //最大化窗口  
        driver.manage().window().maximize();  
        //設置隱性等待時間  
        driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS);  
          
        // get()打開一個站點  
        driver.get("//www.baidu.com");  
        //getTitle()獲取當前頁面title的值  
        System.out.println("當前打開頁面的標題是: "+ driver.getTitle());  
          
        //關閉並退出瀏覽器  
        driver.quit();  
          
    }  
  
}

6.小結

宏哥因為之前做過python和selenium,所以沒有出現瀏覽器版本和驅動版本匹配的問題,新手一定要注意這個問題。
好了,今天關於三大瀏覽器的驅動宏哥就分享到這裡,感謝你耐心的閱讀。

 

您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得點波 推薦 哦!!!(點擊右邊的小球即可!(^__^) 嘻嘻……)