日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gradle junit5_JUnit 5和Selenium –使用Gradle,JUnit 5和Jupiter Selenium设置项目

發布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gradle junit5_JUnit 5和Selenium –使用Gradle,JUnit 5和Jupiter Selenium设置项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

gradle junit5

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

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

關于本教程

您正在閱讀帶有Selenium WebDriver的JUnit 5的第一部分-教程 。

本教程中的所有文章:

  • 從頭開始設置項目–使用JUnit 5和Jupiter Selenium進行Gradle

接下來的是:

  • 使用Selenium內置的PageFactory實現Page Object Pattern
  • 改善項目配置–并行執行測試,測試執行順序,參數化測試,AssertJ等

本教程的源代碼可以在Github上找到

先決條件

首先,Java JDK是必需的,并且必須將其安裝在系統中。 由于Java 11中的許??可更改,我將使用Java 12,并且我建議安裝OpenJDK而不是Oracle JDK。您還需要Gradle來啟動一個新項目和您喜歡的Java IDE –我建議使用IntelliJ IDEA Community或Professional。 您也可以選擇安裝Git版本控制系統。

為了管理(安裝,更新,卸載)我建議使用軟件包管理器的工具。 如果您使用的是Windows,則可以使用Chocolately ,如果您使用的是macOS,則應使用Homebrew 。

總結起來,請確保在本文中使用該項目時已安裝以下工具,并且可供使用:

  • Java JDK –建議使用最新的Java JDK版本
  • Gradle – 僅在設置項目時需要,建議使用Gradle 5.6+
  • 建議您最喜歡的Java IDE – IntelliJ IDEA社區或專業人士
  • Chrome瀏覽器–用于運行Selenium測試
  • 終端仿真器–用于執行Shell命令,至少對Unix命令具有基本支持。 在Windows中,它可以是Cmder (帶有Git),在macOS中,我建議使用iTerm2
  • Git –如果您想跟蹤源代碼歷史記錄

從頭開始設置項目

要創建一個基于Gradle的空項目,請打開您喜歡的終端并輸入:

mkdir junit5-selenium-todomvc-demo cd junit5-selenium-todomvc-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分發。

注意:如果您正在尋找用于Gradle或Maven的JUnit 5項目模板,請簽出官方的JUnit 5 Samples Github存儲庫: https : //github.com/junit-team/junit5-samples

JUnit木星

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

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

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

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

目錄和項目文件

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

mkdir -p src/test/java/pl/codeleak/demos/selenium/todomvc touch src/test/java/pl/codeleak/demos/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 ) SeleniumTest { class SeleniumTest { @Test void projectIsConfigured(ChromeDriver driver) {} }

運行測試

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

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

您可能已經注意到,在執行任務期間,Chrome瀏覽器已打開,然后關閉。 這僅確認所有驅動程序配置都是由Selenium Jupiter在后臺進行的(使用WebDriverManager庫)。 您還注意到,此測試沒有設置和清除代碼。 相反,我們將 ChromeDriver實例直接注入到需要測試的地方。 Selenium Jupiter就是這樣使用JUnit 5擴展機制注入參數進行測試的。

創建Git存儲庫

項目的初始設置已完成。 在開始實際工作之前,現在可以將項目設置存儲在Git存儲庫中。 如果已安裝Git,請運行以下命令來創建新的存儲庫:

git init

編輯.gitignore文件以排除要從存儲庫中跳過的文件和目錄:

.gradle .idea *.iml build out

執行以下命令以將文件添加并提交到存儲庫:

git add . git commit -m 'Initial project setup'

將項目導入到IDE

請注意,到目前為止,所有工作都是在沒有IDE的情況下完成的(不是完全正確–我在IDE的幫助下創建的測試)。 通常,這是項目配置中非常重要的方面:始終使項目IDE獨立。 證明您可以使用單個shell命令執行構建。 這將帶來收益-特別是當您要使用持續集成工具執行構建時。

無論如何,使用IntelliJ,該項目將毫無問題地運行。 午餐,打開項目目錄,并將其導入為Gradle項目。

現在您已經準備好開始開發測試并改善項目。 但是請記住,如果要進行任何配置更改,建議您不時使用IDE外部的終端對其進行測試。

下一步

在本教程的下一部分中,您將學習有關Page Object Pattern的一些基礎知識,以及如何使用Selenium內置的PageFactory實現它。

翻譯自: https://www.javacodegeeks.com/2019/09/junit-selenium-setup-project-gradle-jupiter-selenium.html

gradle junit5

總結

以上是生活随笔為你收集整理的gradle junit5_JUnit 5和Selenium –使用Gradle,JUnit 5和Jupiter Selenium设置项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。