นักพัฒนาใช้เวลานับไม่ถ้วนในการทดสอบการทำงานของเว็บแอปพลิเคชันทั้งในและนอกองค์กร
ก่อนที่ Selenium จะทำทั้งหมดด้วยมืออย่างแท้จริง ผู้คนหลายสิบคนทดสอบสคริปต์หลายร้อยตัวในเบราว์เซอร์ที่มีอยู่ทั้งหมด ระบุปัญหาและพยายามระบุสาเหตุของการเกิดขึ้น
ซีลีเนียมคืออะไร
การทำงานกับภาษาโปรแกรมส่วนใหญ่ที่รองรับระบบปฏิบัติการและเบราว์เซอร์หลักทั้งหมด ปัจจุบัน Selenium ถูกใช้โดยบริษัทต่างๆ เช่น Netflix, Google, HubSpot, Fitbit และอื่นๆ Suite ทั้งหมดมีโซลูชันที่หลากหลายสำหรับงานทดสอบและความต้องการต่างๆ
โครงสร้างพื้นฐานของชุดซีลีเนียม
โปรแกรมควบคุมเว็บ
ในกรณีส่วนใหญ่ เมื่อมีคนพูดถึง Selenium พวกเขาหมายถึง Selenium WebDriver การพัฒนาผลิตภัณฑ์จำนวนมากมุ่งเน้นไปที่องค์ประกอบนี้
การทดสอบระบบอัตโนมัติใน WebDriver มักถูกนำมาเปรียบเทียบกับการขับรถแท็กซี่ มีสามองค์ประกอบที่เกี่ยวข้องในการขับรถแท็กซี่และการทดสอบ: ลูกค้า (วิศวกรทดสอบ) – รถยนต์ (เบราว์เซอร์) – คนขับรถแท็กซี่ (WebDriver)
จากการเปรียบเทียบนี้ โปรแกรมเมอร์จะบอกคนขับก่อนถึงวิธีการโต้ตอบกับองค์ประกอบของเบราว์เซอร์ จากนั้น WebDriver จะให้คำสั่งเบราว์เซอร์ (เครื่อง) ที่มีลักษณะดังนี้: เมื่อปุ่มทำงานอยู่ ให้คลิกที่ปุ่ม หลังจากนั้นเบราว์เซอร์จะให้ข้อมูลเกี่ยวกับค่าและสถานะขององค์ประกอบเว็บแก่คนขับซึ่งจะถูกส่งไปยังสคริปต์ในภายหลัง พูดง่ายๆ คือ เครื่องมือ Selenium WebDriver ใช้เพื่อรวบรวมข้อมูลและตรวจสอบให้แน่ใจว่าแอปพลิเคชันทำงานอย่างถูกต้อง กล่าวคือ คนขับรู้วิธีขับรถและรู้ว่าจะไปที่ไหน
ซีลีเนียม IDE
นี่เป็นส่วนขยายสำหรับ Firefox ไม่ได้ออกแบบมาเพื่อการพัฒนา แต่เรียนรู้ได้ง่าย และเหมาะสำหรับงานสร้างต้นแบบ
การทำงานใน Selenium IDE ไม่จำเป็นต้องมีทักษะการเขียนโปรแกรม เนื่องจากโดยทั่วไปแล้วปลั๊กอินจะบันทึกการกระทำของวิศวกรในเบราว์เซอร์และทำซ้ำ โปรแกรมเมอร์ไม่ได้พิจารณาว่าเป็นผลิตภัณฑ์อิสระเต็มรูปแบบ แต่ก็เพียงพอแล้วที่จะทำงานกับสคริปต์ธรรมดาๆ
ซีลีเนียมกริด
ให้คุณเรียกใช้การทดสอบแบบขนานบนเครื่องและเบราว์เซอร์หลายเครื่องพร้อมกันได้ หน้าที่หลักของเครื่องมือนี้คือประหยัดเวลา หากคุณต้องการเรียกใช้ เช่น การทดสอบ 100 ครั้งเพื่อตั้งค่าเครื่องเสมือนหรือเครื่องจริงสี่เครื่อง จะใช้ Selenium Grid

