การระบุตัวตนอัจฉริยะใน QTP/UFT พร้อมตัวอย่าง

⚡ สรุปอย่างชาญฉลาด

การระบุตัวตนอัจฉริยะเป็นกลไกสำรองใน UFT ฟังก์ชันหนึ่งใช้สำหรับค้นหาวัตถุเมื่อคำอธิบายที่เรียนรู้มาไม่ตรงกับแอปพลิเคชันที่กำลังทดสอบอีกต่อไป โดยใช้คุณสมบัติพื้นฐานและคุณสมบัติตัวกรองเสริมเพื่อจำกัดรายชื่อผู้สมัครให้เหลือเพียงรายการเดียวที่ตรงกัน

  • 🔍 ความหมาย: กลไกนี้จะทำงานก็ต่อเมื่อคำอธิบายที่เรียนรู้มานั้นไม่สามารถค้นหาวัตถุที่ตรงกันได้เพียงหนึ่งรายการเท่านั้น
  • 🧩 อสังหาริมทรัพย์สองประเภท: คุณสมบัติตัวกรองพื้นฐานกำหนดว่าวัตถุนั้นคืออะไร คุณสมบัติตัวกรองเสริมจะช่วยจำกัดขอบเขตการค้นหาให้แคบลงไปอีก
  • ⚙️ กระบวนการคัดออก: UFT สร้างรายการผู้สมัครขึ้นใหม่จากคุณสมบัติพื้นฐาน จากนั้นกรองรายการดังกล่าวโดยใช้คุณสมบัติเสริมทีละรายการ
  • 🖥️ การกำหนดค่า: เปิดใช้งานและกำหนดค่าตัวกรองสำหรับแต่ละคลาสของวัตถุได้จากเมนู เครื่องมือ > การระบุวัตถุ
  • ⚠️ การแสดงผล: ทุกครั้งที่มีการเรียกใช้งาน จะมีการบันทึกขั้นตอนเตือนลงในแผนผังผลการทดสอบ
  • 🐢 ข้อแลกเปลี่ยนด้านประสิทธิภาพ: การกรองเพิ่มเติมจะเพิ่มภาระการทำงานในระหว่างการทดสอบขนาดใหญ่
  • 🔧 การแก้ไขด้วยตนเอง: แทนที่คุณสมบัติที่เปลี่ยนแปลงได้ง่าย เช่น ชื่อ ด้วยคุณสมบัติที่คงที่ เช่น รหัส HTML เพื่อหลีกเลี่ยงการใช้ค่าสำรอง
  • ???? การควบคุมสคริปต์: การตั้งค่า (“DisableReplayUsingAlgorithm”) จะปิดใช้งานการระบุอัจฉริยะสำหรับเซสชันการวิ่งทั้งหมด

Smart Identification คืออะไรใน QTP/UFT?

