JUnit 5和Selenium基礎(一)


Gradle、JUnit 5和Jupiter Selenium

Selenium是一組支持瀏覽器自動化的工具,主要用於Web應用程序測試。Selenium的組件之一是Selenium WebDriver,它提供客戶端庫,JSON有線協議(與瀏覽器驅動程序進行通信的協議)和瀏覽器驅動程序。Selenium WebDriver的主要優點之一是,它幾乎支持所有主要編程語言,並且可以在所有主流操作系統上運行。

在本文中,將使用Gradle與Java,JUnit 5和Selenium Jupiter一起完成流行的TodoMVC應用程序的測試自動化項目的設置。您將了解Selenium的PageFactory實現頁面對象模式。您還將了解並行測試執行,測試執行順序,參數化測試等等。

測試准備

首先,Java JDK是必需的,並且必須將其安裝在系統中。我建議安裝OpenJDK而不是Oracle JDK。您還需要Gradle來啟動一個新項目和您喜歡的Java IDE –建議使用IntelliJ IDEA Community或Professional,當然也少不了git。

開始之前,確保已安裝以下工具並可供您使用:

  • Java JDK:建議使用最新的Java JDK版本
  • Gradle:僅在設置項目時需要,建議使用Gradle 5.6+
  • Java IDE:IntelliJ IDEA
  • Chrome瀏覽器:用於運行Selenium測試
  • 終端:用於執行shell命令,至少對Unix命令具有基本支持
  • Git:跟蹤源代碼歷史記錄

從頭開始

要創建一個基於Gradle的空項目,請打開終端並輸入:

mkdir demo
cd demo
gradle init --type basic --dsl groovy

生成的項目是一個空的DIY項目:沒有插件,也沒有依賴項。它帶有settings.gradle可以刪除的冗余:

rm settings.gradle

Java和JUnit 5

對於使用JUnit 5的基本Java項目配置,將以下內容添加到中build.gradle:

plugins {
 id 'java'
}
 
repositories {
  mavenCentral()
}
 
dependencies {
 testImplementation('org.junit.jupiter:junit-jupiter:5.5.1')
}
 
test {
 useJUnitPlatform()
 testLogging {
  events "passed", "skipped", "failed"
 }
}

上面的DSL配置了Gradle的Java插件(plugins),該插件為我們提供了使用Gradle構建基於Java的項目的功能。該項目使用Maven存儲庫(repositories)下載在項目dependencies中聲明的項目依賴項()。將項目的測試實現依賴項設置為JUnit 5(testImplementation),並調整任務(test),以確保在使用Gradle執行測試時使用JUnit 5

可以通過在終端中執行Gradle構建來驗證配置:

./gradlew build

構建成功:

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

./gradlew命令運行Gradle Wrapper而不是全局Gradle發行版。該項目是由Gradle Wrapper生成的,因此根本不需要執行全局Gradle分發即可執行任務和使用該項目。

JUnit Jupiter

為了簡化項目中Selenium WebDriver的配置,我將使用Selenium Jupiter,它是JUnit 5擴展,旨在簡化JUnit 5測試中對Selenium(WebDriverGrid)的使用。它是一個單獨的依賴項,需要添加到以下項的依賴項列表中build.gradle

dependencies {
  testCompile('io.github.bonigarcia:selenium-jupiter:3.3.0')
}

Selenium Jupiter庫提供了與SeleniumAppium的集成。Selenium Jupiter支持本地和遠程瀏覽器,Docker容器中的瀏覽器(需要Docker引擎)以及基於Selenide的瀏覽器配置。它在內部使用WebDriverManager來管理瀏覽器驅動程序。

  • 注意:不要驚訝於項目中有很多庫,Selnium Jupiter有很多依賴性。要查看所有項目依賴項(包括傳遞性依賴項),請執行以下命令:./gradlew dependencies

目錄和項目文件

該項目創建時沒有Java源文件。要創建初始目錄和第一個測試,可以執行以下命令:

mkdir -p src/test/java/demo/selenium/todomvc
touch src/test/java/demo/selenium/todomvc/SeleniumTest.java

SeleniumTest.java文件包含非常基本的測試,確認項目已正確配置。該測試使用Selenium Jupiter提供的JUnit 5擴展,並且只有一個測試,沒有斷言:

package pl.codeleak.demos.selenium.todomvc;
 
import io.github.bonigarcia.seljup.SeleniumExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.openqa.selenium.chrome.ChromeDriver;
 
@ExtendWith(SeleniumExtension.class)
class SeleniumTest {
 
    @Test
    void projectIsConfigured(ChromeDriver driver) {}
}

運行測試

執行Gradle構建應確認測試通過:

./gradlew build
 
demo.selenium.todomvc.SeleniumTest > projectIsConfigured() PASSED
 
BUILD SUCCESSFUL in 1s
3 actionable tasks: 2 executed, 1 up-to-date

  • 鄭重聲明:文章首發於公眾號“FunTester”,禁止第三方(騰訊雲除外)轉載、發表。

技術類文章精選

非技術文章精選


免責聲明!

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



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