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


1.簡介

上一篇文章,宏哥已經在搭建的java項目環境中實踐了,今天就在基於maven項目的環境中給小伙伴們 或者童鞋們演示一下。

2.eclipse中新建maven項目

1.依次點擊eclipse的file - new - other ,如下圖所示:

2.在搜索框輸入關鍵字“maven”,然后選中“maven project”,如下圖所示:

3.選擇創建后的工作區——項目存放的地址。如下圖所示:

4.選擇Maven項目的模板也叫項目類型(quikstart或者webapp等等),,如果選擇create a simple project,則跳過了下面的步驟,也就不存在這個問題了,但是如果需要選擇項目類型,則不能勾選create a simple project)如下圖所示:

5.宏哥為了省事,直接選中create a simple project,點擊next,輸入Group Id和Artifact Id。如下圖所示:

6.點擊“Finish”,查看新建的maven項目,如下圖所示:

到此,創建maven項目成功!!!

3.maven項目加載selenium依賴

3.1加載selenium依賴

maven項目加載selenium依賴就不想上一篇java項目加載selenium那么費事需要把jar包復制到項目下,maven項目只需要將相關的jar包依賴配置到pom.xml文件中就會自動加載了。因此要給上面創建的maven項目中加載selenium依賴,只需在pom.xml中引入selenium的jar包即可;具體步驟如下:

1.查看maven倉庫:http://mvnrepository.com/   如下圖所示:

2.搜索selenium, 輸入selenium,點擊“Search”,如下圖所示:

3.點擊selenium java,查看自己需要的selenium版本,selenium我們都會選擇最新的(宏哥這里用3.141.59舉例一下),方便兼容最新的瀏覽器以及網絡攻略……。如下圖所示:

4.下載selenium-3.141.59版本,點3.141.59進入頁面后,只需要單擊下邊的編碼就自動全選復制了。如下圖所示:

<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>

5.copy到maven項目中的pom.xml中, selenium的jar包maven會自動加載,從右邊路徑可以看到jar的路徑在本地倉庫。如下圖所示:

需要其他的jar包只需配置到pom.xml中即可!

3.2修改jdk版本

1.右鍵JRE System Library[JavaSe-1.5] ->properties。如下圖所示:

 2.選擇javaSE-1.8,如下圖所示:

4.啟動Chrome瀏覽器

4.1chrome和chromedriver版本下載地址及對應關系

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

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

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

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

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

4.2驅動Chrome

1.在mavenweb/src/main/java下右鍵創建包(package)lessons,如下圖所示:

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

3.在mavenweb下新建Tools文件夾,將用到的驅動和其他工具放在此文件夾中,如下圖所示:

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

5.參考代碼,如下:

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("https://www.baidu.com");  
        //getTitle()獲取當前頁面title的值  
        System.out.println("當前打開頁面的標題是: "+ driver.getTitle());  
          
        //關閉並退出瀏覽器  
        driver.quit();  
          
    }  

}

6.電腦端的瀏覽器,如下小視頻所示:

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

5.啟動Firefox瀏覽器

5.1Firefox和驅動下載地址

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

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

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

5.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("https://www.baidu.com");
        //getTitle()獲取當前頁面title的值
        System.out.println("當前打開頁面的標題是: "+ driver.getTitle());
        
        //關閉並退出瀏覽器
        driver.quit();
        
    }
 
}

6.啟動IE瀏覽器

6.1IE瀏覽器驅動下載地址

本人使用的IE和IEDriverServer:

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

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

6.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("https://www.baidu.com");  
        //getTitle()獲取當前頁面title的值  
        System.out.println("當前打開頁面的標題是: "+ driver.getTitle());  
          
        //關閉並退出瀏覽器  
        driver.quit();  
          
    }  
  
}

7.小結

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM