ที่เก็บอ็อบเจ็กต์ภายในและที่ใช้ร่วมกันใน QTP/UFT

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

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

  • 🔘 แบบจำลองวัตถุทดสอบ: QTP เรียนรู้คุณสมบัติของวัตถุขณะบันทึก และเปรียบเทียบกับวัตถุในขณะทำงานระหว่างการเล่นซ้ำ
  • ☑️ โดยค่าเริ่มต้นจะอยู่ภายในเครื่อง: ทุกการกระทำเริ่มต้นด้วยที่เก็บข้อมูลภายในเครื่องของตนเอง ซึ่งบันทึกไว้ในชื่อ ObjectRepository.bdb ภายในโฟลเดอร์ของการกระทำนั้น
  • ✅ ความสามารถในการปรับขนาดของที่เก็บข้อมูลส่วนกลางที่ใช้ร่วมกัน: ไฟล์ .tsr จะอยู่นอกเหนือการทดสอบ และสามารถเชื่อมโยงกับการกระทำต่างๆ ในการทดสอบหลายๆ ครั้งได้
  • 🧪 สามขั้นตอนหลักๆ: สร้างที่เก็บข้อมูล เชื่อมโยงกับแอ็กชันของคุณ จากนั้นแก้ไขผ่านตัวจัดการที่เก็บข้อมูลวัตถุ
  • 🛠️ ตัวป้องกันแบบอ่านอย่างเดียว: พื้นที่เก็บข้อมูลร่วมจะเปิดในโหมดอ่านอย่างเดียวใน Manager จนกว่าจะเลือก File > Enable Editing
  • 📌 ชื่อปัจจุบัน: QTP คือตอนนี้ OpenText การทดสอบการทำงาน (UFT หนึ่ง) แต่เมนูของที่เก็บข้อมูลและรูปแบบไฟล์ยังคงไม่เปลี่ยนแปลง

โครงสร้างคลังเก็บวัตถุแบบโลคอลและแบบใช้ร่วมกันใน QTP และ UFT หนึ่ง

Object Repository คืออะไรใน QTP?

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

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

การระบุวัตถุทำงานอย่างไรใน QTP?

  • QTP ใช้เทคโนโลยีที่มีลักษณะคล้าย "มนุษย์" สำหรับ การระบุวัตถุ
  • ในระหว่าง บันทึก เวลา, QTP พยายามเรียนรู้คุณสมบัติของวัตถุ GUI ที่กำลังดำเนินการอยู่
  • ในระหว่างการทำงาน UFT วิธีการนี้เปรียบเทียบคุณสมบัติของวัตถุที่จัดเก็บไว้กับคุณสมบัติจริงของวัตถุที่ปรากฏบนหน้าจอ และระบุวัตถุได้อย่างเฉพาะเจาะจงโดยไม่ขึ้นอยู่กับตำแหน่งบนหน้าจอ
  • วัตถุที่จัดเก็บไว้ พร้อมด้วยคุณสมบัติของมัน เรียกว่า วัตถุทดสอบ
  • ในระหว่างการทำงาน (Run-Time) วัตถุจริงที่มีอยู่ในแอปพลิเคชันที่กำลังทดสอบเรียกว่า... วัตถุรันไทม์
  • นี่คือ การทดสอบอย่างรวดเร็ว “ทดสอบโมเดลวัตถุ”
  • ข้อมูลเกี่ยวกับวัตถุทดสอบจะถูกจัดเก็บไว้ในที่เก็บวัตถุ
  • ส่วนเสริมจะช่วยแจ้งให้ QuickTest ทราบล่วงหน้าเกี่ยวกับลักษณะของวัตถุที่จะบันทึก เพื่อลดเวลาที่จำเป็นในการเรียนรู้คุณสมบัติของวัตถุนั้น

เรียนรู้การระบุวัตถุด้วยตัวอย่างในวิดีโอต่อไปนี้

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

ประเภทของที่เก็บวัตถุ

