WebDriverManager is an open-source Java library that carries out the management (ie, download, setup, and maintenance) of the drivers required by Selenium WebDriver (eg, chromedriver, geckodriver, msedgedriver, etc.) in a fully automated manner. นอกจากนี้ WebDriverManager ยังมีคุณสมบัติอื่นๆ ที่เกี่ยวข้อง เช่น ความสามารถในการค้นหาเบราว์เซอร์ที่ติดตั้งในระบบภายในเครื่อง การสร้างวัตถุ WebDriver (เช่น ChromeDriver
, FirefoxDriver
, EdgeDriver
ฯลฯ ) และการเรียกใช้เบราว์เซอร์ในคอนเทนเนอร์ Docker ได้อย่างราบรื่น
ตั้งแต่เวอร์ชัน 5 เอกสารประกอบของ WebDriverManager ได้ย้ายมาที่นี่ ไซต์นี้ประกอบด้วยคุณลักษณะ ตัวอย่าง การกำหนดค่า และความสามารถขั้นสูงทั้งหมดของ WebDriverManager
การใช้งานหลักของ WebDriverManager คือระบบอัตโนมัติของการจัดการไดรเวอร์ ในการใช้คุณสมบัตินี้ คุณจะต้องเลือกผู้จัดการที่กำหนดใน WebDriverManager API (เช่น chromedriver()
สำหรับ Chrome) และเรียกใช้เมธอด setup()
The following example shows the skeleton of a test case using JUnit 5, Selenium WebDriver, and WebDriverManager.
import org . junit . jupiter . api . AfterEach ;
import org . junit . jupiter . api . BeforeAll ;
import org . junit . jupiter . api . BeforeEach ;
import org . junit . jupiter . api . Test ;
import org . openqa . selenium . WebDriver ;
import org . openqa . selenium . chrome . ChromeDriver ;
import io . github . bonigarcia . wdm . WebDriverManager ;
class ChromeTest {
WebDriver driver ;
@ BeforeAll
static void setupAll () {
WebDriverManager . chromedriver (). setup ();
}
@ BeforeEach
void setup () {
driver = new ChromeDriver ();
}
@ AfterEach
void teardown () {
driver . quit ();
}
@ Test
void test () {
// Your test logic here
}
}
หรือคุณสามารถใช้เมธอด create()
เพื่อจัดการไดรเวอร์โดยอัตโนมัติและสร้างอินสแตนซ์ออบเจ็กต์ WebDriver
ในบรรทัดเดียว ตัวอย่างเช่นดังต่อไปนี้:
import org . junit . jupiter . api . AfterEach ;
import org . junit . jupiter . api . BeforeEach ;
import org . junit . jupiter . api . Test ;
import org . openqa . selenium . WebDriver ;
import org . openqa . selenium . chrome . ChromeDriver ;
import io . github . bonigarcia . wdm . WebDriverManager ;
class ChromeCreateTest {
WebDriver driver ;
@ BeforeEach
void setup () {
driver = WebDriverManager . chromedriver (). create ();
}
@ AfterEach
void teardown () {
driver . quit ();
}
@ Test
void test () {
// Your test logic here
}
}
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอัลกอริธึมความละเอียดของไดรเวอร์ที่ WebDriverManager นำมาใช้และความสามารถในการกำหนดค่า โปรดอ่านเอกสารประกอบ
คุณสมบัติใหม่ที่เกี่ยวข้องอีกประการหนึ่งที่มีอยู่ใน WebDriverManager 5 คือความสามารถในการสร้างเบราว์เซอร์ในคอนเทนเนอร์ Docker ได้ทันที ข้อกำหนดในการใช้คุณสมบัตินี้คือต้องติดตั้ง Docker Engine ในเครื่องที่ทำการทดสอบ หากต้องการใช้งาน เราจำเป็นต้องเรียกใช้เมธอด browserInDocker()
ร่วมกับ create()
ของผู้จัดการที่กำหนด ด้วยวิธีนี้ WebDriverManager จะดึงอิมเมจจาก Docker Hub เริ่มต้นคอนเทนเนอร์ และสร้างอินสแตนซ์ออบเจ็กต์ WebDriver เพื่อใช้งาน The following test shows a simple example using Chrome in Docker. ตัวอย่างนี้ยังเปิดใช้งานการบันทึกเซสชันของเบราว์เซอร์และการเข้าถึงระยะไกลโดยใช้ noVNC:
import org . junit . jupiter . api . AfterEach ;
import org . junit . jupiter . api . BeforeEach ;
import org . junit . jupiter . api . Test ;
import org . openqa . selenium . WebDriver ;
import io . github . bonigarcia . wdm . WebDriverManager ;
class DockerChromeVncTest {
WebDriver driver ;
WebDriverManager wdm = WebDriverManager . chromedriver (). browserInDocker ()
. enableVnc (). enableRecording ();
@ BeforeEach
void setup () {
driver = wdm . create ();
}
@ AfterEach
void teardown () {
wdm . quit ();
}
@ Test
void test () {
// Your test logic here
}
}
WebDriverManager เป็นส่วนหนึ่งของ OpenCollective ซึ่งเป็นแพลตฟอร์มการระดมทุนออนไลน์สำหรับชุมชนที่เปิดกว้างและโปร่งใส คุณสามารถสนับสนุนโครงการได้โดยการบริจาคในฐานะผู้สนับสนุน (เช่น การบริจาคส่วนบุคคลหรือการบริจาคเป็นประจำ) หรือในฐานะผู้สนับสนุน (เช่น การบริจาคที่เกิดขึ้นประจำโดยบริษัท)
หรือคุณสามารถรับทราบผลงานของฉันโดยซื้อกาแฟให้ฉัน:
WebDriverManager (ลิขสิทธิ์ © 2015-2024) เป็นโครงการที่สร้างและดูแลโดย Boni Garcia และได้รับอนุญาตภายใต้เงื่อนไขของใบอนุญาต Apache 2.0