- บทสรุป
- Environment and Technology Stack
- บทนำเกี่ยวกับซีลีเนียม
- บทนำฉบับย่อเกี่ยวกับเวอร์ชันซีลีเนียม
รายการแบบฝึกสอนซีลีเนียมที่ดีที่สุดฉบับสมบูรณ์สำหรับการเรียนรู้และฝึกฝนซีลีเนียมตั้งแต่เริ่มต้น:
หลังจากผู้อ่าน STH ร้องขอมาหลายครั้ง ในที่สุดวันนี้เราก็เปิดตัว ชุดการสอนซีลีเนียมฟรีของเรา ในชุดการฝึกอบรมเกี่ยวกับซีลีเนียมนี้ เราจะครอบคลุมแนวคิดการทดสอบซีลีเนียมทั้งหมดและแพ็คเกจอย่างละเอียดพร้อมตัวอย่างที่เข้าใจง่าย
บทแนะนำเกี่ยวกับซีลีเนียมเหล่านี้มีประโยชน์สำหรับผู้เริ่มต้นจนถึงผู้ใช้ซีลีเนียมระดับสูง เริ่มจากบทแนะนำเกี่ยวกับแนวคิด Selenium ขั้นพื้นฐาน เราจะค่อย ๆ ไปสู่หัวข้อขั้นสูง เช่น การสร้าง Framework, Selenium Grid และ Cucumber BDD
รายการแบบฝึกหัดซีลีเนียมฉบับสมบูรณ์ในชุดนี้:
พื้นฐานของซีลีเนียม:
- บทช่วยสอน #1 : บทนำการทดสอบซีลีเนียม (ต้องอ่าน)
- บทช่วยสอน #2 : คุณลักษณะ Selenium IDE, การดาวน์โหลดและการติดตั้ง Selenium
- บทช่วยสอน #3 : สคริปต์ Selenium IDE ตัวแรกของฉัน ( ต้องอ่าน)
- บทช่วยสอน #4 : การสร้างสคริปต์โดยใช้ Firebug และการติดตั้ง
- บทช่วยสอน #5 : Locator ประเภท: ID, ชื่อคลาส, ชื่อ, ข้อความลิงก์, Xpath
- บทช่วยสอน #6 : ประเภทตัวระบุตำแหน่ง: ตัวเลือก CSS
- บทช่วยสอน #7 : การค้นหา องค์ประกอบใน Google Chrome และ IE
Selenium WebDriver:
- Tutorial #8 : Selenium WebDriver Introduction (ต้องการมีอยู่
ไม่เหมือนกับ Selenium IDE, Selenium RC รองรับเบราว์เซอร์และแพลตฟอร์มที่หลากหลาย
คำอธิบายเวิร์กโฟลว์
- ผู้ใช้สร้างสคริปต์ทดสอบในภาษาโปรแกรมที่ต้องการ
- สำหรับทุกภาษาโปรแกรม จะมีไลบรารีไคลเอ็นต์ที่กำหนดไว้
- ไคลเอ็นต์ไลบรารีจะลบคำสั่งทดสอบไปยังซีลีเนียม เซิร์ฟเวอร์
- เซิร์ฟเวอร์ Selenium ถอดรหัสและแปลงคำสั่งทดสอบเป็นคำสั่ง JavaScript และส่งไปยังเบราว์เซอร์
- เบราว์เซอร์ดำเนินการคำสั่งโดยใช้ Selenium Core และส่งผลลัพธ์กลับไปยังเซิร์ฟเวอร์ Selenium
- เซิร์ฟเวอร์ Selenium ส่งผลการทดสอบไปยังไลบรารีไคลเอ็นต์
มีข้อกำหนดเบื้องต้นบางประการก่อนที่จะสร้างสคริปต์ Selenium RC:
- ภาษาการเขียนโปรแกรม – Java, C#, Python เป็นต้น
- สภาพแวดล้อมการพัฒนาแบบบูรณาการ –Eclipse, Netbeans เป็นต้น
- กรอบการทดสอบ (ทางเลือก) – JUnit, TestNG เป็นต้น
- และการตั้งค่าซีลีเนียม RC นอกหลักสูตร
ข้อดีและข้อเสียของซีลีเนียม RC:
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับรูปต่อไปนี้ ข้อดีและข้อเสียของ Selenium RC
Selenium Grid
ด้วย Selenium RC ชีวิตของผู้ทดสอบมักจะเป็นไปในเชิงบวกและเป็นที่ชื่นชอบจนกระทั่งมีแนวโน้มเกิดขึ้น เพิ่มความต้องการในการดำเนินการสคริปต์ทดสอบเดียวกันหรือต่างกันบนหลายแพลตฟอร์มและเบราว์เซอร์พร้อมกันเพื่อให้ดำเนินการทดสอบแบบกระจาย ทดสอบภายใต้สภาพแวดล้อมที่แตกต่างกัน และประหยัดเวลาการดำเนินการได้อย่างน่าทึ่ง ดังนั้น การจัดเตรียมความต้องการเหล่านี้ Selenium Grid จึงถูกนำเข้ามาในภาพ
Pat Lightbody นำเสนอ Selenium Grid เพื่อตอบสนองความต้องการในการดำเนินการชุดทดสอบบน หลายแพลตฟอร์มพร้อมกัน
Selenium WebDriver
Selenium WebDriver ถูกสร้างขึ้นโดยวิศวกรอีกคนที่ ThoughtWorks ชื่อ Simon Stewart ในปี 2549 นอกจากนี้ WebDriver ยังเป็นเครื่องมือทดสอบบนเว็บที่มีความแตกต่างเล็กน้อยกับ ซีลีเนียม RC เนื่องจากเครื่องมือนี้สร้างขึ้นจากพื้นฐานที่มีการสร้างไคลเอนต์แยกสำหรับแต่ละเว็บเบราว์เซอร์ ไม่จำเป็นต้องใช้จาวาสคริปต์ในการยกของหนัก ซึ่งนำไปสู่การวิเคราะห์ความเข้ากันได้ระหว่าง Selenium RC และ WebDriver ผลจากการพัฒนาเครื่องมือทดสอบอัตโนมัติที่มีประสิทธิภาพมากขึ้นเรียกว่า Selenium 2
WebDriver สะอาดและเป็นเฟรมเวิร์กเชิงวัตถุอย่างแท้จริง มันใช้ความเข้ากันได้ดั้งเดิมของเบราว์เซอร์กับการทำงานอัตโนมัติโดยไม่ต้องใช้เอนทิตีอุปกรณ์ต่อพ่วงใดๆ ด้วยความต้องการที่เพิ่มขึ้น จึงได้รับความนิยมและฐานผู้ใช้จำนวนมาก
ข้อดีและข้อเสียของ Selenium WebDriver:
อ้างอิงรูปต่อไปนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ ข้อดีและข้อเสียของ WebDriver
Selenium 3
Selenium 3 คือเวอร์ชันขั้นสูงของ ซีลีเนียม 2 เป็นเครื่องมือที่เน้นการทำงานอัตโนมัติของแอปพลิเคชันมือถือและเว็บ การระบุว่ารองรับการทดสอบมือถือ เราหมายความว่า WebDriver API ได้รับการขยายเพื่อตอบสนองความต้องการในการทดสอบแอปพลิเคชันมือถือ เครื่องมือนี้คาดว่าจะเปิดตัวในตลาดเร็วๆ นี้
Environment and Technology Stack
ด้วยการถือกำเนิดและการเพิ่มเครื่องมือใหม่แต่ละอย่างในชุด Selenium สภาพแวดล้อมและเทคโนโลยีจะเข้ากันได้มากขึ้น นี่คือรายการสภาพแวดล้อมและเทคโนโลยีที่สนับสนุนโดย Selenium Tools อย่างครบถ้วน
เบราว์เซอร์ที่รองรับ
ภาษาโปรแกรมที่รองรับ
ระบบปฏิบัติการที่รองรับ
กรอบการทดสอบที่รองรับ
บทสรุป
ในบทช่วยสอนนี้ เราพยายามทำให้คุณคุ้นเคยกับชุด Selenium ซึ่งอธิบายถึงส่วนประกอบ การใช้งาน และข้อดีของแต่ละส่วน
นี่คือสาระสำคัญของบทความนี้
- ซีลีเนียมเป็นชุดเครื่องมือทดสอบอัตโนมัติหลายชุด ซึ่งแต่ละชุดตอบสนองความต้องการในการทดสอบที่แตกต่างกัน
- เครื่องมือทั้งหมดนี้อยู่ภายใต้หมวดหมู่โอเพ่นซอร์สเดียวกันและรองรับเฉพาะการทดสอบบนเว็บเท่านั้น
- ชุดซีลีเนียมประกอบด้วยองค์ประกอบพื้นฐาน 4 ส่วน; Selenium IDE, Selenium RC, WebDriver และ Selenium Grid .
- ผู้ใช้คาดว่าจะเลือกเครื่องมือ Selenium ที่เหมาะกับความต้องการของเขา/เธออย่างชาญฉลาด
- Selenium IDE มีการแจกจ่ายเป็นปลั๊กอินของ Firefox และติดตั้งและใช้งานได้ง่ายกว่า ผู้ใช้ไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรมมาก่อน Selenium IDE เป็นเครื่องมือที่เหมาะสำหรับผู้ใช้ที่ไร้เดียงสา
- Selenium RC เป็นเซิร์ฟเวอร์ที่อนุญาตให้ผู้ใช้สร้างสคริปต์ทดสอบในภาษาการเขียนโปรแกรมที่ต้องการ นอกจากนี้ยังช่วยให้เรียกใช้สคริปต์ทดสอบภายในเบราว์เซอร์ที่หลากหลายได้
- Selenium Grid นำคุณลักษณะเพิ่มเติมมาสู่ Selenium RC โดยการกระจายสคริปต์ทดสอบบนแพลตฟอร์มและเบราว์เซอร์ต่างๆ ในเวลาเดียวกันสำหรับการดำเนินการ ดังนั้นการนำต้นแบบไปใช้ - สถาปัตยกรรมสเลฟ
- WebDriver เป็นเครื่องมือที่แตกต่างไปจากเดิมอย่างสิ้นเชิงซึ่งมีข้อดีหลายประการเหนือ Selenium RC การหลอมรวมของ Selenium RC และ WebDriver เรียกอีกอย่างว่า Selenium 2 WebDriver สื่อสารโดยตรงกับเว็บเบราว์เซอร์และใช้ความเข้ากันได้แบบเนทีฟเพื่อทำให้เป็นอัตโนมัติ
- Selenium 3 เป็นการรวมที่คาดว่าจะมากที่สุดในชุด Selenium ซึ่งยังไม่ถึง ที่จะเปิดตัวในตลาด Selenium 3 สนับสนุนการทดสอบบนอุปกรณ์พกพาอย่างยิ่ง
ในบทช่วยสอนถัดไป เราจะพูดถึงพื้นฐานของ Selenium IDE การติดตั้ง และคุณลักษณะต่างๆ เรายังจะได้ดูที่คำศัพท์พื้นฐานและการตั้งชื่อของ Selenium IDE
บทช่วยสอน Selenium ถัดไป: รู้เบื้องต้นเกี่ยวกับ Selenium IDE และการติดตั้งพร้อมการศึกษาโดยละเอียดเกี่ยวกับคุณลักษณะทั้งหมดของ Selenium IDE (เร็วๆ นี้)
ข้อสังเกตสำหรับผู้อ่าน : บทช่วยสอนชุดการฝึกอบรม Selenium ถัดไปของเราอยู่ในโหมดการประมวลผล ในขณะเดียวกัน คุณสามารถสำรวจเล็กน้อยเกี่ยวกับชุด Selenium และเครื่องมือได้โดยดูที่เว็บไซต์อย่างเป็นทางการ
เกี่ยวกับผู้เขียน:
Shruti Shrivastava (ผู้เขียนหลักของเราสำหรับซีรีส์นี้), Amaresh Dhal และ Pallavi Sharma กำลังช่วยเรานำเสนอซีรีส์นี้ให้กับผู้อ่านของเรา
คอยติดตามและแบ่งปันมุมมอง ความคิดเห็น และความรู้ของคุณ นอกจากนี้ โปรดแจ้งให้เราทราบหากคุณคิดว่าเราพลาดบางอย่างไป เพื่อที่เราจะได้รวมไว้ในบทแนะนำสอนต่อๆ ไป
การอ่านที่แนะนำ
- บทช่วยสอน #9 : การติดตั้ง Selenium WebDriver ด้วย eclipse
- บทช่วยสอน #10 : สคริปต์ Selenium WebDriver ตัวแรกของฉัน (ต้องอ่าน)
- บทช่วยสอน #11 : รู้เบื้องต้นเกี่ยวกับ JUnit
- บทช่วยสอน #12: บทแนะนำ TestNG (ต้องอ่าน)
- บทช่วยสอน #13 : การจัดการเมนูแบบเลื่อนลง
- บทช่วยสอน #14 : การวนซ้ำและคำสั่งแบบมีเงื่อนไข
- บทช่วยสอน #15 : การรออย่างชัดเจนและโดยนัย
- บทช่วยสอน #16 : การจัดการการแจ้งเตือน/ป๊อปอัป
- บทช่วยสอน #17 : คำสั่งที่ใช้ทั่วไป
- บทช่วยสอน #18 : การจัดการเว็บตาราง เฟรม องค์ประกอบไดนามิก
- บทช่วยสอน #19 : การจัดการข้อยกเว้น
ซีลีเนียมเฟรมเวิร์ก:
- บทช่วยสอน #20 : เป็นที่นิยมมากที่สุด ทดสอบเฟรมเวิร์กการทำงานอัตโนมัติ (ต้องอ่าน)
- บทช่วยสอน #21 : Selenium Framework Creation & การเข้าถึงข้อมูลทดสอบจาก Excel (ต้องอ่าน)
- บทช่วยสอน #22 : การสร้าง Generics และ Testsuite
- บทช่วยสอน #23 : การใช้ Apache ANT
- บทช่วยสอน #24 : การตั้งค่า Selenium Maven Project
- บทช่วยสอน #25 : การใช้ Hudson Continuous เครื่องมือบูรณาการ
ซีลีเนียมขั้นสูง:
- บทช่วยสอน #26 : การเข้าสู่ระบบซีลีเนียม
- บทช่วยสอน #27 : เคล็ดลับและคำแนะนำในการเขียนสคริปต์ซีลีเนียม
- บทช่วยสอน #28 : การทดสอบฐานข้อมูลโดยใช้ Selenium WebDriver
- บทช่วยสอน #29 : Selenium Grid Introduction (ต้องอ่าน)
- บทช่วยสอน #30 : การทดสอบการทำงานอัตโนมัติโดยใช้แตงกวาและซีลีเนียม ตอนที่ -1
- บทช่วยสอน #31 : การรวม Selenium WebDriver กับ Cucumber Part -2
- บทช่วยสอน #32: การยืนยันในซีลีเนียมโดยใช้ Junit และ TestNG Frameworks
- บทช่วยสอน #33: ตัวอย่างการยืนยันซีลีเนียม – การใช้งานจริงในโครงการ
- บทช่วยสอน #34: โมเดลวัตถุของหน้าในซีลีเนียมโดยไม่ใช้โรงงานหน้า
- บทช่วยสอน # 35: Page Object Model ใน Selenium โดยใช้ Page Factory
- Tutorial #36: Keyword Driven Framework ใน Selenium พร้อมตัวอย่าง
- Tutorial #37: Hybrid Framework ในซีลีเนียมคืออะไร
- บทช่วยสอน #38: วิธีจัดการกับ Windows Pop Up ในซีลีเนียมโดยใช้ AutoIT
- บทช่วยสอน #39: เทคนิคการดีบักในซีลีเนียม
- บทช่วยสอน #40: การจัดการ IFrames โดยใช้ Selenium WebDriver วิธี SwitchTo()
- บทช่วยสอน #41: ฟังก์ชัน XPath สำหรับไดนามิก Xpath ในซีลีเนียม
- บทช่วยสอน #42: แกน Xpath สำหรับไดนามิก Xpath ในซีลีเนียม
- บทช่วยสอน #43: ตัวฟัง WebDriver ในซีลีเนียม
- บทช่วยสอน #44: วิธีเลือกช่องทำเครื่องหมายในซีลีเนียมพร้อมตัวอย่าง
- บทช่วยสอน #45: วิธีจัดการแถบเลื่อนในซีลีเนียม Webdriver
- บทช่วยสอน #46: วิธีถ่ายภาพหน้าจอในซีลีเนียม
- บทช่วยสอน #47: วิธีเลือกปุ่มตัวเลือกในซีลีเนียม WebDriver
- บทช่วยสอน #48: การกระทำของซีลีเนียม:จัดการคู่ & คลิกขวาในซีลีเนียม
- บทช่วยสอน #49: วิธีอัปโหลดไฟล์โดยใช้ Selenium Webdriver – 3 วิธี
คำแนะนำเกี่ยวกับซีลีเนียมและการเตรียมการสัมภาษณ์:
- บทช่วยสอน #50 : การประมาณความพยายามในการทดสอบโครงการซีลีเนียม
- บทช่วยสอน #51 : คำถามและคำตอบในการสัมภาษณ์ซีลีเนียม
จะเริ่มเรียนรู้ซีลีเนียมได้อย่างไร
นี่คือเวลาที่ดีที่สุดในการเริ่มเรียนรู้การทดสอบซีลีเนียมด้วยตัวคุณเองโดยใช้ชุดการฝึกอบรมซีลีเนียมฟรีนี้ อ่านบทแนะนำ ฝึกฝนตัวอย่างที่บ้านของคุณ และใส่คำถามของคุณในส่วนความคิดเห็นของบทช่วยสอนที่เกี่ยวข้อง เราจะตอบคำถามเหล่านี้ทั้งหมด
นี่คือความพยายามอย่างแท้จริงของเราที่จะช่วยให้คุณเรียนรู้และเชี่ยวชาญหนึ่งในเครื่องมือทดสอบซอฟต์แวร์ยอดนิยม!
บทนำเกี่ยวกับซีลีเนียม
เรามีความยินดีเป็นอย่างยิ่งที่ได้เปิดตัวบทช่วยสอนการฝึกอบรมการทดสอบซอฟต์แวร์อีกชุดหนึ่งของเรา ความเชื่อที่อยู่เบื้องหลังการแนะนำบทช่วยสอนนี้คือการทำให้คุณเป็นผู้เชี่ยวชาญในหนึ่งในโซลูชันการทดสอบอัตโนมัติของซอฟต์แวร์ที่ใช้กันอย่างแพร่หลาย นั่นคือ Selenium
ในชุดนี้ เราจะพิจารณาแง่มุมต่างๆ ของ Selenium ซีลีเนียมไม่ได้เป็นเพียงเครื่องมือ แต่เป็นกลุ่มเครื่องมืออิสระ เราจะพิจารณารายละเอียดของเครื่องมือ Selenium พร้อมตัวอย่างที่ใช้งานได้จริงในทุกที่ที่เกี่ยวข้อง
ก่อนที่คุณจะเริ่มอ่านซีรี่ส์ที่น่าตื่นเต้นและมีประโยชน์นี้ เรามาดูว่าเครื่องมือนี้มีไว้เพื่ออะไรคุณ
ทำไมต้องซีลีเนียม?
แนวโน้มของอุตสาหกรรมในปัจจุบันแสดงให้เห็นว่ามีความเคลื่อนไหวจำนวนมากต่อการทดสอบระบบอัตโนมัติ ดังนั้นกลุ่มของสถานการณ์การทดสอบด้วยตนเองซ้ำๆ จึงทำให้เกิดความต้องการในการทำให้สถานการณ์ด้วยตนเองเหล่านี้เป็นไปโดยอัตโนมัติ
การนำการทดสอบอัตโนมัติไปใช้มีประโยชน์หลายประการ มาดูกันดีกว่า:
- รองรับการดำเนินการของ Test Cases ซ้ำๆ
- ช่วยในการทดสอบ Test Matrix ขนาดใหญ่
- เปิดใช้งานการดำเนินการแบบขนาน
- ส่งเสริมการดำเนินการโดยไม่ต้องดูแล
- ปรับปรุงความแม่นยำ ซึ่งช่วยลดข้อผิดพลาดที่มนุษย์สร้างขึ้น
- ประหยัดเวลาและเงิน
ประโยชน์ทั้งหมดเหล่านี้ส่งผลให้มีดังต่อไปนี้ :
- ROI สูง
- ตลาด GoTo ที่เร็วขึ้น
มีประโยชน์ในการทดสอบการทำงานอัตโนมัติหลายประการซึ่งเป็นที่เข้าใจกันดีและมีการพูดถึงกันอย่างมากในซอฟต์แวร์ อุตสาหกรรมการทดสอบ
คำถามที่พบบ่อยที่สุดข้อหนึ่งที่มาพร้อมกับคำถามนี้คือ –
- อะไรคือเครื่องมือที่ดีที่สุดสำหรับฉันในการทำการทดสอบให้เป็นอัตโนมัติ
- มีค่าใช้จ่ายที่เกี่ยวข้องหรือไม่
- ปรับเปลี่ยนได้ง่ายหรือไม่
หนึ่งในคำตอบที่ดีที่สุดสำหรับคำถามทั้งหมดข้างต้นสำหรับการทำให้แอปพลิเคชันบนเว็บเป็นอัตโนมัติคือซีลีเนียม เนื่องจาก:
- เป็นโอเพ่นซอร์ส
- มีฐานผู้ใช้จำนวนมากและช่วยเหลือชุมชนต่างๆ
- มีหลายเบราว์เซอร์และความเข้ากันได้ของแพลตฟอร์ม
- มีการพัฒนาพื้นที่เก็บข้อมูลที่ใช้งานอยู่
- รองรับหลายภาษาการใช้งาน
ภาพรวมเบื้องต้นของซีลีเนียม
ซีลีเนียมเป็นหนึ่งในชุดการทดสอบอัตโนมัติที่ได้รับความนิยมมากที่สุด ซีลีเนียมได้รับการออกแบบในลักษณะเพื่อสนับสนุนและสนับสนุนการทดสอบระบบอัตโนมัติในด้านการทำงานของแอปพลิเคชันบนเว็บและเบราว์เซอร์และแพลตฟอร์มที่หลากหลาย เนื่องจากมีอยู่ในชุมชนโอเพ่นซอร์ส จึงกลายเป็นหนึ่งในเครื่องมือที่ได้รับการยอมรับมากที่สุดในบรรดาผู้เชี่ยวชาญด้านการทดสอบ
ซีลีเนียมรองรับเบราว์เซอร์ เทคโนโลยี และแพลตฟอร์มที่หลากหลาย
ส่วนประกอบของซีลีเนียม
ซีลีเนียมไม่ได้เป็นเพียงเครื่องมือหรือยูทิลิตีเดียว แต่เป็นแพ็คเกจของเครื่องมือทดสอบหลายอย่าง ดังนั้น เรียกว่าห้องสวีท เครื่องมือเหล่านี้แต่ละอย่างได้รับการออกแบบมาเพื่อตอบสนองความต้องการในการทดสอบและสภาพแวดล้อมการทดสอบที่แตกต่างกัน
ชุดเครื่องมือประกอบด้วยชุดเครื่องมือต่อไปนี้:
- Selenium Integrated สภาพแวดล้อมการพัฒนา (IDE)
- Selenium Remote Control (RC)
- Selenium WebDriver
- Selenium Grid
Selenium RC และ WebDriver เมื่อรวมกันแล้วเป็นที่รู้จักกันอย่างแพร่หลายในชื่อ Selenium 2 ซีลีเนียม RC เพียงอย่างเดียวยังเรียกว่า ซีลีเนียม 1 .
บทนำฉบับย่อเกี่ยวกับเวอร์ชันซีลีเนียม
Selenium Core
Selenium เป็นผลจากความพยายามอย่างต่อเนื่องของวิศวกรชื่อ Jason Huggins จาก ThoughtWorks สิ่งมีชีวิตรับผิดชอบการทดสอบแอปพลิเคชัน Time and Expenses ภายในองค์กร เขาตระหนักดีถึงความต้องการเครื่องมือทดสอบการทำงานอัตโนมัติเพื่อกำจัดงานที่ต้องทำด้วยตนเองซ้ำๆ โดยไม่ลดทอนคุณภาพและความแม่นยำ
ด้วยเหตุนี้ เขาจึงสร้าง JavaScript โปรแกรมชื่อ “ JavaScriptTestRunner ” ในต้นปี 2547 ที่สามารถควบคุมการทำงานของเบราว์เซอร์ได้โดยอัตโนมัติซึ่งดูเหมือนกับผู้ใช้สื่อสารกับเบราว์เซอร์มาก
นับจากนี้ Jason เริ่มสาธิตเครื่องมือนี้ให้กับผู้ชมจำนวนมาก ในที่สุด การอภิปรายถูกจัดวางเพื่อจัดหมวดหมู่เครื่องมือนี้ในหมวดหมู่โอเพ่นซอร์ส และมีศักยภาพที่จะเติบโตเป็นกรอบการทดสอบที่ใช้ซ้ำได้สำหรับแอปพลิเคชันบนเว็บอื่นๆ
เครื่องมือนี้ได้รับการยกย่องในภายหลังด้วยชื่อ “ Selenium Core ”.
Selenium IDE (Selenium Integrated Deve lopment Environment)
Selenium IDE ได้รับการพัฒนาโดย Shinya Kasatani ในขณะที่ศึกษา Selenium Core เขาตระหนักว่าโค้ด JavaScript นี้สามารถขยายเพื่อสร้างสภาพแวดล้อมการพัฒนาแบบรวม (IDE) ซึ่งสามารถเสียบเข้ากับ Mozilla Firefox IDE นี้สามารถบันทึกและเล่นการกระทำของผู้ใช้บนอินสแตนซ์ Firefox ที่เสียบปลั๊กไว้ ต่อมา Selenium IDE ได้กลายเป็นส่วนหนึ่งของ Selenium Package ในปี 2549 ต่อมาเครื่องมือนี้ได้สร้างคุณค่าและศักยภาพให้กับชุมชน
Selenium IDE คือง่ายและสะดวกที่สุดในบรรดาเครื่องมือทั้งหมดที่อยู่ใน Selenium Package คุณสมบัติการบันทึกและเล่นทำให้ง่ายเป็นพิเศษในการเรียนรู้โดยที่มีคนรู้จักน้อยที่สุดในภาษาโปรแกรมใดๆ ด้วยข้อดีหลายประการ ข้อเสียเล็กน้อยมาพร้อมกับ Selenium IDE ดังนั้นจึงไม่เหมาะสมที่จะใช้ในกรณีของสคริปต์ทดสอบขั้นสูง
ข้อดีและข้อเสียของ Selenium IDE:
0![](/wp-content/uploads/guides/ohzcybyemd-6.jpg)
ข้อเสียของ IDE ไม่ใช่ข้อเสียของ Selenium ในความเป็นจริง แต่เป็นเพียงข้อจำกัดของสิ่งที่ IDE สามารถบรรลุได้ ข้อจำกัดเหล่านี้สามารถแก้ไขได้โดยใช้ Selenium RC หรือ WebDriver .
Selenium RC (Selenium Remote Control)
Selenium RC เป็นเครื่องมือที่เขียนด้วยภาษาจาวาเพื่อให้ผู้ใช้สร้างสคริปต์ทดสอบสำหรับแอปพลิเคชันบนเว็บในภาษาโปรแกรมใดก็ได้ที่ผู้ใช้เลือก ผลที่ตามมาคือ Selenium RC เพื่อเอาชนะข้อเสียต่างๆ ที่เกิดขึ้นจาก Selenium IDE หรือ Core
ช่องโหว่และข้อจำกัดต่างๆ ที่เกิดขึ้นขณะใช้ Selenium Core ทำให้ยากสำหรับ ผู้ใช้สามารถใช้ประโยชน์จากเครื่องมือให้เกิดประโยชน์สูงสุด ดังนั้นจึงทำให้กระบวนการทดสอบยุ่งยากและเป็นงานที่กินเวลามาก
ข้อจำกัดที่สำคัญประการหนึ่งคือ นโยบายต้นกำเนิดเดียวกัน
ปัญหาเกี่ยวกับสิ่งเดียวกัน นโยบายแหล่งกำเนิดสินค้า:
ปัญหาของนโยบายแหล่งกำเนิดเดียวกันคือ ไม่อนุญาตให้เข้าถึง DOM ของเอกสารจากต้นทางที่แตกต่างจากต้นทางที่เรากำลังพยายามเข้าถึงเอกสาร
ต้นทางคือชุดรูปแบบ โฮสต์ และพอร์ตของ URL ตามลำดับ ตัวอย่างเช่น สำหรับ URL //www.seleniumhq.org/projects/ ต้นทางคือการรวมกันของ HTTP, seleniumhq.org, 80 ตามลำดับ
ดังนั้น Selenium Core (โปรแกรม JavaScript) ไม่สามารถเข้าถึงองค์ประกอบจาก ต้นทางที่แตกต่างจากที่เปิดตัว
ตัวอย่างเช่น ถ้าฉันเปิดโปรแกรม JavaScript จาก “//www.seleniumhq.org/” ฉันก็จะสามารถเข้าถึงหน้าต่างๆ ภายใน โดเมนเดียวกัน เช่น “//www.seleniumhq.org/projects/” หรือ “//www.seleniumhq.org/download/” โดเมนอื่นๆ เช่น google.com, yahoo.com จะไม่สามารถเข้าถึงได้อีกต่อไป
ดังนั้น ในการทดสอบแอปพลิเคชันใด ๆ ที่ใช้ Selenium Core เราจะต้องติดตั้งแอปพลิเคชันทั้งหมดบน Selenium Core เช่นเดียวกับเว็บเซิร์ฟเวอร์ เพื่อแก้ปัญหานโยบายแหล่งกำเนิดเดียวกัน
ดังนั้น เพื่อควบคุมนโยบายแหล่งกำเนิดเดียวกันโดยไม่จำเป็นต้องทำสำเนาแยกต่างหากของแอปพลิเคชันภายใต้การทดสอบ เปิดตัว Selenium Core, Selenium Remote Control ในขณะที่ Jason Huggins กำลังสาธิต Selenium เพื่อนร่วมงานอีกคนของ ThoughtWorks ชื่อ Paul Hammant ได้แนะนำวิธีแก้ปัญหาสำหรับนโยบายแหล่งกำเนิดเดียวกันและเครื่องมือที่สามารถเชื่อมต่อกับภาษาโปรแกรมที่เราเลือกได้ ดังนั้น Selenium RC จึงเข้ามา