การระบุตัวตนอัจฉริยะ เป็นกลไกการจดจำวัตถุสำรองใน OpenText UFT หนึ่ง เครื่องมือที่เคยรู้จักกันในชื่อ HP QuickTest Professional (QTPหากกระบวนการระบุตัวตนตามปกติไม่สามารถค้นหาการจับคู่ที่ไม่ซ้ำกันสำหรับคำอธิบายที่เรียนรู้ของวัตถุได้ UFT ระบบจะเรียกใช้งานการระบุตัวตนอัจฉริยะ หากกลไกนี้ถูกเปิดใช้งานในการตั้งค่าการระบุวัตถุสำหรับคลาสของวัตถุนั้น

แตกต่างจากคำอธิบายที่เรียนรู้มา การระบุตัวตนอัจฉริยะไม่จำเป็นต้องตรงกันทุกคุณสมบัติที่จัดเก็บไว้ แต่จะประเมินคุณสมบัติสองประเภทเพื่อคัดกรองกลุ่มวัตถุที่เป็นไปได้ให้เหลือเพียงหนึ่งเดียว:

  • คุณสมบัติตัวกรองฐาน คุณสมบัติพื้นฐานที่สุดของคลาสวัตถุทดสอบ คือคุณสมบัติที่ค่าของมันไม่สามารถเปลี่ยนแปลงได้โดยไม่เปลี่ยนแปลงสาระสำคัญของวัตถุเดิม
  • คุณสมบัติตัวกรองเพิ่มเติม (ไม่จำเป็น) คุณสมบัติเสริมที่ช่วยระบุวัตถุ แต่มีแนวโน้มที่จะเปลี่ยนแปลงไปตามเวลา

เมื่อระบบ Smart Identification ทำงาน UFT ระบบจะ "ลืม" คำอธิบายที่เรียนรู้ไปแล้ว และสร้างรายการผู้สมัครใหม่ที่มีวัตถุทุกชิ้นที่ตรงกับคุณสมบัติตัวกรองพื้นฐานทั้งหมด จากนั้นจะคัดกรองรายการนั้นให้แคบลงอีก โดยตรวจสอบคุณสมบัติตัวกรองเสริมทีละรายการ จนกว่าจะเหลือวัตถุเพียงชิ้นเดียว

หากมีการเรียกใช้ Smart Identification ในระหว่างเซสชันการทำงาน ผลลัพธ์การทดสอบจะบันทึกข้อความเตือนเพื่อยืนยันว่ามีการใช้กลไกดังกล่าว และจะมีการแทรกขั้นตอน Smart Identification เข้าไปในผลลัพธ์เพื่อให้ความเบี่ยงเบนจากคำอธิบายที่เรียนรู้ไว้ยังคงปรากฏให้เห็น

ระบบระบุตัวตนอัจฉริยะ (Smart Identification) อยู่ในอันดับที่สาม UFTลำดับชั้นการระบุวัตถุของสคริปต์นี้ จะอยู่หลังคำอธิบายที่เรียนรู้และตัวระบุความสัมพันธ์เชิงภาพ (Visual Relation Identifier) ​​และก่อนตัวระบุลำดับที่ใช้เป็นทางเลือกสุดท้าย การเข้าใจว่ามันอยู่ในตำแหน่งใดจะช่วยอธิบายว่าทำไมการปิดใช้งานโดยสิ้นเชิง แทนที่จะแก้ไขคุณสมบัติพื้นฐาน จึงไม่ใช่ทางเลือกที่ดีที่สุดในระยะยาวสำหรับสคริปต์ที่ทำงานบ่อย

คุณสมบัติตัวกรองพื้นฐานเทียบกับคุณสมบัติตัวกรองเสริม

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

แง่มุม คุณสมบัติตัวกรองพื้นฐาน คุณสมบัติตัวกรองเพิ่มเติม
บทบาท จัดทำรายชื่อผู้สมัครเบื้องต้น ลดรายชื่อผู้สมัครให้เหลือเพียงหนึ่งเดียว
Stability แทบจะไม่เคยเปลี่ยนแปลงอะไรเลยโดยไม่เปลี่ยนแปลงเอกลักษณ์ของวัตถุนั้น สามารถเปลี่ยนแปลงได้เป็นระยะโดยไม่ต้องเปลี่ยนเอกลักษณ์ของวัตถุ
กฎการจับคู่ ผู้สมัครทุกคนต้องมีคุณสมบัติพื้นฐานครบถ้วน ตรวจสอบคุณสมบัติทีละรายการ หากการตรวจสอบคุณสมบัตินั้นจะทำให้ผู้สมัครทั้งหมดถูกตัดออก ก็จะข้ามคุณสมบัตินั้นไป
ตัวอย่างทั่วไป แท็ก HTML, คลาสออบเจ็กต์, ดัชนี ชื่อ, รหัส HTML, ข้อความแสดงแทนรูปภาพ, แหล่งที่มาของรูปภาพ
ตามที่กำหนดค่าไว้ การระบุวัตถุ > กำหนดค่า > คุณสมบัติตัวกรองพื้นฐาน การระบุวัตถุ > กำหนดค่า > คุณสมบัติตัวกรองเพิ่มเติม (ไม่บังคับ)

เนื่องจากคุณสมบัติเดียวกันไม่สามารถอยู่ในทั้งสองรายการได้ ดังนั้นจึงควรวางแผนการแบ่งรายการอย่างระมัดระวัง คุณสมบัติที่กำหนดลักษณะพื้นฐานของวัตถุควรอยู่ในรายการหลัก ส่วนคุณสมบัติที่ช่วยแยกแยะวัตถุนั้นออกจากวัตถุที่คล้ายคลึงกันควรอยู่ในรายการเสริม

ระบบระบุตัวตนอัจฉริยะทำงานอย่างไร: ขั้นตอนการทำงานทีละขั้น

ระบบระบุตัวตนอัจฉริยะจะทำงานก็ต่อเมื่อคำอธิบายที่เรียนรู้แล้ว และตัวระบุความสัมพันธ์ทางภาพใดๆ ก็ตาม ไม่สามารถระบุวัตถุชิ้นใดชิ้นหนึ่งได้อย่างแม่นยำ เมื่อระบบเริ่มทำงานแล้ว UFT ทำงานผ่านกระบวนการคัดออกที่คาดเดาได้ 4 ขั้นตอน:

  1. จัดทำรายชื่อผู้สมัครใหม่ UFT ไม่สนใจคำอธิบายที่เรียนรู้มา และสแกนหาวัตถุแม่ของวัตถุนั้น เพื่อหาวัตถุทุกชิ้นที่ตรงกับคุณสมบัติตัวกรองพื้นฐานทั้งหมด
  2. ใช้คุณสมบัติเสริมตัวแรก UFT ลบผู้สมัครที่ไม่ตรงกับคุณสมบัติแรกในรายการคุณสมบัติตัวกรองเสริมออก
  3. ประเมินผลลัพธ์ หากยังมีผู้สมัครเหลืออยู่มากกว่าหนึ่งคน UFT ทำซ้ำขั้นตอนก่อนหน้าด้วยคุณสมบัติเสริมถัดไป หากตัวกรองสามารถกำจัดผู้สมัครที่เหลือทั้งหมดได้ UFT ระบบจะข้ามคุณสมบัตินั้นไปและไปยังคุณสมบัติถัดไปแทน
  4. หยุดแค่แมตช์เดียวก็พอ UFT ทำซ้ำวงจรการกรองและประเมินผลจนกว่าจะเหลือวัตถุเพียงหนึ่งเดียว หรือจนกว่าจะไม่มีคุณสมบัติเสริมให้ตรวจสอบอีกต่อไป

หากกระบวนการคัดออกยังไม่สามารถแยกวัตถุชิ้นใดชิ้นหนึ่งออกมาได้ UFT ระบบจะกลับไปใช้คำอธิบายที่เรียนรู้มา บวกกับตัวระบุลำดับ เช่น ดัชนี สถานที่ หรือเวลาสร้าง หากแม้แต่การใช้ชุดค่าผสมดังกล่าวก็ยังไม่สามารถระบุวัตถุได้ เซสชันการทำงานจะหยุดชั่วคราวและแสดงข้อผิดพลาดขณะทำงาน

วิธีเปิดหรือปิดใช้งานการระบุตัวตนอัจฉริยะ

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

เปิด/ปิดใช้การระบุตัวตนอัจฉริยะ

วิธีการทำงานของระบบระบุตัวตนอัจฉริยะ (วิดีโอสาธิต)

วิดีโอด้านล่างนี้แสดงขั้นตอนการกำจัดตัวกรองพื้นฐานและตัวกรองเสริมโดยใช้ตัวอย่างจริง

คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้

ข้อดีและข้อเสียของการใช้ระบบระบุตัวตนอัจฉริยะ

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

  • ✅ รองรับการเปลี่ยนแปลง UI เล็กน้อย: การเปลี่ยนชื่อแอตทริบิวต์หรือการเปลี่ยนตำแหน่งในหน้าเว็บจะไม่ทำให้สคริปต์ทุกตัวที่เกี่ยวข้องกับวัตถุนั้นทำงานผิดพลาดอีกต่อไป
  • ✅ ลดภาระการบำรุงรักษาคลังเก็บวัตถุ: ผู้ทดสอบใช้เวลาน้อยลงในการบันทึกข้อมูลวัตถุซ้ำหลังจากปล่อยเวอร์ชันส่วนหน้าขนาดเล็ก
  • ✅ ผลลัพธ์ที่เห็นได้ชัด: ทุกครั้งที่มีการเรียกใช้งาน ระบบจะบันทึกคำเตือน เพื่อให้ทีมสามารถตรวจสอบได้ว่าจำเป็นต้องใช้ฟังก์ชันสำรองบ่อยแค่ไหน
  • ⚠️ การทดสอบทำงานช้าลง: การสร้างและคัดกรองรายชื่อผู้สมัครใช้เวลานานกว่าการจับคู่คุณสมบัติโดยตรงอย่างเห็นได้ชัด และต้นทุนก็จะเพิ่มขึ้นเป็นทวีคูณหากมีผู้สมัครจำนวนมาก
  • ⚠️ อาจปกปิดข้อบกพร่องที่แท้จริงได้: หากระบบ Smart Identification ตรวจพบวัตถุที่คล้ายกันโดยที่ผู้ใช้ไม่สังเกตเห็น ความผิดพลาดของส่วนติดต่อผู้ใช้ที่แท้จริงอาจไม่ถูกตรวจพบ
  • ⚠️ จำเป็นต้องมีการตรวจสอบเป็นระยะ: คุณสมบัติตัวกรองพื้นฐานและตัวเลือกเสริมยังคงต้องได้รับการตรวจสอบเป็นระยะ ๆ ในขณะที่แอปพลิเคชันมีการพัฒนา

โดยทั่วไป ทีมส่วนใหญ่จะเปิดใช้งาน Smart Identification ไว้สำหรับสคริปต์ที่ใช้ในการสำรวจและมีการใช้งานไม่บ่อย จากนั้นจึงปิดใช้งานแบบเลือกเฉพาะกับวัตถุที่มีความสำคัญต่อประสิทธิภาพการทำงาน เมื่อคุณสมบัติการระบุตัวตนของวัตถุนั้นคงที่แล้ว

แก้ไขคุณสมบัติของวัตถุเพื่อหลีกเลี่ยงการระบุตัวตนอัจฉริยะ

ความยืดหยุ่นของ Smart Identification มาพร้อมกับต้นทุนด้านเวลาในการทำงานดังที่กล่าวไว้ข้างต้น ดังนั้นหลายทีมจึงเลือกที่จะแก้ไขคุณสมบัติการระบุตัวตนของวัตถุด้วยตนเองมากกว่าที่จะพึ่งพาการสำรองข้อมูลซ้ำๆ สังเกตสัญญาณสองอย่างที่บ่งบอกว่าการแก้ไขคุณสมบัติดีกว่าการสำรองข้อมูลขณะทำงาน: คำเตือน Smart Identification ที่ปรากฏขึ้นเกือบทุกครั้งที่เรียกใช้งาน และสคริปต์ที่ทำงานช้าลงอย่างเห็นได้ชัดนับตั้งแต่เริ่มใช้การสำรองข้อมูล ทั้งสองอย่างชี้ไปที่วัตถุที่มีคุณสมบัติการระบุตัวตนเริ่มต้นไม่เหมาะสมกับแอปพลิเคชันอีกต่อไป ไม่ใช่ความผิดพลาดของ UI เพียงครั้งเดียว วิดีโอด้านล่างแสดงวิธีการแก้ไขบนแบบฟอร์มการเข้าสู่ระบบจริง

คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้

คำบรรยายวิดีโอ: ประเด็นสำคัญ

  • การระบุตัวตนอัจฉริยะทำให้การประมวลผลสคริปต์ช้าลง ซึ่งไม่เป็นที่ต้องการสำหรับชุดสคริปต์ขนาดใหญ่หรือที่ใช้งานบ่อย
  • เพื่อหลีกเลี่ยงปัญหานี้โดยสิ้นเชิง ให้เปลี่ยนคุณสมบัติการระบุวัตถุเริ่มต้นแทนที่จะพึ่งพาตัวเลือกสำรอง
  • In การระบุวัตถุลบคำว่า “name” ออกจากคุณสมบัติที่จำเป็น และแทนที่ด้วย “HTML id” เพื่อให้การทดสอบไม่ขึ้นอยู่กับการเปลี่ยนแปลงชื่อ
  • บันทึกขั้นตอนเดิมซ้ำอีกครั้งหลังจากอัปเดตรายการคุณสมบัติที่จำเป็นแล้ว
  • หากชื่อเปลี่ยนจาก “ส่ง” เป็น “เข้าสู่ระบบ” ในภายหลัง สคริปต์จะทำงานโดยไม่เรียกใช้ระบบยืนยันตัวตนอัจฉริยะ
  • ในทำนองเดียวกัน หากคุณสมบัติที่จำเป็นหรือคุณสมบัติเสริมใดๆ บนวัตถุที่กำลังทดสอบมีการเปลี่ยนแปลงบ่อยครั้ง ให้แทนที่ด้วยคุณสมบัติที่มีความเสถียรกว่า เพื่อให้การทำงานของสคริปต์รวดเร็วขึ้น
  • การปรับแต่งคุณสมบัติเป็นทักษะที่สร้างขึ้นจากประสบการณ์ ยิ่งคุณใช้เครื่องมือนี้มากเท่าไหร่ ทักษะก็จะยิ่งดีขึ้นเท่านั้น

ปิดใช้งานระบบระบุตัวตนอัจฉริยะโดยใช้ VBScript

นอกจากนี้ ยังสามารถปิดการใช้งาน Smart Identification ตลอดทั้งเซสชันการทำงานโดยไม่ต้องแตะต้องคลังเก็บวัตถุ โดยใช้ DisableReplayUsingAlgorithm การตั้งค่าขณะรันไทม์ มีประโยชน์เมื่อสคริปต์ควรหยุดทำงานทันทีหากคุณสมบัติใด ๆ ไม่ตรงกัน แทนที่จะกลับไปยังกระบวนการคัดกรองโดยไม่แจ้งให้ทราบล่วงหน้า

' Disable Smart Identification for this run session
Setting("DisableReplayUsingAlgorithm") = 1

Browser("Mercury Tours").Page("Find Flights").WebEdit("userName").Set "mercury"

' Re-enable Smart Identification once the strict steps are done
Setting("DisableReplayUsingAlgorithm") = 0

ควรจำกัดระยะเวลาของหน้าต่างที่ปิดใช้งานให้สั้นที่สุดเท่าที่จะเป็นไปได้ ขั้นตอนที่ดำเนินการภายในหน้าต่างนั้นต้องตรงกับคำอธิบายที่เรียนรู้มาอย่างแม่นยำ ดังนั้นหากเกิดความคลาดเคลื่อนใดๆ ในแอปพลิเคชันที่กำลังทดสอบ จะทำให้เกิดความล้มเหลวทันที แทนที่จะเป็นการย้อนกลับอย่างราบรื่น

แหล่งข้อมูล

ดาวน์โหลดเว็บเพจที่ใช้ในบทเรียนข้างต้นเพื่อฝึกฝนด้วยตนเอง

คำถามที่พบบ่อย

ไม่ ระบบยืนยันตัวตนอัจฉริยะสามารถใช้งานได้กับระบบส่วนใหญ่ UFT สภาพแวดล้อมหนึ่งๆ รวมถึง Windows, Javaและอ็อบเจ็กต์ .NET ไม่ใช่แค่เว็บเท่านั้น ความพร้อมใช้งานขึ้นอยู่กับคลาสของส่วนเสริมและอ็อบเจ็กต์ทดสอบมากกว่าประเภทของสภาพแวดล้อม

การสร้างรายการผู้สมัครและกรองคุณสมบัติทีละรายการใช้เวลานานกว่าการจับคู่คำอธิบายที่เรียนรู้เพียงครั้งเดียว ในคลังข้อมูลขนาดใหญ่ การประมวลผลเพิ่มเติมจะสะสมมากขึ้น ดังนั้นหลายทีมจึงปิดใช้งานฟังก์ชันนี้ในวัตถุที่สำคัญต่อประสิทธิภาพการทำงาน

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

พวกมันแก้ปัญหาที่คล้ายกันด้วยวิธีการที่แตกต่างกัน ตัวระบุตำแหน่งที่ซ่อมแซมตัวเองได้ในยุคปัจจุบัน เครื่องมือทดสอบ AI Smart Identification จะเรียนรู้องค์ประกอบที่เปลี่ยนแปลงไปโดยอัตโนมัติ ในขณะที่ Smart Identification จะกรองรายการคุณสมบัติคงที่ ทีมงานหลายทีมใช้ทั้งสองอย่างร่วมกัน

ไม่ ระบบระบุตัวตนอัจฉริยะจะกรองคุณสมบัติข้อความที่จัดเก็บไว้ ในขณะที่ UFT เทคนิคการระบุตัวตนด้วย AI และ Insight รุ่นใหม่ล่าสุดของบริษัทนั้นจดจำวัตถุด้วยภาพ โดยทั้งสองเทคนิคทำหน้าที่เป็นชั้นสำรองที่แยกจากกันและเสริมซึ่งกันและกัน

สรุปโพสต์นี้ด้วย: