จัดเก็บตัวแปร, Echo, Alert, PopUp จัดการ Selenium IDE
ในบทช่วยสอนนี้ เราจะเรียนรู้ คำสั่ง Store คำสั่ง Echo การแจ้งเตือน และการจัดการป๊อปอัป
Selenium ตัวแปร IDE
เก็บที่อุณหภูมิ:
เพื่อเก็บตัวแปรไว้ใน Selenium IDE เราใช้คำสั่ง "store" ภาพประกอบด้านล่างจัดเก็บค่า “บทช่วยสอน” ให้กับตัวแปรชื่อ “myVariable”
หากต้องการเข้าถึงตัวแปร ให้ใส่ไว้ในสัญลักษณ์ ${ … } ตัวอย่างเช่น หากต้องการป้อนค่าของ “myVariable” ลงในกล่องข้อความ “userName” ของ Mercury ทัวร์ ให้ป้อน ${myVariable} ในช่องค่า
ร้านค้าองค์ประกอบปัจจุบัน
คำสั่งนี้จะจัดเก็บค่า “true” หรือ “false” ขึ้นอยู่กับการมีอยู่ขององค์ประกอบที่ระบุ สคริปต์ด้านล่างนี้จะจัดเก็บค่าบูลีน “true” เป็น “var1” และ “false” เป็น “var2” เพื่อตรวจสอบ เราจะใช้คำสั่ง “echo” เพื่อแสดงค่าของ var1 และ var2 URL ฐานสำหรับภาพประกอบด้านล่างถูกตั้งค่าเป็น Mercury หน้าแรกของทัวร์
StoreText
คำสั่งนี้ใช้เพื่อจัดเก็บข้อความภายในขององค์ประกอบลงบนตัวแปร ภาพประกอบด้านล่างจัดเก็บข้อความด้านในของแท็กใน Facebook ไว้บนตัวแปรชื่อ 'textVar'
เนื่องจากเป็นองค์ประกอบเดียวในหน้าเว็บ จึงปลอดภัยที่จะใช้ 'css=h1' เป็นเป้าหมายของเรา ภาพด้านล่างแสดงให้เห็นว่า Selenium IDE สามารถบันทึกสตริง “Sign Up” ในตัวแปร 'textVar' ได้ด้วยการพิมพ์ค่าอย่างถูกต้อง
การแจ้งเตือน ป๊อปอัป และหลายรายการ Windows
การแจ้งเตือนอาจเป็นรูปแบบหน้าต่างป๊อปอัปที่เรียบง่ายที่สุด Selenium คำสั่ง IDE ที่ใช้ในการจัดการการแจ้งเตือนมีดังต่อไปนี้:
การแจ้งเตือน | การใช้งาน |
---|---|
ยืนยันการแจ้งเตือน assertNotAlert |
ดึงข้อความแจ้งเตือนและยืนยันเป็นค่าสตริงที่คุณระบุ |
ยืนยันการแจ้งเตือนปัจจุบัน assertAlertNotPresent |
ยืนยันว่ามีการแจ้งเตือนอยู่หรือไม่ |
ร้านค้าแจ้งเตือน | ดึงข้อความแจ้งเตือนและเก็บไว้ในตัวแปรที่คุณจะระบุ |
ร้านค้าAlertPresent | คืนค่า TRUE หากมีการแจ้งเตือน คืนค่า FALSE หากมีการแจ้งเตือน |
ตรวจสอบการแจ้งเตือน ตรวจสอบ NotAlert |
ดึงข้อความแจ้งเตือนและตรวจสอบว่าเท่ากับค่าสตริงที่คุณระบุหรือไม่ |
ตรวจสอบการแจ้งเตือนปัจจุบัน ตรวจสอบการแจ้งเตือนไม่นำเสนอ |
ตรวจสอบว่ามีการแจ้งเตือนอยู่หรือไม่ |
จำสองสิ่งนี้เมื่อทำงานกับการแจ้งเตือน:
- Selenium IDE จะคลิกที่ปุ่ม OK ของหน้าต่างการแจ้งเตือนโดยอัตโนมัติ ดังนั้นคุณจะไม่สามารถดูการแจ้งเตือนจริงได้
- Selenium IDE จะไม่สามารถจัดการการแจ้งเตือนที่อยู่ในฟังก์ชัน onload() ของเพจได้ จะสามารถจัดการได้เฉพาะการแจ้งเตือนที่สร้างขึ้นหลังจากโหลดหน้าเว็บเสร็จสมบูรณ์แล้วเท่านั้น
ในตัวอย่างนี้ เราจะใช้คำสั่ง storeAlert เพื่อแสดงสิ่งนั้น Selenium IDE ไม่แสดงการแจ้งเตือนจริง แต่ยังคงสามารถดึงข้อความได้
ขั้นตอน 1) In Selenium IDE ตั้งค่า URL ฐานเป็น http://jsbin.com & URL แบบเต็มคือ: http://jsbin.com/usidix
ขั้นตอน 2) สร้างสคริปต์ตามที่แสดงด้านล่าง
ขั้นตอน 3) รันสคริปต์และอย่าคาดหวังว่าคุณจะสามารถเห็นการแจ้งเตือนจริงได้
การยืนยัน
การยืนยันคือป๊อปอัปที่ให้ปุ่มตกลงและยกเลิก ตรงข้ามกับการเตือนที่ให้เฉพาะปุ่มตกลง คำสั่งที่คุณสามารถใช้ในการจัดการการยืนยันจะคล้ายกับคำสั่งในการจัดการการแจ้งเตือน
- ยืนยันการยืนยัน/ยืนยันไม่ยืนยัน
- assertConfirmationPresent/assertConfirmationNotPresent
- การยืนยันร้านค้า
- ร้านค้ายืนยันปัจจุบัน
- ตรวจสอบยืนยัน/ยืนยันไม่ยืนยัน
- ตรวจสอบยืนยันปัจจุบัน/ตรวจสอบยืนยันไม่ปัจจุบัน
อย่างไรก็ตาม นี่เป็นคำสั่งเพิ่มเติมที่คุณต้องใช้เพื่อสั่งการ Selenium ตัวเลือกใดให้เลือกไม่ว่าจะเป็นปุ่มตกลงหรือปุ่มยกเลิก
- เลือกOkOnNextConfirmation/เลือกOkOnNextConfirmationAndWait
- เลือกCancelOnNextConfirmation
คุณควรใช้คำสั่งเหล่านี้ก่อนคำสั่งที่ทริกเกอร์กล่องยืนยันเพื่อให้ Selenium IDE จะทราบล่วงหน้าว่าต้องเลือกตัวเลือกใด แต่คุณจะไม่สามารถดูกล่องยืนยันจริงระหว่างการเรียกใช้สคริปต์ได้
ให้เราทดสอบหน้าเว็บที่มีปุ่มที่ถูกเข้ารหัสเพื่อแสดงว่าผู้ใช้กดปุ่ม OK หรือปุ่ม CANCEL
ขั้นตอน 1) In Selenium IDE ตั้งค่า URL ฐานเป็น http://jsbin.com
& URL แบบเต็มคือ: http://jsbin.com/enifaf
ขั้นตอน 2) สร้างสคริปต์ตามที่แสดงด้านล่าง คราวนี้เราจะกดปุ่ม OK ก่อน
ขั้นตอน 3) รันสคริปต์และสังเกตว่าคุณไม่เห็นการยืนยันจริง แต่หน้าเว็บสามารถระบุได้ว่าปุ่มใด Selenium IDE กดแล้ว
ขั้นตอน 4) แทนที่คำสั่ง “chooseOkOnNextConfirmation” ด้วย “chooseCancelOnNextConfirmation” และรันสคริปต์อีกครั้ง
แพลตฟอร์มที่หลากหลาย Windows
หากคุณคลิกลิงก์ที่เปิดหน้าต่างแยกต่างหาก คุณต้องสั่งสอนก่อน Selenium IDE เพื่อเลือกหน้าต่างนั้นก่อนจึงจะสามารถเข้าถึงองค์ประกอบภายในได้ ในการดำเนินการนี้ คุณจะต้องใช้ชื่อเรื่องของหน้าต่างเป็นตัวระบุตำแหน่ง
เราใช้คำสั่ง selectWindow ในการสลับระหว่างหน้าต่าง
เราจะใช้ลิงก์ http://jsbin.com/ocinaj/1 ซึ่งมีชื่อว่า “First Window” ไฮเปอร์ลิงก์ "ที่นี่" ที่พบในหน้านั้นจะเปิด Facebook ในหน้าต่างใหม่ หลังจากนั้นเราจะแนะนำ Selenium IDE เพื่อทำสิ่งต่อไปนี้:
- ถ่ายโอนการควบคุมจากหน้าต่างหลักไปยังหน้าต่าง Facebook ที่เพิ่งเปิดตัวใหม่โดยใช้คำสั่ง "selectWindow" และชื่อเป็นตัวระบุตำแหน่ง
- ตรวจสอบชื่อของหน้าต่างใหม่
- เลือกกลับหน้าต่างเดิมโดยใช้คำสั่ง "selectWindow" และ "null" เป็นเป้าหมาย
- ตรวจสอบชื่อเรื่องของหน้าต่างที่เลือกในปัจจุบัน
ขั้นตอน 1) ตั้งค่า URL หลักเป็น http://jsbin.com
ขั้นตอน 2) สร้างสคริปต์ตามที่แสดงด้านล่าง
เราต้องการคำสั่ง "หยุดชั่วคราว" เพื่อรอให้หน้าต่างที่เพิ่งเปิดตัวใหม่โหลดก่อนที่เราจะเข้าถึงชื่อได้
ขั้นตอน 3) ดำเนินการสคริปต์ สังเกตว่า กรณีทดสอบ ผ่านไป หมายความว่าเราสามารถสลับระหว่างหน้าต่างต่างๆ และตรวจสอบชื่อเรื่องได้สำเร็จ
โปรดจำไว้เสมอว่าการตั้งค่าเป้าหมายของ selectWindow เป็น "null" จะเลือกหน้าต่างหลักโดยอัตโนมัติ (ในกรณีนี้คือหน้าต่างที่พบองค์ประกอบ "link=here")
หมายเหตุ Facebook ได้เปลี่ยนชื่อตั้งแต่การสร้างบทช่วยสอน กรุณาแก้ไขโค้ดให้เหมาะสม
สรุป
- คำสั่ง “store” (และตัวแปรทั้งหมด) ใช้เพื่อจัดเก็บตัวแปร Selenium IDE
- คำสั่ง “echo” ใช้ในการพิมพ์ค่าสตริงหรือตัวแปร
- ตัวแปรจะอยู่ภายใน ${…} เมื่อถูกพิมพ์หรือใช้กับองค์ประกอบ
- Selenium IDE กดปุ่ม OK โดยอัตโนมัติเมื่อจัดการการแจ้งเตือน
-
เมื่อจัดการกล่องโต้ตอบการยืนยัน คุณอาจสั่งการได้ Selenium IDE ตัวเลือกใดที่จะใช้:
- เลือกOkOnNextConfirmation/เลือกOkOnNextConfirmationAndWait
- เลือกCancelOnNextConfirmation
- ชื่อหน้าต่างจะใช้เป็นตัวระบุตำแหน่งเมื่อสลับระหว่างหน้าต่างเบราว์เซอร์
- เมื่อใช้คำสั่ง “selectWindow” ให้ตั้งค่า Target ถึง “null” จะถูกนำทางโดยอัตโนมัติ Selenium IDE เพื่อเลือกหน้าต่างหลัก