29 คำถามและคำตอบในการสัมภาษณ์ที่พบบ่อยเกี่ยวกับซีลีเนียม
เผยแพร่แล้ว: 2022-12-09แอปพลิเคชันซอฟต์แวร์ต้องผ่านขั้นตอนต่าง ๆ ก่อนที่จะปล่อยให้ผู้บริโภคขั้นสุดท้ายใช้
การทดสอบเป็นหนึ่งในบิตที่สำคัญที่สุดใน SDLC (Software Development Life Cycle) เนื่องจากเป็นการระบุจุดบกพร่องและตรวจสอบว่าแอปพลิเคชันทำงานตามที่คาดไว้หรือไม่
ในอดีต ผู้ทดสอบซอฟต์แวร์ใช้เทคนิคการทดสอบด้วยตนเอง อย่างไรก็ตาม การทดสอบด้วยตนเองนั้นใช้เวลานานและยังมาพร้อมกับความท้าทายอื่นๆ อีกด้วย ซีลีเนียมถูกสร้างขึ้นเพื่อทำการทดสอบซอฟต์แวร์โดยอัตโนมัติ
ปัจจุบันซีลีเนียมเป็นผู้นำตลาดและผู้ทดสอบซอฟต์แวร์ส่วนใหญ่ใช้ซีลีเนียมอยู่แล้ว หากคุณต้องการได้งานเป็นผู้ทดสอบซอฟต์แวร์ การเตรียมตัวให้พร้อมด้วยคำถามสัมภาษณ์ซีลีเนียมทั่วไปจะทำให้คุณได้เปรียบในการแข่งขันเหนือผู้หางานรายอื่น
ต่อไปนี้เป็น คำถามและคำตอบในการสัมภาษณ์ซีลีเนียม ที่คุณน่าจะเจอ:
การทดสอบอัตโนมัติคืออะไร?
กล่าวง่ายๆ การทดสอบระบบอัตโนมัติคือกระบวนการที่ทำให้กระบวนการเขียนและดำเนินการทดสอบซอฟต์แวร์เป็นไปโดยอัตโนมัติโดยใช้ชุดทดสอบอัตโนมัติหรือโดยไม่ต้องใช้แรงงานคนเข้าไปเกี่ยวข้อง การทดสอบการทำงานอัตโนมัติช่วยให้ผู้ทดสอบใช้เครื่องมือแยกต่างหากเพื่อดำเนินการทดสอบซ้ำๆ
ประโยชน์ของการทดสอบระบบอัตโนมัติคืออะไร?
- ประหยัดเวลาและเงิน การทดสอบซอฟต์แวร์อาจมีราคาแพงหากคุณต้องจ่ายค่าทดสอบด้วยตนเอง การทดสอบอัตโนมัติอาจมีราคาถูกลงในระยะยาว
- ส่งเสริมการใช้รหัสซ้ำ คุณสามารถตั้งค่าการทดสอบเพียงครั้งเดียว และดำเนินการซ้ำๆ
- ลดข้อผิดพลาดที่มนุษย์สร้างขึ้น ปรับปรุงความแม่นยำ
- เหมาะสำหรับการใช้งานขนาดใหญ่ การทดสอบแอปขนาดเล็กสามารถทำได้ง่ายๆ ด้วยการทดสอบด้วยตนเอง อย่างไรก็ตาม เมื่อแอปปรับขนาด ชุดทดสอบอัตโนมัติจะมีประโยชน์เมื่อแอปปรับขนาด
ซีลีเนียมคืออะไร?
Selenium เป็นชุดการทดสอบอัตโนมัติบนเว็บแบบโอเพ่นซอร์สและฟรีบน UI ที่ Jason Huggins พัฒนาขึ้นในปี 2547 การมีชุมชนที่แข็งแกร่งทำให้ Selenium เป็นหนึ่งในชุดทดสอบซอฟต์แวร์อัตโนมัติที่ได้รับความนิยมมากที่สุด Selenium Suite ได้รับการสนับสนุนบนเบราว์เซอร์และแพลตฟอร์มต่างๆ
ซีลีเนียมในรูปแบบต่าง ๆ มีอะไรบ้าง?
ซีลีเนียมไม่ได้เป็นเพียงเครื่องมือทดสอบ แต่เป็นชุดเครื่องมือหลายอย่าง ต่อไปนี้เป็นรูปแบบต่างๆ ของซีลีเนียม
- สภาพแวดล้อมการพัฒนาแบบรวมซีลีเนียม (IDE)
- ซีลีเนียม WebDriver
- ซีลีเนียมรีโมทคอนโทรล (RC)
- ซีลีเนียมกริด
Selenium รองรับภาษาโปรแกรมใดบ้าง
- หลาม
- ชวา
- ซี-ชาร์ป
- จาวาสคริปต์
- ทับทิม
- พี.เอช.พี
- เพิร์ล
ซีลีเนียมรองรับการทดสอบประเภทใดบ้าง
- การทดสอบการถดถอย
- การทดสอบการทำงาน
Selenium WebDriver คืออะไร?
Selenium WebDriver มีหน้าที่ในการสื่อสารกับเว็บเบราว์เซอร์ เครื่องมือนี้ยังอาศัยความเข้ากันได้แบบเนทีฟเพื่อทำงานต่างๆ โดยอัตโนมัติ
ซีลีเนียม IDE คืออะไร?
Selenium IDE เป็นปลั๊กอิน Firefox ที่ทำหน้าที่เป็นเครื่องมือบันทึกและเล่น ปลั๊กอินนี้สร้างขึ้นเพื่อเป็นโซลูชันสำหรับเร่งการสร้างสคริปต์การทำงานอัตโนมัติ
ซีลีเนียมกริดคืออะไร?
เครื่องมือนี้ช่วยให้ผู้ใช้สามารถแจกจ่ายการดำเนินการทดสอบไปยังสภาพแวดล้อมและแพลตฟอร์มต่างๆ ได้พร้อมกัน
ซีลีเนียม RC (รีโมทคอนโทรล) คืออะไร?
RC เป็นเครื่องมือที่ช่วยให้ใครบางคนสร้างสคริปต์ทดสอบในภาษาการเขียนโปรแกรมที่พวกเขาต้องการ เครื่องมือนี้ยังช่วยให้ผู้ใช้สามารถเรียกใช้สคริปต์ทดสอบภายในเบราว์เซอร์ที่หลากหลาย
เซเลเนสหมายความว่าอย่างไร
Selenium IDE มีภาษาที่เรียกว่า Selenese ซึ่งใช้ในการเขียนคำสั่ง Selenium คำสั่งเหล่านี้ช่วยให้ Selenium เข้าใจการดำเนินการหรือการดำเนินการที่ต้องดำเนินการ
เซเลเนสมีกี่ประเภท?
- การกระทำ นี่คือคำสั่งที่จัดการสถานะของแอปพลิเคชัน 'พิมพ์ช่องนี้' และ 'คลิกลิงก์นี้' คือตัวอย่างการดำเนินการ
- อุปกรณ์เสริม คำสั่งเหล่านี้กำหนดสถานะของแอปพลิเคชันและเก็บผลลัพธ์ไว้ในตัวแปร
- การยืนยัน นี่คือคำสั่งที่ช่วยให้ผู้ทดสอบสามารถตรวจสอบสถานะของแอปพลิเคชันได้
วิธีการค้นหาองค์ประกอบในซีลีเนียมคืออะไร?
- รหัส
- ชื่อคลาส
- ชื่อ
- ชื่อแท็ก
- ข้อความลิงค์
- ข้อความลิงก์บางส่วน
- Xpath
- ตัวเลือก CSS
- ทบ
XPath คืออะไร?
XPath ค้นหาองค์ประกอบเว็บตามเส้นทาง Extensible Markup Language XML จัดเก็บและจัดระเบียบและขนส่งข้อมูลตามอำเภอใจ
“/” และ “//” ใน XPath อะไรคือความแตกต่าง?
“/” หรือสแลสเดียว h สร้าง XPath ที่มีพาธสัมบูรณ์ ดังนั้น XPath จึงถูกสร้างขึ้นเพื่อเริ่มการเลือกจากโหนดเริ่มต้น/โหนดเอกสาร
“//” หรือเครื่องหมายทับคู่ ใช้เพื่อสร้าง XPath ที่มีเส้นทางสัมพัทธ์ ดังนั้น XPath ที่สร้างขึ้นจะเริ่มการเลือกจากที่ใดก็ได้ภายในเอกสาร
Absolute XPath คืออะไร?
Absolute XPath เริ่มต้นด้วยเครื่องหมายทับ “/” เพียงครั้งเดียว เส้นทางดังกล่าวมีเส้นทางที่สมบูรณ์จากรากไปยังองค์ประกอบที่เราต้องการระบุ
แยกความแตกต่างระหว่าง findElement() และ findElements()
- findElements(): ใช้กลไกการระบุตำแหน่งเพื่อค้นหาองค์ประกอบทั้งหมดในหน้าปัจจุบันและส่งคืนรายการองค์ประกอบเว็บทั้งหมด
- findElement() : ค้นหาองค์ประกอบแรกภายในหน้าปัจจุบันโดยใช้กลไกการค้นหาที่กำหนดและส่งคืนองค์ประกอบเว็บเพียงรายการเดียว
คำอธิบายประกอบประเภทใดที่ใช้ในซีลีเนียม
- ก่อนสวีท
- ก่อนการทดสอบ
- ก่อนเรียน
- ก่อนวิธีการ
- กรณีทดสอบ
- อาฟเตอร์เมธอด
- หลังเลิกเรียน
- อาฟเตอร์เทส
- อาฟเตอร์สวีท
การยืนยันในซีลีเนียมคืออะไร?
การยืนยันกำหนดว่าแอปพลิเคชันทำงานตามที่คาดไว้หรือไม่ หากการยืนยันล้มเหลว กรณีทดสอบล้มเหลว และการดำเนินการจะหยุดลง