มี Object Repository อยู่ 2 ประเภท QTP

  1. พื้นที่เก็บข้อมูลวัตถุในเครื่อง
  2. พื้นที่เก็บข้อมูลวัตถุที่ใช้ร่วมกัน

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

พื้นที่เก็บข้อมูลวัตถุในเครื่อง

  • Local Object Repository เป็นที่เก็บอ็อบเจ็กต์เริ่มต้น
  • เป็นการกระทำเฉพาะและสามารถใช้ได้เฉพาะกับการกระทำบางอย่างเท่านั้น
  • การใช้ Local Object Repository นั้นเหมาะสมกว่าเมื่อแอปพลิเคชันไม่เปลี่ยนแปลงตามเวลา
  • ที่เก็บวัตถุในเครื่องไม่สามารถนำกลับมาใช้ใหม่ได้
  • คุณสามารถดำเนินการต่างๆ มากมายในที่เก็บวัตถุในเครื่องได้ เช่น:
    • ไฮไลต์ออบเจ็กต์ที่จัดเก็บไว้ในพื้นที่เก็บข้อมูลบนแอปพลิเคชันภายใต้การทดสอบ
    • ตรวจสอบว่าวัตถุเฉพาะใน AUT ของคุณถูกจัดเก็บไว้ใน Object Repository หรือไม่
    • ตัด คัดลอก วาง แก้ไข และลบวัตถุ
    • ในกรณีที่คุณแก้ไขค่าของคุณสมบัติโดยไม่ได้ตั้งใจ คุณสามารถอัปเดตคำอธิบายของคุณสมบัตินั้นได้จากแอปพลิเคชันโดยใช้ฟังก์ชันอัปเดต

วิดีโอด้านล่างนี้แสดงวิธีการทำงานกับที่เก็บวัตถุในเครื่อง (local object repository)

พื้นที่เก็บข้อมูลวัตถุที่ใช้ร่วมกัน: สร้าง เชื่อมโยง แก้ไข

  • การใช้ Global หรือ Shared Object Repository เป็นวิธีที่เหมาะสมกว่าเมื่อแอปพลิเคชันมีการเปลี่ยนแปลงตลอดเวลาและคำอธิบายของอ็อบเจ็กต์มีการเปลี่ยนแปลงบ่อยครั้ง
  • ระหว่างคลังเก็บอ็อบเจ็กต์แบบใช้ร่วมกันและแบบภายในเครื่อง คลังเก็บอ็อบเจ็กต์แบบใช้ร่วมกันนั้นนิยมใช้มากกว่าในโครงการอัตโนมัติ
  • อย่างไรก็ตาม การใช้งานระบบนี้มีค่าใช้จ่ายด้านการบำรุงรักษาและการบริหารจัดการมากกว่าเมื่อเทียบกับที่เก็บวัตถุในเครื่อง

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

  • การสร้างที่เก็บวัตถุที่ใช้ร่วมกัน
  • การเชื่อมโยงพื้นที่เก็บข้อมูลวัตถุที่ใช้ร่วมกัน
  • การแก้ไขที่เก็บวัตถุที่ใช้ร่วมกัน

ลองดูพวกเขาทีละครั้ง

ขั้นตอนที่ 1) การสร้างที่เก็บวัตถุที่ใช้ร่วมกัน

  • โดยค่าเริ่มต้น ที่เก็บข้อมูลทั้งหมดจะเป็นแบบโลคอล หากต้องการสร้างที่เก็บข้อมูลออบเจ็กต์ที่ใช้ร่วมกัน ให้ใช้กล่องโต้ตอบที่เก็บข้อมูลออบเจ็กต์ Boxคลิก ไฟล์ > ส่งออกวัตถุในเครื่อง
  • ไฟล์ในที่เก็บข้อมูลมีนามสกุล .tsrตั้งชื่อที่เหมาะสม เช่น “guru99” แล้วบันทึก
  • ไฟล์พื้นที่เก็บข้อมูลที่ใช้ร่วมกันได้ถูกสร้างขึ้นแล้ว

