สถาปัตยกรรม Selenium WebDriver: ส่วนประกอบ ฟังก์ชัน และข้อจำกัด
เผยแพร่แล้ว: 2020-12-17การทดสอบระบบเป็นงานที่ท้าทาย และไม่มีอะไรที่เหมือนกับเครื่องมือที่ทำงานอัตโนมัติ เครื่องมือหนึ่งที่อยู่ในใจสำหรับผู้ทดสอบระบบอัตโนมัติคือซีลีเนียม หากคุณอยากเรียนรู้เกี่ยวกับทักษะการทดสอบระบบอัตโนมัติโดยใช้ Selenium WebDriver คุณมาถูกที่แล้ว มาเริ่มกันเลย.
สารบัญ
ซีลีเนียมคืออะไร?
ซีลีเนียมเป็นเครื่องมือทดสอบโอเพนซอร์สอัตโนมัติ เครื่องมือนี้ทดสอบเฉพาะแอปพลิเคชันบนเว็บและเข้ากันได้กับเบราว์เซอร์และระบบปฏิบัติการหลายตัว
ซีลีเนียมมีสามเวอร์ชันหลัก:
- ซีลีเนียม RC
- ซีลีเนียม IDE
- ซีลีเนียมกริด
เวอร์ชันทั้งหมดเหล่านี้เปิดตัวในปี 2550
Selenium WebDriver
จนถึงปี 2011 ซีลีเนียม RC ถูกนำมาใช้กันอย่างแพร่หลาย ในช่วงกลางปี 2011 Selenium ได้ออกเวอร์ชันใหม่ WebDriver 2.0 มันไม่ใช่การอัพเกรดเป็น RC แต่เป็นเครื่องมือที่แตกต่างอย่างสิ้นเชิง ความแตกต่างคือ Selenium WebDriver 2.0 มีคำสั่งของตัวเอง Selenium WebDriver เวอร์ชัน ล่าสุด คือ 3.14
Selenium WebDriver Selenium WebDriver

- สามารถสร้างไดนามิกสคริปต์ได้
- เข้ากันได้กับเบราว์เซอร์หลายตัว
- สร้างรายงานและบันทึก
- รวดเร็ว เนื่องจากสื่อสารโดยตรงกับเบราว์เซอร์โดยใช้กลไกของเบราว์เซอร์
- ปฏิสัมพันธ์ในชีวิตจริงระหว่างองค์ประกอบของหน้า
- API ของ Selenium WebDriver นั้นง่ายกว่ามาก และไม่มีคำสั่งที่สับสนและซ้ำซ้อน
- Selenium WebDriver สามารถรองรับเบราว์เซอร์ HtmlUnit ที่ไม่มีส่วนหัว
มีห้าองค์ประกอบของสถาปัตยกรรม Selenium WebDriver:
- Language Binding หรือ Selenium Client Library: ไฟล์เหล่านี้เป็นไฟล์ Jar และเป็นภาษาที่ใช้เขียนเฟรมเวิร์ก Selenium สคริปต์สำหรับซีลีเนียมเขียนด้วยภาษา Java, C#, Ruby, Python และ Perl
- Selenium Application Programming Interface (API): API จัดเตรียมชุดของกฎและข้อกำหนดที่ภาษาของซอฟต์แวร์ยึดถือ นอกจากนี้ยังจำเป็นต้องสื่อสารกับโปรแกรมซอฟต์แวร์อื่นๆ กล่าวโดยย่อ API ทำหน้าที่เป็นส่วนต่อประสานระหว่างโปรแกรมซอฟต์แวร์และช่องทางการสื่อสาร AC
- WebDriver ระยะไกล: เป็นคลาสการใช้งานของอินเทอร์เฟซ WebDriver นักพัฒนาสคริปต์ทดสอบใช้คลาสบนเครื่องระยะไกลเพื่อรันสคริปต์ทดสอบผ่านเซิร์ฟเวอร์ WebDriver
- JavaScript Object Notation (JSON) Wired Protocol: JSON เป็นรูปแบบข้อมูลที่ใช้แทนกันได้น้ำหนักเบา เพื่ออำนวยความสะดวกในการแลกเปลี่ยนข้อมูล มันถ่ายโอนข้อมูลระหว่างไคลเอนต์และเซิร์ฟเวอร์บนเว็บ ไฟล์ JSON มีนามสกุล .json โปรโตคอลแบบมีสาย JSON ส่งข้อมูลในรูปแบบ JSON จากนั้นเซิร์ฟเวอร์จะแยกวิเคราะห์ข้อมูลและดำเนินการ หลังจากดำเนินการ เซิร์ฟเวอร์จะตอบกลับและส่งกลับไปยังไคลเอนต์ในรูปแบบ JSON
- WebDriver: WebDriver เป็นเครื่องมือที่ทำให้เว็บแอปพลิเคชันเป็นอัตโนมัติและตรวจสอบว่าทำงานตามที่คาดไว้
สถาปัตยกรรม Selenium WebDriver
ตอนนี้เราจะมุ่งเน้นไปที่ สถาปัตยกรรม Selenium WebDriver Selenium WebDriver API อำนวยความสะดวกในการโต้ตอบระหว่างเบราว์เซอร์และไดรเวอร์ของเบราว์เซอร์ สถาปัตยกรรมประกอบด้วยสี่ชั้นต่อไปนี้:
- ไลบรารีไคลเอนต์ Selenium
- JSON Wire Protocol
- ไดรเวอร์เบราว์เซอร์
- เบราว์เซอร์
Selenium WebDriver ทำงานอย่างไรภายใน
โค้ดสำหรับ Selenium WebDriver เขียนใน Eclipse Integrated Development Environment (IDE) มันใช้ไลบรารีไคลเอนต์ Selenium ตัวใดตัวหนึ่งเช่น Java

