ตรวจสอบองค์ประกอบปัจจุบัน & รอคำสั่งเข้า Selenium
ตรวจสอบการมีอยู่ขององค์ประกอบ
เราสามารถใช้คำสั่งสองคำสั่งต่อไปนี้เพื่อตรวจสอบการมีอยู่ขององค์ประกอบ:
- ตรวจสอบองค์ประกอบปัจจุบัน – คืนค่า TRUE หากพบองค์ประกอบที่ระบุในหน้า คืนค่า FALSE หากไม่เป็นเช่นนั้น
- ตรวจสอบองค์ประกอบไม่ปัจจุบัน – คืนค่า TRUE หากไม่พบองค์ประกอบที่ระบุที่ใดก็ได้ในเพจ FALSE หากมีอยู่
สคริปต์ทดสอบด้านล่างนี้จะตรวจสอบว่ากล่องข้อความชื่อผู้ใช้มีอยู่ภายใน Mercury หน้าแรกของทัวร์ในขณะที่กล่องข้อความชื่อจริงไม่ใช่ กล่องข้อความชื่อจริงเป็นองค์ประกอบที่มีอยู่ในหน้าการลงทะเบียนของ Mercury ทัวร์ไม่อยู่ในหน้าแรก
ตรวจสอบการมีอยู่ของข้อความบางอย่างในคำสั่งใน Selenium
- ตรวจสอบข้อความปัจจุบัน – คืนค่า TRUE หากพบสตริงข้อความที่ระบุในเพจที่ใดที่หนึ่ง คืนค่า FALSE หากไม่เป็นเช่นนั้น
- ตรวจสอบ TextNotPresent – ส่งคืน TRUE หากไม่พบสตริงข้อความที่ระบุที่ใดก็ได้ในเพจ เป็นเท็จหากพบ
โปรดจำไว้ว่าคำสั่งเหล่านี้คำนึงถึงขนาดตัวพิมพ์
ในสถานการณ์ข้างต้น “แอตแลนตาไปลาสเวกัส” ได้รับการปฏิบัติที่แตกต่างจาก “แอตแลนตาไปลาสเวกัส” เนื่องจากตัวอักษร “A” ของ “แอตแลนตา” เป็นตัวพิมพ์ใหญ่ที่ตัวแรกและตัวพิมพ์เล็กที่อีกอัน เมื่อใช้คำสั่ง VerifyTextPresent กับแต่ละคำสั่ง คำสั่งหนึ่งผ่านไปในขณะที่อีกคำสั่งหนึ่งล้มเหลว
ตรวจสอบตำแหน่งเฉพาะขององค์ประกอบ
Selenium IDE ระบุตำแหน่งขององค์ประกอบโดยการวัด (เป็นพิกเซล) ว่าอยู่ห่างจากขอบด้านซ้ายหรือด้านบนของหน้าต่างเบราว์เซอร์เพียงใด
- ตรวจสอบองค์ประกอบตำแหน่งซ้าย – ตรวจสอบว่าจำนวนพิกเซลที่ระบุตรงกับระยะห่างขององค์ประกอบจากขอบด้านซ้ายของหน้าหรือไม่ สิ่งนี้จะส่งกลับ FALSE หากค่าที่ระบุไม่ตรงกับระยะห่างจากขอบด้านซ้าย
- ตรวจสอบองค์ประกอบตำแหน่งด้านบน – ตรวจสอบว่าจำนวนพิกเซลที่ระบุตรงกับระยะห่างขององค์ประกอบจากขอบด้านบนของหน้าหรือไม่ สิ่งนี้จะส่งกลับ FALSE หากค่าที่ระบุไม่ตรงกับระยะห่างจากขอบด้านบน
รอคำสั่งใน Selenium
ต่อไปนี้เป็นประเภทของคำสั่งรอใน Selenium
และคำสั่งรอ
คำสั่งเหล่านี้เป็นคำสั่งที่จะรอให้โหลดหน้าใหม่ก่อนที่จะย้ายไปยังคำสั่งถัดไป
ตัวอย่างเช่น
- คลิกและรอ
- พิมพ์และรอ
- เลือกและรอ
คำสั่ง waitFor
คำสั่งเหล่านี้เป็นคำสั่งที่รอให้เงื่อนไขที่ระบุเป็นจริงก่อนดำเนินการต่อไปยังคำสั่งถัดไป (โดยไม่คำนึงถึงการโหลดหน้าใหม่) คำสั่งเหล่านี้เหมาะสมกว่าที่จะใช้บนเว็บไซต์ไดนามิกที่ใช้ AJAX ซึ่งเปลี่ยนค่าและองค์ประกอบโดยไม่ต้องโหลดทั้งหน้าซ้ำ ตัวอย่างได้แก่:
- waitForTitle
- รอข้อความปัจจุบัน
- รอการแจ้งเตือน
พิจารณาสถานการณ์ Facebook ด้านล่าง
เราสามารถใช้การผสมผสานระหว่าง "คลิก" และ "waitForTextPresent" เพื่อยืนยันการมีอยู่ของข้อความ "ระบุวันเกิดของคุณ"
เราไม่สามารถใช้ clickAndWait ได้เนื่องจากไม่มีการโหลดหน้าเว็บเมื่อคลิกที่ "เหตุใดฉันจึงต้องระบุวันเกิดของฉัน" ลิงค์ ถ้าเราทำเช่นนั้นการทดสอบจะล้มเหลว
สรุป
- คำสั่งที่ใช้บ่อยที่สุดสามคำสั่งในการตรวจสอบองค์ประกอบของหน้าคือ:
- ตรวจสอบองค์ประกอบปัจจุบัน/ ตรวจสอบองค์ประกอบไม่นำเสนอ
- ตรวจสอบ TextPresent / ตรวจสอบ TextNotPresent
- ตรวจสอบตำแหน่งองค์ประกอบด้านซ้าย / ตรวจสอบตำแหน่งองค์ประกอบด้านบน
- คำสั่ง Wait แบ่งออกเป็น 2 คำสั่ง:
- คำสั่ง andWait – ใช้เมื่อคาดว่าจะโหลดเพจ
- คำสั่ง waitFor - ใช้เมื่อคาดว่าจะไม่มีการโหลดหน้าใหม่