ขั้นตอนที่ 2) การเชื่อมโยงคลังเก็บวัตถุที่ใช้ร่วมกัน

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

ขั้นตอนที่ 3) การแก้ไขที่เก็บวัตถุที่ใช้ร่วมกัน

  • คุณสามารถใช้ Object Repository Manager เพื่อแก้ไขที่เก็บข้อมูลที่ใช้ร่วมกันได้
  • เลือก ทรัพยากร > ตัวจัดการคลังเก็บวัตถุเปิด Object Repository ที่เราสร้างไว้ชื่อ “guru99”
  • โดยค่าเริ่มต้น ระบบจะเปิดที่เก็บข้อมูลในโหมดอ่านอย่างเดียว หากต้องการเปิดใช้งานการแก้ไข ให้คลิก ไฟล์ > เปิดใช้งานการแก้ไข
  • เมื่อเปิดใช้งานการแก้ไขแล้ว คุณสามารถดำเนินการต่างๆ เช่น ตัด คัดลอก วาง และเปลี่ยนชื่อวัตถุได้เช่นเดียวกับที่สามารถทำได้ในคลังวัตถุ
  • คุณสามารถใช้ Object Repository Manager เพื่อเปรียบเทียบ Object Repository สองรายการได้เช่นกัน QTP รายงานนี้แสดงสถิติเกี่ยวกับสิ่งที่เป็นเอกลักษณ์และสิ่งที่เหมือนกันในทั้งสองคลังข้อมูล
  • คุณสามารถใช้เครื่องมือผสานคลังเก็บวัตถุ (Object Repository Merge Tool) เพื่อผสานคลังเก็บวัตถุสองแห่งเข้าเป็นแห่งเดียวได้

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

ความแตกต่างระหว่าง Local Object Repository และ Shared Object Repository

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

หลักเกณฑ์ พื้นที่เก็บข้อมูลวัตถุในเครื่อง พื้นที่เก็บข้อมูลวัตถุที่ใช้ร่วมกัน
ความพร้อมที่จะให้บริการ สร้างขึ้นโดยอัตโนมัติทุกครั้งที่มีการดำเนินการ ต้องสร้างขึ้นก่อน จากนั้นจึงเชื่อมโยงกับการกระทำ
ขอบเขต หนึ่งที่เก็บข้อมูลต่อหนึ่งการกระทำ และสามารถใช้งานได้เฉพาะกับการกระทำนั้นเท่านั้น ไฟล์เดียวที่สามารถใช้งานได้หลากหลายในหลายการทดสอบ
รูปแบบไฟล์ บันทึกเป็น ObjectRepository.bdb ภายในโฟลเดอร์แอ็กชัน บันทึกเป็นไฟล์ภายนอก .tsr ไฟล์
การตัดต่อ สามารถแก้ไขได้โดยตรงในหน้าต่าง Object Repository โดยค่าเริ่มต้นจะเป็นแบบอ่านอย่างเดียว สามารถแก้ไขได้ผ่านทางตัวจัดการคลังเก็บวัตถุ (Object Repository Manager)
นำมาใช้ใหม่ ไม่สามารถนำกลับมาใช้ซ้ำได้ ออกแบบมาเพื่อการนำกลับมาใช้ซ้ำและการควบคุมเวอร์ชัน
ซ่อมบำรุง คุณสมบัติที่เปลี่ยนแปลงไปจะต้องได้รับการแก้ไขในทุกการกระทำ คุณสมบัติที่เปลี่ยนแปลงจะถูกแก้ไขเพียงครั้งเดียว สำหรับการทดสอบที่เกี่ยวข้องทุกครั้ง
เหมาะที่สุดสำหรับ แอปพลิเคชันขนาดเล็กที่เสถียรและการทดสอบการเรียนรู้แบบการกระทำเดียว แอปพลิเคชันขนาดใหญ่หรือแอปพลิเคชันที่มีการเปลี่ยนแปลงตลอดเวลาซึ่งมีวิศวกรระบบอัตโนมัติหลายคน

