Ranorex เป็นเครื่องมือทดสอบส่วนต่อประสานกับผู้ใช้สำหรับ Windows หากองค์ประกอบ UI รองรับ Microsoft Active Accessiblity (MSAA) ก็จะสามารถดึงข้อมูลที่สมบูรณ์เกี่ยวกับองค์ประกอบต่างๆ ได้ ซึ่งมีประโยชน์มากสำหรับการเขียนสคริปต์ทดสอบ
เรามีโค้ดเดิมจำนวนมากใน VB6 ซึ่งไม่รองรับ MSAA
ฉันกำลังพยายามเพิ่มการสนับสนุนนี้ให้กับ UserControls VB6 บางส่วนของเราดังต่อไปนี้
ฉันได้สร้างส่วนประกอบ ActiveX ใน C ++ โดยใช้ ATL ประกอบด้วยคลาสตัวช่วยที่ใช้อินเทอร์เฟซ IAccessible นอกจากนี้ยังมีฟังก์ชันการเริ่มต้นซึ่งสามารถเรียกได้จาก VB6
UserControl VB6 สร้างวัตถุตัวช่วยและส่งผ่านตัวจัดการหน้าต่างและชื่อไปยังฟังก์ชันการเริ่มต้น วัตถุตัวช่วยจัดคลาสย่อยหน้าต่างและจัดการข้อความ WM_GETOBJECT เพื่อให้อินเทอร์เฟซ IAccessible สำหรับหน้าต่าง
ฉันได้แก้ไขโค้ดแล้วและเท่าที่ฉันสามารถบอกได้ มันใช้งานได้ เครื่องมือ Ranorex Spy รับอินเทอร์เฟซ IAccessible และวิธีการเรียกบนอินเทอร์เฟซ
อย่างไรก็ตาม Ranorex จะไม่แสดงข้อมูลใด ๆ ที่ดูเหมือนว่าจะดึงมาจากอินเทอร์เฟซนี้
ฉันรู้ว่านี่เป็นปัญหาที่เฉพาะเจาะจงมาก แต่มีใครมีประสบการณ์ในการใช้งาน IAccessible เพื่อใช้ใน Ranorex หรือในเครื่องมือทดสอบอื่นๆ ที่คล้ายคลึงกันหรือไม่
ฉันยินดีที่จะให้รหัสของฉัน แต่ฉันคิดว่ามันมากเกินไปสำหรับการโพสต์ตามปกติ