วิธีใช้ Selenium IDE พร้อมสคริปต์และคำสั่ง (ยืนยัน ตรวจสอบ)
เราจะใช้ Mercury เว็บไซต์ทัวร์เป็นเว็บแอปพลิเคชันของเราภายใต้การทดสอบ เป็นระบบจองเที่ยวบินออนไลน์ที่มีองค์ประกอบทั้งหมดที่เราต้องการสำหรับบทช่วยสอนนี้ URL ของมันคือ https://demo.guru99.com/test/newtours/และนี่จะเป็น URL ฐานของเรา
ตอนนี้ให้เราสร้างสคริปต์ทดสอบแรกของเราใน Selenium IDE ใช้วิธีการทั่วไปโดยการบันทึก หลังจากนั้น เราจะรันสคริปต์ของเราโดยใช้คุณสมบัติการเล่น
สร้างสคริปต์โดยการบันทึก
ขั้นตอนที่ 1
- ยิง Firefox และ Selenium ไอดี.
- พิมพ์ค่าสำหรับ URL ฐานของเรา: https://demo.guru99.com/test/newtours/.
- Togglเปิดปุ่มบันทึก (หากยังไม่ได้เปิดใช้งานตามค่าเริ่มต้น)
ขั้นตอนที่ 2
In Firefox, นำทางไปยัง https://demo.guru99.com/test/newtours/. Firefox ควรนำคุณไปยังหน้าที่คล้ายกับหน้าที่แสดงด้านล่าง |
|
ขั้นตอนที่ 3
|
|
ขั้นตอนที่ 4
|
|
ขั้นตอนที่ 5
|
|
ขั้นตอนที่ 6
Toggle ปุ่มบันทึกปิดเพื่อหยุดการบันทึก สคริปต์ของคุณควรมีลักษณะเหมือนกับที่แสดงด้านล่าง |
|
ขั้นตอนที่ 7
ตอนนี้เราเสร็จสิ้นการทดสอบสคริปต์แล้ว เราจะบันทึกไว้ในกรณีทดสอบ ในเมนูไฟล์ เลือก "บันทึกกรณีการทดสอบ" หรือคุณสามารถกด Ctrl+S ได้เลย |
|
ขั้นตอนที่ 8
|
|
ขั้นตอนที่ 9
โปรดสังเกตว่าไฟล์ถูกบันทึกเป็น HTML |
ขั้นตอน 10) กลับไปที่ Selenium IDE และคลิกปุ่มเล่นเพื่อรันสคริปต์ทั้งหมด Selenium IDE ควรจะสามารถจำลองทุกอย่างได้อย่างไม่มีที่ติ
รู้เบื้องต้นเกี่ยวกับ Selenium คำสั่ง – เซเลนีส
- คำสั่ง Selenese สามารถมีพารามิเตอร์ได้สูงสุดสองตัว: เป้าหมายและค่า
- ไม่จำเป็นต้องใช้พารามิเตอร์ตลอดเวลา ขึ้นอยู่กับจำนวนคำสั่งที่ต้องการ
ประเภทของคำสั่ง
สถานะ | เหล่านี้เป็นคำสั่งที่โต้ตอบกับองค์ประกอบของหน้าโดยตรง
ตัวอย่าง: คำสั่ง "คลิก" เป็นการกระทำเนื่องจากคุณโต้ตอบกับองค์ประกอบที่คุณกำลังคลิกโดยตรง คำสั่ง "type" ถือเป็นการกระทำเช่นกัน เนื่องจากคุณกำลังใส่ค่าลงในกล่องข้อความ และกล่องข้อความจะแสดงค่าเหล่านั้นให้คุณเห็น การโต้ตอบระหว่างคุณกับกล่องข้อความมี 2 ทาง |
---|---|
อุปกรณ์เสริม | เป็นคำสั่งที่อนุญาตให้คุณเก็บค่าไว้ในตัวแปร
ตัวอย่าง: คำสั่ง “storeTitle” เป็นตัวเข้าถึงเนื่องจากคำสั่งจะ “อ่าน” ชื่อเพจเท่านั้นและบันทึกลงในตัวแปร ไม่โต้ตอบกับองค์ประกอบใดๆ บนเพจ |
การยืนยัน | เป็นคำสั่งที่ตรวจสอบว่าตรงตามเงื่อนไขบางประการหรือไม่
การยืนยัน 3 ประเภท
|
ยืนยันและยืนยันใน Selenium
คำสั่งทั่วไป
คำสั่ง | จำนวนพารามิเตอร์ | Descriptไอออน |
---|---|---|
เปิด | 0 - 2 | เปิดเพจโดยใช้ URL |
คลิก/คลิกและรอ | 1 | คลิกที่องค์ประกอบที่ระบุ |
ประเภท/ประเภทคีย์ | 2 | พิมพ์ลำดับของอักขระ |
ตรวจสอบชื่อเรื่อง/assertTitle | 1 | เปรียบเทียบชื่อหน้าจริงกับค่าที่คาดหวัง |
ตรวจสอบข้อความปัจจุบัน | 1 | ตรวจสอบว่าพบข้อความบางอย่างภายในหน้าหรือไม่ |
ตรวจสอบองค์ประกอบปัจจุบัน | 1 | ตรวจสอบการมีอยู่ขององค์ประกอบบางอย่าง |
ตรวจสอบตาราง | 2 | เปรียบเทียบเนื้อหาของตารางกับค่าที่คาดหวัง |
รอสำหรับ PageToLoad | 1 | หยุดการดำเนินการชั่วคราวจนกว่าเพจจะโหลดเสร็จสมบูรณ์ |
รอสำหรับองค์ประกอบปัจจุบัน | 1 | หยุดการดำเนินการชั่วคราวจนกว่าองค์ประกอบที่ระบุจะปรากฏ |
สร้างสคริปต์ด้วยตนเองด้วย Firebug
ตอนนี้ เราจะสร้างกรณีทดสอบเดียวกันขึ้นใหม่ด้วยตนเอง โดยพิมพ์คำสั่ง คราวนี้เราจะต้องใช้ Firebug
ขั้นตอนที่ 1
|
ขั้นตอนที่ 2: คลิกที่บรรทัดว่างบนสุดในตัวแก้ไข |
พิมพ์ “เปิด” ในกล่องข้อความคำสั่งและกด Enter |
ขั้นตอนที่ 3
|
ขั้นตอนที่ 4
|
ขั้นตอนที่ 5
|
คลิกที่กล่องข้อความชื่อผู้ใช้ สังเกตว่า Firebug จะแสดงโค้ด HTML สำหรับองค์ประกอบนั้นโดยอัตโนมัติ |
ขั้นตอนที่ 6 โปรดสังเกตว่ากล่องข้อความชื่อผู้ใช้ไม่มี ID แต่มีแอตทริบิวต์ NAME ดังนั้นเราจะใช้ NAME เป็นตัวระบุตำแหน่ง คัดลอกค่า NAME แล้ววางลงใน Target สนามใน Selenium ไอดี.
ยังคงอยู่ใน Target กล่องข้อความ นำหน้า “userName” ด้วย “name=" เพื่อระบุว่า Selenium IDE ควรกำหนดเป้าหมายองค์ประกอบที่มีแอตทริบิวต์ NAME คือ "ชื่อผู้ใช้" พิมพ์ “invalidUN” ในกล่องข้อความค่าของ Selenium ไอดี สคริปต์ทดสอบของคุณควรมีลักษณะเหมือนภาพด้านล่าง เราทำคำสั่งที่สามเสร็จแล้ว หมายเหตุ: แทนที่จะระบุ UN ที่ไม่ถูกต้อง คุณสามารถป้อนสตริงข้อความอื่นได้ แต่ Selenium IDE คำนึงถึงขนาดตัวพิมพ์ และคุณพิมพ์ค่า/คุณลักษณะเหมือนกับในแอปพลิเคชันทุกประการ |
ขั้นตอนที่ 7
|
ขั้นตอนที่ 8
|
ขั้นตอนที่ 9: บันทึกกรณีทดสอบในลักษณะเดียวกับที่เราทำในส่วนก่อนหน้า
การใช้ปุ่มค้นหา
ปุ่มค้นหาใน Selenium IDE ใช้เพื่อตรวจสอบว่าเราได้ใส่อะไรลงไปหรือไม่ Target กล่องข้อความเป็นองค์ประกอบ UI ที่ถูกต้อง
ให้เราใช้กรณีทดสอบ Invalid_login ที่เราสร้างขึ้นในส่วนก่อนหน้า คลิกที่คำสั่งใด ๆ ด้วย Target รายการพูดคำสั่งที่สาม
คลิกปุ่มค้นหา สังเกตว่ากล่องข้อความชื่อผู้ใช้ภายใน Mercury หน้าทัวร์จะถูกไฮไลต์อยู่ครู่หนึ่ง
นี่แสดงว่า Selenium IDE สามารถตรวจจับและเข้าถึงองค์ประกอบที่คาดหวังได้อย่างถูกต้อง หากปุ่มค้นหาไฮไลต์องค์ประกอบอื่นหรือไม่มีองค์ประกอบเลย แสดงว่าสคริปต์ของคุณต้องมีบางอย่างผิดปกติ
ดำเนินการคำสั่ง
สิ่งนี้ทำให้คุณสามารถดำเนินการคำสั่งเดียวโดยไม่ต้องรันกรณีทดสอบทั้งหมด- เพียงคลิกที่บรรทัดที่คุณต้องการดำเนินการ จากนั้นคลิกที่ “การกระทำ > ดำเนินการคำสั่งนี้” จากแถบเมนู หรือเพียงกด “X” บนแป้นพิมพ์ของคุณ
ขั้นตอน 1) ตรวจสอบให้แน่ใจว่าเบราว์เซอร์ของคุณเปิดอยู่ Mercury หน้าแรกของทัวร์ คลิกที่คำสั่งที่คุณต้องการดำเนินการ ในตัวอย่างนี้ คลิกที่ “ประเภท | ชื่อผู้ใช้ | บรรทัด UN ไม่ถูกต้อง”
ขั้นตอน 2) กด "X" บนแป้นพิมพ์ของคุณ
ขั้นตอน 3) สังเกตว่ากล่องข้อความสำหรับชื่อผู้ใช้จะมีข้อความว่า “invalidUN” อยู่
การดำเนินการคำสั่งในลักษณะนี้ขึ้นอยู่กับเพจนั้นเป็นอย่างมาก Firefox กำลังแสดงอยู่. ซึ่งหมายความว่าหากคุณลองตัวอย่างข้างต้นโดยแสดงหน้าแรกของ Google แทน Mercury ทัวร์' แล้วขั้นตอนของคุณจะล้มเหลว เพราะไม่มีกล่องข้อความที่มีแอตทริบิวต์ "ชื่อผู้ใช้" ในหน้าแรกของ Google
จุดเริ่มต้น
จุดเริ่มต้นคือตัวบ่งชี้ที่บอก Selenium IDE ซึ่งเป็นบรรทัดที่การดำเนินการจะเริ่มขึ้น. ปุ่มลัดของมันคือ "S"
ในตัวอย่างข้างต้น การเล่นจะเริ่มในบรรทัดที่สาม (ประเภท | รหัสผ่าน | invalidPW) คุณสามารถมีจุดเริ่มต้นได้เพียงจุดเดียวในสคริปต์ทดสอบเดียว
จุดเริ่มต้นจะคล้ายกับ Execute Command ตรงที่ขึ้นอยู่กับหน้าที่แสดงอยู่ในปัจจุบัน จุดเริ่มต้นจะล้มเหลวหากคุณอยู่ในหน้าที่ไม่ถูกต้อง
จุดพัก
เบรกพอยต์เป็นตัวบ่งชี้ที่บอก Selenium IDE ที่จะหยุดการทดสอบชั่วคราวโดยอัตโนมัติ ปุ่มลัดคือ "B"
ไฮไลต์สีเหลืองหมายความว่าขั้นตอนปัจจุบันอยู่ระหว่างการพิจารณา นี่เป็นการพิสูจน์ว่า Selenium IDE ได้หยุดการดำเนินการชั่วคราวในขั้นตอนนั้น คุณสามารถมีเบรกพอยท์ได้หลายจุดในกรณีทดสอบเดียว
ขั้นตอน
อนุญาตให้คุณดำเนินการคำสั่งที่สำเร็จทีละคำสั่งหลังจากหยุดกรณีทดสอบชั่วคราว ให้เราใช้สถานการณ์ในส่วนก่อนหน้า “เบรกพอยต์”
สิ่งสำคัญที่ควรทราบเมื่อใช้รูปแบบอื่นในมุมมองต้นฉบับ
Selenium IDE ทำงานได้ดีกับ HTML เท่านั้น รูปแบบอื่นๆ ยังอยู่ในโหมดทดลอง. มันคือ ไม่แนะนำให้เลือก เพื่อสร้างหรือแก้ไขการทดสอบโดยใช้รูปแบบอื่นใน Source View เนื่องจากยังมีงานอีกมากที่ต้องทำให้มีเสถียรภาพ ด้านล่างนี้คือจุดบกพร่องที่ทราบในเวอร์ชัน 1.9.1
- คุณจะไม่สามารถเล่นหรือเปลี่ยนกลับไปเป็นมุมมองตารางได้ เว้นแต่คุณจะเปลี่ยนกลับเป็น HTML
- วิธีเดียวที่จะเพิ่มคำสั่งอย่างปลอดภัยบนซอร์สโค้ดคือการบันทึกคำสั่งเหล่านั้น
- เมื่อคุณแก้ไขซอร์สโค้ดด้วยตนเอง รหัสทั้งหมดจะหายไปเมื่อคุณเปลี่ยนไปใช้รูปแบบอื่น
- แม้ว่าคุณจะสามารถบันทึกกรณีทดสอบของคุณได้ในขณะที่อยู่ใน Source View Selenium IDE จะไม่สามารถเปิดได้
วิธีที่แนะนำในการแปลงการทดสอบ Selenese คือการใช้ตัวเลือก “ส่งออกกรณีการทดสอบเป็น…” ใต้เมนูไฟล์ และไม่ผ่านมุมมองแหล่งที่มา
สรุป
- สามารถสร้างสคริปต์ทดสอบได้โดยการบันทึกหรือพิมพ์คำสั่งและพารามิเตอร์ด้วยตนเอง
- เมื่อสร้างสคริปต์ด้วยตนเอง Firebug จะถูกใช้เพื่อรับตัวระบุตำแหน่ง
- ปุ่มค้นหาใช้เพื่อตรวจสอบว่าคำสั่งสามารถเข้าถึงองค์ประกอบที่ถูกต้องหรือไม่
- มุมมองตารางจะแสดงสคริปต์ทดสอบในรูปแบบตาราง ในขณะที่มุมมองแหล่งที่มาจะแสดงในรูปแบบ HTML
- การเปลี่ยนมุมมองแหล่งที่มาเป็นรูปแบบที่ไม่ใช่ HTML ยังอยู่ในช่วงทดลอง
- อย่าใช้ Source View ในการสร้างการทดสอบในรูปแบบอื่น ใช้คุณลักษณะการส่งออกแทน
- ไม่จำเป็นต้องใช้พารามิเตอร์ตลอดเวลา มันขึ้นอยู่กับคำสั่ง
- คำสั่งมีสามประเภท:
- การดำเนินการ – โต้ตอบโดยตรงกับองค์ประกอบของหน้า
- Accessors – “อ่าน” คุณสมบัติองค์ประกอบและจัดเก็บไว้ในตัวแปร
- การยืนยัน – เปรียบเทียบค่าจริงกับค่าที่คาดหวัง
- การยืนยันมีสามประเภท:
- ยืนยัน – เมื่อล้มเหลว ขั้นตอนที่สำเร็จจะไม่ถูกดำเนินการอีกต่อไป
- ตรวจสอบ – เมื่อเกิดความล้มเหลว ขั้นตอนที่สำเร็จจะยังคงดำเนินการอยู่
- WaitFor – ผ่านหากเงื่อนไขที่ระบุกลายเป็นจริงภายในระยะเวลาหมดเวลา มิฉะนั้นจะล้มเหลว
- คำสั่งที่พบบ่อยที่สุดคือ:
- เปิด
- คลิก/คลิกและรอ
- ประเภท/ประเภทคีย์
- ตรวจสอบชื่อเรื่อง/assertTitle
- ตรวจสอบข้อความปัจจุบัน
- ตรวจสอบองค์ประกอบปัจจุบัน
- ตรวจสอบตาราง
- รอสำหรับ PageToLoad
- รอสำหรับองค์ประกอบปัจจุบัน