ยืนยันและตรวจสอบใน Selenium IDE
⚡ สรุปอย่างชาญฉลาด
Selenium IDE ที่มีสคริปต์และคำสั่งช่วยให้ผู้ทดสอบสามารถบันทึก แก้ไข และเล่นซ้ำการกระทำของเบราว์เซอร์โดยใช้ Selenese ซึ่งเป็นภาษาคำสั่งขนาดเล็กของ IDE บทความนี้ครอบคลุมการบันทึกสคริปต์ การเขียน Selenese ด้วยตนเอง การเลือกใช้ระหว่าง Assert และ Verify และการดีบักด้วยเบรกพอยต์

เราจะใช้ Mercury เว็บไซต์ทัวร์คือแอปพลิเคชันเว็บที่เรากำลังทดสอบ เป็นระบบจองตั๋วเครื่องบินออนไลน์ที่มีองค์ประกอบทั้งหมดที่เราต้องการสำหรับบทเรียนนี้ URL พื้นฐานของเว็บไซต์คือ https://demo.guru99.com/test/newtours/.
ตอนนี้ให้เราสร้างสคริปต์ทดสอบแรกของเราใน Selenium เราจะใช้ IDE โดยใช้วิธีที่พบได้บ่อยที่สุด คือ การบันทึก จากนั้น เราจะเรียกใช้สคริปต์โดยใช้ฟีเจอร์การเล่นซ้ำ
หมายเหตุ บทช่วยสอนนี้ใช้แบบคลาสสิก Firefox- เท่านั้น Selenium IDE 1.x พร้อม Firebug เพื่อแนะนำพื้นฐานของ Selenese Firebug ถูกยกเลิกการใช้งานไปแล้วใน Firefox 57 และสมัยใหม่ Selenium IDE ตอนนี้คือ Chrome / Firefox / ส่วนขยายเบราว์เซอร์ Edge ที่มี UI แตกต่างออกไป แนวคิดของ Selenese ประเภทคำสั่ง และคุณสมบัติการดีบักด้านล่างยังคงใช้งานได้โดยตรงกับ IDE ใหม่
สร้างสคริปต์โดยการบันทึก
ขั้นตอน 1)
- ยิง Firefox และ Selenium ไอดี.
- พิมพ์ค่าสำหรับ URL ฐานของเรา:
https://demo.guru99.com/test/newtours/. - Togglเปิดใช้งานปุ่มบันทึก (หากไม่ได้เปิดใช้งานโดยค่าเริ่มต้น)
ขั้นตอน 2) In Firefox, นำทางไปยัง https://demo.guru99.com/test/newtours/. Firefox ควรนำไปสู่หน้าเว็บที่มีลักษณะคล้ายกับภาพด้านล่าง
ขั้นตอน 3)
- คลิกขวาบนพื้นที่ว่างใดๆ ในหน้าเว็บ เช่น บน Mercury โลโก้ทัวร์อยู่ที่มุมบนซ้าย เมื่อกดแล้วจะแสดงหน้าเว็บ... Selenium เมนูบริบทของ IDE อย่า คลิกที่วัตถุหรือรูปภาพที่มีไฮเปอร์ลิงก์
- เลือก แสดงคำสั่งที่ใช้งานได้ ตัวเลือก
- Choose
assertTitle exact: Welcome: Mercury Toursคำสั่งนี้ตรวจสอบว่าชื่อหน้าเว็บถูกต้องหรือไม่
ขั้นตอน 4)
- ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร ชื่อผู้ใช้ กล่องข้อความของ Mercury ทัวร์ กรุณาป้อนชื่อผู้ใช้ที่ไม่ถูกต้อง
invalidUNN. - ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร รหัสผ่าน ช่องข้อความ ให้พิมพ์รหัสผ่านที่ไม่ถูกต้อง
invalidPWD.
ขั้นตอน 5) คลิก ลงชื่อเข้าใช้ ปุ่ม Firefox ควรนำไปสู่หน้าเว็บที่แสดงด้านล่างนี้
ขั้นตอน 6) Togglกดปุ่มบันทึกเพื่อหยุดการบันทึก สคริปต์ของคุณควรมีลักษณะดังตัวอย่างด้านล่าง
ขั้นตอน 7) ตอนนี้ให้บันทึกสคริปต์ทดสอบที่บันทึกไว้ ใน เนื้อไม่มีมัน เมนูให้เลือก บันทึกกรณีทดสอบหรือกด Ctrl+S.
ขั้นตอน 8)
- เลือกโฟลเดอร์ปลายทาง จากนั้นตั้งชื่อโฟลเดอร์นั้น กรณีทดสอบ การเข้าสู่ระบบไม่ถูกต้อง.
- คลิก ลด.
ขั้นตอน 9) โปรดสังเกตว่าไฟล์ถูกบันทึกเป็นไฟล์ HTML
ขั้นตอน 10) กลับไป Selenium IDE แล้วคลิก การเล่น ปุ่มสำหรับเรียกใช้สคริปต์ทั้งหมด Selenium IDE จะจำลองทุกการกระทำอย่างแม่นยำ
รู้เบื้องต้นเกี่ยวกับ Selenium คำสั่ง – เซเลนีส
ภาษาเซเลเนสเป็นภาษาเขียนที่ใช้ขับเคลื่อน Selenium IDE. กฎง่ายๆ คือ:
- คำสั่ง Selenese แต่ละคำสั่งรับพารามิเตอร์ได้สูงสุดสองตัว — a เป้า และ ความคุ้มค่า.
- ไม่จำเป็นต้องระบุพารามิเตอร์เสมอไป จำนวนพารามิเตอร์ขึ้นอยู่กับคำสั่ง
ประเภทของคำสั่ง
ชาวเซเลเนจัดกลุ่มคำสั่งออกเป็นสามประเภท แต่ละประเภทมีบทบาทที่แตกต่างกันในบทละคร
| สถานะ | คำสั่งที่โต้ตอบกับองค์ประกอบของหน้าเว็บโดยตรง ตัวอย่าง: click โต้ตอบกับองค์ประกอบที่คุณคลิก; type ป้อนค่าลงในกล่องข้อความ และกล่องข้อความจะแสดงค่านั้นกลับมา ทำให้เกิดการโต้ตอบแบบสองทาง |
| อุปกรณ์เสริม | คำสั่งที่ใช้เก็บค่าลงในตัวแปร ตัวอย่าง: storeTitle โปรแกรมนี้อ่านเฉพาะชื่อหน้าเว็บและบันทึกไว้เท่านั้น ไม่ได้เปลี่ยนแปลงอะไรในหน้าเว็บเลย |
| การยืนยัน | คำสั่งที่ใช้ตรวจสอบเงื่อนไข Selenese มีรูปแบบการตรวจสอบเงื่อนไขอยู่ 3 แบบ: ยืนยัน การทดสอบจะหยุดลงเมื่อเกิดข้อผิดพลาด ตรวจสอบ บันทึกข้อผิดพลาดและดำเนินการต่อ และ รอ หยุดชั่วคราวจนกว่าเงื่อนไขจะเป็นจริง (ค่าเริ่มต้นคือ 30 วินาที สามารถกำหนดค่าได้ในเมนู ตัวเลือก > ทั่วไป) |
ยืนยันและยืนยันใน Selenium
แผนภาพด้านล่างแสดงความแตกต่างระหว่างพฤติกรรมการทำงานของคำสั่ง Assert กับ Verify เมื่อการตรวจสอบล้มเหลวระหว่างการทดสอบ
คำสั่งทั่วไป
| คำสั่ง | จำนวนพารามิเตอร์ | Descriptไอออน |
|---|---|---|
| เปิด | 0 2- | เปิดเพจโดยใช้ URL |
| คลิก / คลิกแล้วรอ | 1 | คลิกองค์ประกอบที่ระบุ |
| ประเภท / typeKeys | 2 | พิมพ์ลำดับของอักขระ |
| ตรวจสอบชื่อเรื่อง / ยืนยันชื่อเรื่อง | 1 | เปรียบเทียบชื่อหน้าจริงกับค่าที่คาดหวัง |
| ตรวจสอบข้อความปัจจุบัน | 1 | ตรวจสอบว่ามีข้อความที่กำหนดอยู่ในหน้าเว็บหรือไม่ |
| ตรวจสอบองค์ประกอบปัจจุบัน | 1 | ตรวจสอบว่ามีองค์ประกอบเฉพาะเจาะจงอยู่หรือไม่ |
| ตรวจสอบตาราง | 2 | เปรียบเทียบเนื้อหาของตารางกับค่าที่คาดหวัง |
| รอสำหรับ PageToLoad | 1 | หยุดการทำงานชั่วคราวจนกว่าหน้าเว็บจะโหลดเสร็จสมบูรณ์ |
| รอสำหรับองค์ประกอบปัจจุบัน | 1 | หยุดการทำงานชั่วคราวจนกว่าองค์ประกอบที่ระบุจะปรากฏขึ้น |
สร้างสคริปต์ด้วยตนเองด้วย Firebug
ต่อไปนี้เราจะสร้างกรณีทดสอบเดียวกันขึ้นมาใหม่ด้วยตนเองโดยใช้ typing คำสั่งต่างๆ คู่มือนี้ใช้ Firebug เพื่อตรวจสอบตัวระบุตำแหน่งขององค์ประกอบ (ในเวอร์ชันสมัยใหม่) Selenium (สำหรับ IDE ให้ใช้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ (DevTools) ที่มีอยู่ในเบราว์เซอร์แทน Firebug)
ขั้นตอน 1) จุดเปิด Firefox และ Selenium IDE. พิมพ์ URL หลัก https://demo.guru99.com/test/newtours/ปุ่มบันทึกต้องปิดอยู่
ขั้นตอน 2) คลิกที่บรรทัดว่างด้านบนสุดในโปรแกรมแก้ไข
ประเภท open ใส่ข้อความในช่องคำสั่งแล้วกด Enter
ขั้นตอน 3) นำทาง Firefox ไปยัง URL หลักและเปิดใช้งาน Firebug ใน IDE Editor ให้เลือกบรรทัดด้านล่าง open คำสั่งและประเภท assertTitleใช้คำแนะนำการเติมข้อความอัตโนมัติเพื่อความแม่นยำ
ขั้นตอน 4) ใน Firebug ให้ขยาย <head> แท็กเพื่อเปิดเผย <title>คลิกค่าชื่อเรื่อง (ยินดีต้อนรับ: Mercury ทัวร์) แล้ววางลงใน Target ฟิลด์ในตัวแก้ไข
ขั้นตอน 5) คลิกที่บรรทัดว่างที่สามในโปรแกรมแก้ไข แล้วพิมพ์ type ในช่องคำสั่ง ใน Firebug ให้คลิกที่ ตรวจ ปุ่ม
คลิกที่ช่องข้อความชื่อผู้ใช้ Firebug จะแสดงองค์ประกอบ HTML ที่ตรงกันโดยอัตโนมัติ
ขั้นตอน 6) ช่องข้อความชื่อผู้ใช้ไม่มี ID แต่มีแอตทริบิวต์ NAME คัดลอกค่า NAME แล้ววางลงในช่องดังกล่าว Target ที่ดินของ Selenium ไอดี.
ยังคงอยู่ใน Target ฟิลด์, คำนำหน้า userName สีสดสวย name= so Selenium IDE กำหนดเป้าหมายไปที่องค์ประกอบที่มีแอตทริบิวต์ NAME เป็น userName.
ประเภท invalidUN ในช่องค่า (Value) สคริปต์ของคุณตอนนี้มีคำสั่งที่สามแล้ว Selenium IDE นั้นคำนึงถึงตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ดังนั้นโปรดพิมพ์ค่าและชื่อแอตทริบิวต์ให้ตรงตามที่ปรากฏในแอปพลิเคชันทุกประการ
ขั้นตอน 7) เพิ่มคำสั่งที่สี่โดย typing type ในช่องคำสั่ง ให้ใช้ Firebug ตรวจ ปุ่มบนช่องป้อนรหัสผ่าน
วางแอตทริบิวต์ NAME (password) ลงใน Target ฟิลด์, คำนำหน้าด้วย name=และตั้งค่าเป็น invalidPW.
ขั้นตอน 8) เพิ่มคำสั่งที่ห้าโดย typing clickAndWait ในช่องคำสั่ง ให้ใช้ Firebug ตรวจ บนปุ่มเข้าสู่ระบบ
วางค่า NAME (login) ลงใน Target สนามที่มี name= คำนำหน้า
ขั้นตอน 9) บันทึกกรณีทดสอบตามเดิม
การใช้ปุ่มค้นหา
การขอ หา ปุ่มเข้า Selenium IDE ยืนยันว่าค่าที่ป้อนใน Target ฟิลด์นี้ตรงกับองค์ประกอบ UI บนหน้าเว็บจริง ๆ
เปิด การเข้าสู่ระบบไม่ถูกต้อง ทดสอบกรณีจากส่วนก่อนหน้าแล้วคลิกคำสั่งใดก็ได้ที่มี Target รายการ — ตัวอย่างเช่น คำสั่งที่สาม
คลิก หาช่องข้อความชื่อผู้ใช้บน Mercury หน้าทัวร์จะถูกเน้นสีชั่วครู่
จุดเด่นนี้ยืนยันว่า Selenium IDE แก้ไขตัวระบุตำแหน่งได้อย่างถูกต้องแล้ว หากไฮไลต์องค์ประกอบที่ไม่ถูกต้อง (หรือไม่มีองค์ประกอบใดถูกไฮไลต์) จะต้องแก้ไขตัวระบุตำแหน่งในสคริปต์
ดำเนินการคำสั่ง
คำสั่ง Execute Command จะรันบรรทัดเดียวของสคริปต์โดยไม่ต้องรันกรณีทดสอบทั้งหมด คลิกบรรทัดที่คุณต้องการเรียกใช้ แล้วเลือกอย่างใดอย่างหนึ่ง การดำเนินการ > เรียกใช้คำสั่งนี้ จากเมนูหรือกด X บนแป้นพิมพ์
ขั้นตอน 1) ตรวจสอบให้แน่ใจว่าเบราว์เซอร์เปิดใช้งานอยู่ Mercury หน้าหลักทัวร์ คลิกเส้นทางที่คุณต้องการวิ่ง — ตัวอย่างเช่น type | userName | invalidUN.
ขั้นตอน 2) ข่าวประชาสัมพันธ์ X บนแป้นพิมพ์
ขั้นตอน 3) ช่องป้อนชื่อผู้ใช้บนหน้าเว็บจะถูกเติมข้อมูลด้วย invalidUN.
การเรียกใช้คำสั่งด้วยวิธีนี้ขึ้นอยู่กับหน้าเว็บนั้นๆ Firefox กำลังแสดงผลอยู่ การรันคำสั่งเดียวกันบนหน้าแรกของ Google จะล้มเหลว เนื่องจากไม่มีฟิลด์ชื่อดังกล่าว userName ที่นั่น
จุดเริ่มต้น
จุดเริ่มต้นบอกว่า Selenium IDE จะเริ่มต้นการทำงานจากบรรทัดใด ปุ่มลัดคือ S.
ในตัวอย่างข้างต้น การเล่นจะเริ่มต้นที่บรรทัดที่สาม (type | password | invalidPW). สคริปต์ทดสอบสามารถมีจุดเริ่มต้นได้เพียงจุดเดียวเท่านั้น เช่นเดียวกับคำสั่ง Execute Command จุดเริ่มต้นจะขึ้นอยู่กับหน้าเว็บที่แสดงอยู่ในปัจจุบัน และจะล้มเหลวหากหน้าเว็บไม่ถูกต้อง
จุดพัก
จุดเปลี่ยนบอกอะไรได้บ้าง Selenium IDE สามารถหยุดการทดสอบโดยอัตโนมัติที่บรรทัดที่กำหนดได้ ปุ่มลัดคือ B.
ส่วนที่ไฮไลต์ด้วยสีเหลืองแสดงถึงขั้นตอนที่หยุดชั่วคราว กรณีทดสอบสามารถมีจุดหยุดการทำงานได้หลายจุด
ขั้นตอน
การขอ ขั้นตอน คำสั่งนี้จะรันบรรทัดถัดไปหลังจากที่หยุดการทดสอบไว้ ใช้ร่วมกับเบรกพอยต์เพื่อรันสคริปต์ทีละคำสั่ง
ก่อนคลิกขั้นตอน การทดสอบหยุดชั่วคราวที่บรรทัดนี้ clickAndWait | login. |
|
หลังจากคลิกขั้นตอนแล้ว การขอ clickAndWait | login คำสั่งทำงานและหยุดการทำงานชั่วคราวเมื่อถึงคำสั่งถัดไป (verifyTitle | Sign-on: Mercury Toursบรรทัดถัดไปจะหยุดชั่วคราวแม้ว่าจะไม่มีจุดหยุด (breakpoint) ซึ่งนั่นคือจุดประสงค์ของ Step |
สิ่งสำคัญที่ควรทราบเมื่อใช้รูปแบบอื่นในมุมมองต้นฉบับ
Selenium IDE 1.x ทำงานได้อย่างน่าเชื่อถือเฉพาะกับรูปแบบ HTML เท่านั้น รูปแบบอื่นๆ ยังอยู่ในขั้นตอนการทดลอง ไม่แนะนำให้สร้างหรือแก้ไขการทดสอบในมุมมองซอร์สโค้ดที่ไม่ใช่ HTML ปัญหาที่พบในเวอร์ชัน 1.9.1 มีดังนี้:
- คุณไม่สามารถใช้ฟังก์ชั่นเล่นซ้ำหรือสลับกลับไปเป็นมุมมองตารางได้หากไม่เปลี่ยนกลับไปใช้ HTML
- วิธีที่ปลอดภัยที่สุดในการเพิ่มคำสั่งในมุมมองซอร์สโค้ดคือการบันทึกคำสั่งเหล่านั้น
- การแก้ไขด้วยตนเองในมุมมองซอร์สโค้ดจะหายไปเมื่อคุณเปลี่ยนไปใช้รูปแบบอื่น
- คุณสามารถบันทึกกรณีทดสอบในมุมมองซอร์สโค้ดได้ แต่ Selenium IDE อาจไม่สามารถเปิดไฟล์นั้นขึ้นมาใหม่ได้
วิธีการที่แนะนำสำหรับการแปลงข้อสอบ Selenese เป็นภาษาอื่นคือ ไฟล์ > ส่งออกกรณีทดสอบเป็น… เมนู ไม่ใช่มุมมองซอร์สโค้ด

.png)
.png)
.png)














.png)










.png)
.png)