เนื่องจากสคริปต์ของเบราว์เซอร์โดยทั่วไปช้า การใช้เทคนิคด้านประสิทธิภาพ เช่น การทดสอบแบบขนานสามารถช่วยแก้ปัญหานี้ได้ นอกจากนี้ยังสามารถใช้เพื่อทดสอบแอปพลิเคชันเดียวกันในเบราว์เซอร์ต่างๆ พร้อมกันได้ เมื่อ Firefox ทำงานบนคอมพิวเตอร์เครื่องหนึ่ง Chrome กำลังทำงานในเครื่องอื่น เป็นต้น สามารถสร้างการกำหนดค่าต่างๆ ได้โดยการรวมเบราว์เซอร์และระบบปฏิบัติการเวอร์ชันต่างๆ เข้าด้วยกัน ไม่จำเป็นต้องพูด เมื่อใช้ในสภาพแวดล้อมการผลิตขนาดใหญ่ Grid จะช่วยประหยัดเวลาได้สี่เท่า
ข้อดี
ซีลีเนียมไม่ใช่เครื่องมือทดสอบระบบอัตโนมัติเพียงเครื่องมือเดียวในตลาด แต่เป็นเครื่องมือฟรีเพียงเครื่องมือเดียวที่สามารถแข่งขันกับผลิตภัณฑ์แบบชำระเงินได้ Katalon Studio เป็นอีกทางเลือกหนึ่งที่ใช้การได้ แต่ไม่มีหลายภาษา ไม่ทำงานบน Linux และไม่มีฐานแฟนคลับ
ไม่น่าแปลกใจเลย แม้แต่บริษัทขนาดใหญ่ก็ไม่รีบร้อนที่จะย้ายไปที่ไซต์แบบชำระเงิน และแจกเงินหลายพันดอลลาร์สำหรับสิ่งที่ซีลีเนียมทำโดยไม่เสียค่าใช้จ่าย จำนวนบริษัทที่ทำงานร่วมกับซีลีเนียมมีมากกว่า 55,000 แห่ง ส่วนแบ่งการตลาดในการทดสอบและระบบอัตโนมัติเกือบ 30%
รองรับภาษา แพลตฟอร์ม เบราว์เซอร์:
- จาวา
- C#
- PHP
- ทับทิม
- เพิร์ล
- หลาม
- จาวาสคริปต์
- วัตถุประสงค์-C
- ฮาสเคล
- ร
- หน้าต่าง
- ลินุกซ์
- แมค
- แอนดรอยด์
- iOS
- Google Chrome
- Internet Explorer
- Firefox
- ซาฟารี
- โอเปร่า
- Microsoft Edge
- HtmlUnitDriver
ข้อเสีย
บางทีข้อเสียที่สำคัญเพียงอย่างเดียวคือซีลีเนียมสามารถใช้ได้ในเว็บแอปพลิเคชันเท่านั้น แต่นี่เป็นข้อจำกัดมากกว่า ไม่ใช่ข้อเสีย เนื่องจาก WinAppDriver สามารถรวมเข้ากับ Selenium เพื่อทดสอบแอปพลิเคชันเดสก์ท็อปได้
สรุปประวัติศาสตร์เล็กน้อย
ในปี 2547 Jason Huggins ได้สร้างเฟรมเวิร์ก JavaScript ที่ออกแบบมาเพื่อให้ผู้สร้างเป็นอิสระจากการทดสอบด้วยตนเองซ้ำๆ ผลิตภัณฑ์ซึ่งเรียกกันว่า JavaScriptTestRunner เป็นครั้งแรก สามารถเรียกใช้การทดสอบโดยตรงในเบราว์เซอร์ จัดการการโต้ตอบของหน้า และเรียกใช้ซ้ำโดยไม่ต้องป้อนข้อมูลด้วยตนเอง เครื่องมือ JavaScript นี้ได้รับความนิยมหลังจาก Huggins ตระหนักถึงศักยภาพอย่างเต็มที่ ทำให้เป็นโอเพ่นซอร์สและเปลี่ยนชื่อเป็น Selenium Remote Control ส่วนที่เป็นนวัตกรรมใหม่คือจนถึงขณะนี้ยังไม่มีเครื่องมืออื่นใดที่อนุญาตให้ผู้ทดสอบสื่อสารกับเบราว์เซอร์ในภาษาโปรแกรมที่ต้องการได้
อย่างไรก็ตาม ในไม่ช้าก็เห็นได้ชัดว่าเบราว์เซอร์ใช้การจำกัดความปลอดภัยกับ JavaScript ทำให้ไม่สามารถใช้เครื่องมือนี้ได้อย่างเต็มประสิทธิภาพ ในขณะนั้น Google เป็นผู้ใช้ตัวยงของ Selenium และวิศวกรพยายามอย่างเต็มที่เพื่อเลี่ยงข้อจำกัด หนึ่งในนั้นคือ Simon Stewart เริ่มทำงานกับผลิตภัณฑ์ที่จะโต้ตอบโดยตรงกับเบราว์เซอร์และเรียกมันว่า WebDriver