โดยสรุปแล้ว ที่เก็บข้อมูลในเครื่องจะเร็วกว่าในการเริ่มต้นใช้งาน และที่เก็บข้อมูลส่วนกลางจะมีค่าใช้จ่ายในการบำรุงรักษาที่ถูกกว่า การทดสอบการเรียนรู้และการตรวจสอบแบบครั้งเดียวสามารถเก็บไว้ในเครื่องได้ ส่วนสิ่งใดก็ตามที่บุคคลที่สองจะเรียกใช้ ควรเก็บไว้ในที่เก็บข้อมูลส่วนกลาง .tsr ไฟล์

วิธีการเพิ่มอ็อบเจ็กต์ลงในที่เก็บอ็อบเจ็กต์ที่ใช้ร่วมกันโดยตรง

การส่งออกวัตถุภายในเครื่องเป็นเพียงหนึ่งในหนทางเท่านั้น .tsr ไฟล์ เมื่อคุณทราบแล้วว่าชุดซอฟต์แวร์ต้องการตัวควบคุมใดบ้าง การสร้างที่เก็บข้อมูลส่วนกลางก่อนจะเร็วกว่า และไม่ต้องบันทึกข้อมูลเลยก็ได้

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

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

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

ที่เก็บอ็อบเจ็กต์แบบโลคอลจะถูกจัดเก็บในชื่อไฟล์ ObjectRepository.bdb ภายในโฟลเดอร์แอ็กชัน ส่วนที่เก็บอ็อบเจ็กต์แบบแชร์จะถูกจัดเก็บในไฟล์ .tsr ที่แยกต่างหาก ซึ่งอยู่นอกเหนือการทดสอบและสามารถตรวจสอบเพื่อบันทึกในระบบควบคุมเวอร์ชันได้

ใช่แล้ว เปิดหน้าต่าง Object Repository สำหรับการดำเนินการนั้น แล้วเลือก File จากนั้นเลือก Export Local Objects QTP ฟังก์ชันนี้จะบันทึกอ็อบเจ็กต์ของแอ็กชันลงในไฟล์ .tsr จากนั้นคุณสามารถเชื่อมโยงไฟล์นี้กับแอ็กชันใดๆ ที่ต้องการใช้งานอ็อบเจ็กต์เหล่านั้นได้

ใช่แล้ว หน้าต่าง Associate Repository ยอมรับไฟล์ .tsr หลายไฟล์ต่อการดำเนินการหนึ่งครั้ง และให้คุณกำหนดลำดับความสำคัญได้ เมื่อชื่อวัตถุเดียวกันปรากฏขึ้นสองครั้ง Repository ที่อยู่ในลำดับสูงกว่าจะเป็นผู้ชนะ

โปรแกรมจัดการคลังเก็บวัตถุ (Object Repository Manager) จะเปิดไฟล์ที่แชร์ในโหมดอ่านอย่างเดียว เพื่อป้องกันไม่ให้วิศวกรสองคนเขียนทับกัน เลือก ไฟล์ จากนั้นเลือก เปิดใช้งานการแก้ไข (Enable Editing) เพื่อล็อกการเขียน และปิดไฟล์เมื่อแก้ไขเสร็จแล้ว เพื่อให้เพื่อนร่วมงานสามารถแก้ไขได้

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

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

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

เปิดไฟล์ทั้งสองใน Object Repository Manager แล้วเรียกใช้ Object Repository Merge Tool เครื่องมือจะรายงานว่าวัตถุใดเหมือนกันและวัตถุใดแตกต่างกัน จากนั้นจะให้คุณแก้ไขข้อขัดแย้งแต่ละรายการก่อนที่จะเขียนไฟล์ .tsr ที่รวมกันแล้ว

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