เมื่อสคริปต์พร้อมแล้ว ให้คลิก เรียกใช้ เพื่อรันโปรแกรม ตามสคริปต์ข้างต้น เบราว์เซอร์ Chrome จะเปิดขึ้นและนำทางไปยังเว็บไซต์ SeleniumHQ
ใช้ขั้นตอนทั่วไปต่อไปนี้สำหรับสถาปัตยกรรมภายในของ Selenium WebDriver:
1. คลิก เรียก ใช้
ไลบรารีไคลเอนต์ Selenium สื่อสารกับ Selenium API
2. Selenium API ส่งคำสั่งภาษาจากการเชื่อมโยงระดับไปยังไดรเวอร์ของเบราว์เซอร์
การสื่อสารทำได้ผ่านโปรโตคอลแบบมีสาย JSON
3. Selenium API ส่งคำขอไปยังไดรเวอร์ของเบราว์เซอร์
ไดรเวอร์เบราว์เซอร์ใช้เซิร์ฟเวอร์ HTTP เพื่อรับคำขอ HTTP
4. เซิร์ฟเวอร์ HTTP จะกรองคำสั่งทั้งหมดที่จำเป็นสำหรับการดำเนินการ
คำสั่งในสคริปต์ Selenium ทำงานบนเบราว์เซอร์
5. เซิร์ฟเวอร์ HTTP ส่งการตอบสนองต่อสคริปต์ทดสอบการทำงานอัตโนมัติ
ข้อมูลจำเพาะทางเทคนิคของ Selenium WebDriver
- ระบบปฏิบัติการ (OS) – Windows, Solaris, Linux และ Mac OS
- เบราว์เซอร์ที่รองรับ – Internet Explorer, Google Chrome 12.0.712.0 ขึ้นไป, Safari, Opera 11.5 ขึ้นไป, Mozilla Firefox, Internet Explorer, HtmlUnit 2.9, Android และ iOS
คุณสมบัติที่ดีที่สุดของ Selenium WebDriver
- รองรับหลายเบราว์เซอร์ - รองรับเบราว์เซอร์เกือบทั้งหมด
- รองรับหลายภาษา – รองรับภาษาโปรแกรมส่วนใหญ่ที่ใช้กันทั่วไป
- ความเร็ว – Selenium WebDriver เร็วกว่าเมื่อเทียบกับเครื่องมืออื่นๆ ของ Selenium Suite
- คำสั่งอย่างง่าย - คำสั่งทั่วไปถูกใช้และนำไปใช้ใน Selenium WebDriver ได้อย่างง่ายดาย ตัวอย่างเช่น ในการเปิดเบราว์เซอร์ใน Selenium WebDriver ให้ดำเนินการคำสั่งต่อไปนี้::
- ไดรเวอร์ WebDriver = FirefoxDriver ใหม่ (); (เบราว์เซอร์ Firefox )
- ไดรเวอร์ WebDriver = ChromeDriver ใหม่ (); (เบราว์เซอร์ Chrome)
- ไดรเวอร์ WebDriver = InternetExplorerDriver ใหม่ (); (เบราว์เซอร์ Internet Explorer)
- วิธีการและคลาส – Selenium WebDriver มีโซลูชันที่หลากหลายเพื่อแก้ไขปัญหาที่ท้าทายที่อาจเกิดขึ้นในการทดสอบระบบอัตโนมัติ
อ่าน: แนวคิดและหัวข้อโครงการซีลีเนียม

ข้อจำกัดของ Selenium WebDriver
- Selenium WebDriver ไม่รองรับเบราว์เซอร์ใหม่โดยอัตโนมัติ
เนื่องจาก WebDriver ทำงานในระดับ OS เบราว์เซอร์ทุกตัวจะสื่อสารกับ OS ในรูปแบบต่างๆ ดังนั้น สำหรับเบราว์เซอร์ใหม่ การสื่อสารกับระบบปฏิบัติการอาจแตกต่างกัน ส่งผลให้เกิดปัญหาความเข้ากันได้ คุณจะต้องให้ เวลาทีม Selenium WebDriver เพื่อให้เบราว์เซอร์ใหม่เข้ากันได้กับ Selenium WebDriver
- Selenium WebDriver ไม่มีคำสั่งในตัวเพื่อสร้างไฟล์ 'ผลการทดสอบ' โดยอัตโนมัติ
คุณต้องพึ่งพาหน้าต่างเอาต์พุตของสภาพแวดล้อมการพัฒนาแบบรวม (IDE) คุณยังสามารถออกแบบได้เองโดยใช้ภาษาที่คุณต้องการและจัดเก็บเป็นไฟล์ HTML หรือเป็นข้อความ
อ่านเพิ่มเติม: เงินเดือนนักพัฒนา Selenium ในอินเดีย
ลงทะเบียนเรียน หลักสูตรวิศวกรรมซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
ความคิดสุดท้าย
- Selenium WebDriver เป็นเครื่องมือที่ทดสอบเว็บแอปพลิเคชันบนเบราว์เซอร์ต่างๆ
- มันใช้ภาษาโปรแกรมต่างๆ
- Selenium WebDriver เป็นรุ่นอัพเกรดของ Selenium RC เนื่องจากมีสถาปัตยกรรมที่เรียบง่ายกว่า
- Selenium WebDriver มี API ที่กระชับ
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

