จัดเก็บตัวแปร, Echo, Alert, PopUp จัดการ Selenium IDE

ในบทช่วยสอนนี้ เราจะเรียนรู้ คำสั่ง Store คำสั่ง Echo การแจ้งเตือน และการจัดการป๊อปอัป

Selenium ตัวแปร IDE

เก็บที่อุณหภูมิ:

เพื่อเก็บตัวแปรไว้ใน Selenium IDE เราใช้คำสั่ง "store" ภาพประกอบด้านล่างจัดเก็บค่า “บทช่วยสอน” ให้กับตัวแปรชื่อ “myVariable”

Selenium ตัวแปร IDE

หากต้องการเข้าถึงตัวแปร ให้ใส่ไว้ในสัญลักษณ์ ${ … } ตัวอย่างเช่น หากต้องการป้อนค่าของ “myVariable” ลงในกล่องข้อความ “userName” ของ Mercury ทัวร์ ให้ป้อน ${myVariable} ในช่องค่า

Selenium ตัวแปร IDE

ร้านค้าองค์ประกอบปัจจุบัน

คำสั่งนี้จะจัดเก็บค่า “true” หรือ “false” ขึ้นอยู่กับการมีอยู่ขององค์ประกอบที่ระบุ สคริปต์ด้านล่างนี้จะจัดเก็บค่าบูลีน “true” เป็น “var1” และ “false” เป็น “var2” เพื่อตรวจสอบ เราจะใช้คำสั่ง “echo” เพื่อแสดงค่าของ var1 และ var2 URL ฐานสำหรับภาพประกอบด้านล่างถูกตั้งค่าเป็น Mercury หน้าแรกของทัวร์

ร้านค้าองค์ประกอบปัจจุบัน

StoreText

คำสั่งนี้ใช้เพื่อจัดเก็บข้อความภายในขององค์ประกอบลงบนตัวแปร ภาพประกอบด้านล่างจัดเก็บข้อความด้านในของแท็กใน Facebook ไว้บนตัวแปรชื่อ 'textVar'

StoreText

เนื่องจากเป็นองค์ประกอบเดียวในหน้าเว็บ จึงปลอดภัยที่จะใช้ 'css=h1' เป็นเป้าหมายของเรา ภาพด้านล่างแสดงให้เห็นว่า Selenium IDE สามารถบันทึกสตริง “Sign Up” ในตัวแปร 'textVar' ได้ด้วยการพิมพ์ค่าอย่างถูกต้อง

StoreText

การแจ้งเตือน ป๊อปอัป และหลายรายการ 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) สร้างสคริปต์ตามที่แสดงด้านล่าง

การแจ้งเตือน ป๊อปอัป และหลายรายการ Windows

ขั้นตอน 3) รันสคริปต์และอย่าคาดหวังว่าคุณจะสามารถเห็นการแจ้งเตือนจริงได้

การแจ้งเตือน ป๊อปอัป และหลายรายการ Windows

การยืนยัน

การยืนยันคือป๊อปอัปที่ให้ปุ่มตกลงและยกเลิก ตรงข้ามกับการเตือนที่ให้เฉพาะปุ่มตกลง คำสั่งที่คุณสามารถใช้ในการจัดการการยืนยันจะคล้ายกับคำสั่งในการจัดการการแจ้งเตือน

  • ยืนยันการยืนยัน/ยืนยันไม่ยืนยัน
  • 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" เป็นเป้าหมาย
  • ตรวจสอบชื่อเรื่องของหน้าต่างที่เลือกในปัจจุบัน

แพลตฟอร์มที่หลากหลาย Windows

ขั้นตอน 1) ตั้งค่า URL หลักเป็น http://jsbin.com

ขั้นตอน 2) สร้างสคริปต์ตามที่แสดงด้านล่าง

แพลตฟอร์มที่หลากหลาย Windows

เราต้องการคำสั่ง "หยุดชั่วคราว" เพื่อรอให้หน้าต่างที่เพิ่งเปิดตัวใหม่โหลดก่อนที่เราจะเข้าถึงชื่อได้

ขั้นตอน 3) ดำเนินการสคริปต์ สังเกตว่า กรณีทดสอบ ผ่านไป หมายความว่าเราสามารถสลับระหว่างหน้าต่างต่างๆ และตรวจสอบชื่อเรื่องได้สำเร็จ

แพลตฟอร์มที่หลากหลาย Windows

โปรดจำไว้เสมอว่าการตั้งค่าเป้าหมายของ selectWindow เป็น "null" จะเลือกหน้าต่างหลักโดยอัตโนมัติ (ในกรณีนี้คือหน้าต่างที่พบองค์ประกอบ "link=here")

หมายเหตุ Facebook ได้เปลี่ยนชื่อตั้งแต่การสร้างบทช่วยสอน กรุณาแก้ไขโค้ดให้เหมาะสม

สรุป

  • คำสั่ง “store” (และตัวแปรทั้งหมด) ใช้เพื่อจัดเก็บตัวแปร Selenium IDE
  • คำสั่ง “echo” ใช้ในการพิมพ์ค่าสตริงหรือตัวแปร
  • ตัวแปรจะอยู่ภายใน ${…} เมื่อถูกพิมพ์หรือใช้กับองค์ประกอบ
  • Selenium IDE กดปุ่ม OK โดยอัตโนมัติเมื่อจัดการการแจ้งเตือน
  • เมื่อจัดการกล่องโต้ตอบการยืนยัน คุณอาจสั่งการได้ Selenium IDE ตัวเลือกใดที่จะใช้:
    • เลือกOkOnNextConfirmation/เลือกOkOnNextConfirmationAndWait
    • เลือกCancelOnNextConfirmation
  • ชื่อหน้าต่างจะใช้เป็นตัวระบุตำแหน่งเมื่อสลับระหว่างหน้าต่างเบราว์เซอร์
  • เมื่อใช้คำสั่ง “selectWindow” ให้ตั้งค่า Target ถึง “null” จะถูกนำทางโดยอัตโนมัติ Selenium IDE เพื่อเลือกหน้าต่างหลัก