คำสั่ง Assert และ Verify คืออะไร?
- Assert : ถ้าเงื่อนไข assert เป็นจริง โปรแกรมจะดำเนินการทดสอบขั้นต่อไป อย่างไรก็ตาม หากเงื่อนไขเป็นเท็จ การดำเนินการจะหยุดลง และจะไม่มีการทดสอบอื่นใดอีก
- ตรวจสอบ : การดำเนินการทดสอบจะดำเนินการต่อไปไม่ว่าเงื่อนไขที่ตรวจสอบจะเป็นจริงหรือเท็จ
นโยบายแหล่งกำเนิดเดียวกันคืออะไร และซีลีเนียมจัดการอย่างไร
นโยบายที่มาเดียวกันสามารถอธิบายได้ว่าเป็นกลไกความปลอดภัยที่จำกัดวิธีที่สคริปต์หรือเอกสารที่โหลดโดยต้นทางที่ระบุโต้ตอบกับทรัพยากรจากต้นทางอื่น วิธีการดังกล่าวช่วยแยกสคริปต์ที่เป็นอันตราย
ซีลีเนียมใช้วิธีการฉีดพร็อกซีเพื่อใช้นโยบายแหล่งกำเนิดเดียวกัน ในการตั้งค่านี้ เซิร์ฟเวอร์ Selenium จะทำหน้าที่เป็นพร็อกซี HTTP ที่กำหนดค่าโดยไคลเอ็นต์ระหว่างแอปพลิเคชันภายใต้การทดสอบและเบราว์เซอร์ การฉีดพร็อกซีนี้จะปกปิด AUT ผ่าน URL สมมติ
คุณลักษณะการหยุดชั่วคราวใน Selenium IDE คืออะไร
หยุดชั่วคราวเป็นคำสั่งรอ Selenium IDE ที่ชะลอการดำเนินการทดสอบอัตโนมัติตามเวลาที่กำหนด การรอจะแสดงเป็นมิลลิวินาที หมายความว่าคุณควรป้อน 3000 หากคุณต้องการรอ 3 วินาที
เหตุใดการทดสอบ Selenium IDE จึงล้มเหลว
- เว็บไซต์แบบอะซิงโครนัส การทดสอบซีลีเนียมถูกสร้างขึ้นตามลำดับที่แน่นอน อย่างไรก็ตาม บางเว็บไซต์ใช้สถาปัตยกรรมแบบอะซิงโครนัส และบางครั้ง การตอบสนองจะไม่เป็นไปตามลำดับ
- หมดเวลา ซีลีเนียมอาจล้มเหลวขณะรอส่วนประกอบโหลด ข้อผิดพลาดดังกล่าวสามารถจัดการได้โดยใช้ "รอ"
- แมลง ซีลีเนียมได้รับการปรับปรุงอยู่เสมอ อย่างไรก็ตาม คุณอาจพบข้อผิดพลาดในบางครั้ง ซึ่งอาจทำให้การทดสอบล้มเหลว
- การเปลี่ยนแปลงซอร์สโค้ดเล็กน้อย หากมีการตรวจสอบการเปลี่ยนแปลงเครื่องระบุตำแหน่ง การทดสอบทั้งหมดที่ส่งไปยังเครื่องระบุตำแหน่งนี้อาจล้มเหลวได้
TestNG คืออะไร และมีคุณสมบัติอะไรบ้าง
TestNG เป็น Test Automation Framework ที่ได้แรงบันดาลใจจาก JUnit และ NUnit NG, Next Generation เป็นเครื่องมือโอเพ่นซอร์สและฟรี
นี่คือคุณสมบัติบางอย่างของ TestNG;
- มีการยืนยันประเภทต่างๆ
- อนุญาตให้ผู้ใช้เรียกใช้การทดสอบแบบขนาน
- คุณสามารถทำการทดสอบขึ้นอยู่กับแต่ละอื่น ๆ โดยใช้แอตทริบิวต์ 'dependsOnMethods' และ 'dependsOnGroups'
- ดำเนินการทดสอบที่ขับเคลื่อนด้วยข้อมูล
- คุณสามารถจัดกลุ่มการทดสอบต่างๆ
อะไรคือความแตกต่างระหว่างการรอโดยนัยและการรอโดยชัดแจ้ง?
- การรอโดยนัย บอกให้ WebDriver รอเป็นระยะเวลาหนึ่งก่อนที่จะส่งข้อยกเว้น ค่าเริ่มต้นคือ 0 และเมื่อตั้งเวลาแล้ว WebDriver จะรอจนกว่าจะหมดเวลาเพื่อส่งข้อยกเว้น
- Explicit Wait บอกให้ WebDriver รอเงื่อนไขบางอย่างหรือเงื่อนไขที่คาดหวังก่อนที่จะโยนข้อยกเว้น “ElementNotVisibleException” Explicit Wait เป็นการรอ 'อัจฉริยะ' ที่ใช้กับองค์ประกอบที่ระบุเท่านั้น
ที่เก็บวัตถุคืออะไร?
Object Repository คือชุดของคู่คีย์-ค่าในสคริปต์ทดสอบ GUI อัตโนมัติที่ช่วยลดภาระในการบำรุงรักษาสคริปต์ทดสอบ กุญแจสำคัญในกรณีดังกล่าวคือชื่อโลจิคัลที่ระบุอ็อบเจ็กต์ รวมถึงค่าที่มาพร้อมกับคุณสมบัติเฉพาะที่ระบุอ็อบเจ็กต์บนหน้าจอ
นอกจากนี้ยังเป็นตำแหน่งศูนย์กลางที่จัดเก็บและจัดการข้อมูลทั้งหมด
คุณจะพบข้อยกเว้นอะไรบ้างในโปรแกรมควบคุมเว็บ Selenium
ข้อยกเว้นคือเหตุการณ์ที่ไม่เคยเกิดขึ้นมาก่อนหรือผิดปกติที่อาจเกิดขึ้นระหว่างการทำงานของโปรแกรมหรือแอปพลิเคชันซอฟต์แวร์ นอกจากนี้ยังสามารถอธิบายได้ว่าเป็นข้อผิดพลาดรันไทม์ของเหตุการณ์หรือผลลัพธ์ที่ไม่คาดคิดซึ่งรบกวนหรือมีอิทธิพลต่อการไหลของโปรแกรมตามปกติ
นี่เป็นข้อยกเว้นที่สำคัญใน Selenium Web Driver;
- ไม่มีข้อยกเว้นหน้าต่างดังกล่าว WebDriver พยายามสลับไปยังหน้าต่างที่ไม่ถูกต้อง (ใช้งานไม่ได้)
- NoSuchElementException เกิดขึ้นเมื่อองค์ประกอบไม่สามารถเข้าถึงได้
- ไม่มีAlertPresentException ข้อยกเว้นนี้เกิดขึ้นเมื่อคุณพยายามสลับไปยังไม่มีการแจ้งเตือน
- ข้อยกเว้นการหมดเวลา คำสั่งเฉพาะไม่เสร็จสิ้นภายในเวลาที่กำหนด
- ElementNotVisibleException.
- ElementNotSelectableException ข้อยกเว้นดังกล่าวเกิดขึ้นเมื่อองค์ประกอบถูกปิดใช้งาน (ไม่สามารถเลือกหรือคลิกได้) แม้ว่าจะมีอยู่ใน DOM
- เซสชันไม่พบข้อยกเว้น ในกรณีนี้ WebDriver จะทำงานทันทีหลังจากปิดเบราว์เซอร์
รายชื่อ Locator ประเภทต่างๆ
- รหัส
- ชื่อ
- ชื่อคลาส
- ชื่อแท็ก
- ข้อความลิงค์
- ข้อความลิงค์บางส่วน
- ตัวเลือก CSS
- XPath
จุดพักและจุดเริ่มต้นคืออะไร
- จุดเริ่มต้น แสดงให้เห็นว่าการดำเนินการของรหัสควรเริ่มต้นที่ใด จุดเริ่มต้นสามารถใช้เพื่อเรียกใช้สคริปต์ทดสอบจากตรงกลางของรหัสหรือเบรกพอยต์
- จุดพัก ใช้เพื่อหยุดการทำงานของโค้ด เบรกพอยต์ใช้เพื่อยืนยันว่ารหัสของคุณทำงานตามที่คาดไว้
ห่อ
ข้างต้นคือคำถามสัมภาษณ์เกี่ยวกับซีลีเนียมบางข้อที่คุณอาจพบในการสัมภาษณ์งานด้านวิศวกรรมทดสอบระบบอัตโนมัติครั้งต่อไปของคุณ ตรวจสอบให้แน่ใจว่าคุณมีทักษะที่จำเป็นก่อนที่จะสมัครเป็นวิศวกรทดสอบระบบอัตโนมัติ