top of page

แก้ปัญหา Click element บนมือถือไม่ได้

ในบางกรณี Code สามารถใช้กับ Device บางเครื่องได้ แต่บางเครื่องก็ไม่สามารถใช้ได้ อาจเป็นเพราะขนาดหน้าจอของ Device นั้นๆ หรืออาจจะเกี่ยวกับ version appium ที่ใช้ไม่เหมือนกัน เพราะเพื่อนในทีมรันได้ แต่ทำไมเรารันแล้วตาย ฮือๆๆ

ขอยกตัวอย่างในกรณีที่เคยเจอนะคะ

ข้อนี้คือรันแล้ว pass นะคะ แต่พอกดเข้ามาดูที่หน้าจอมือถือ ปรากฎว่ามันตายที่หน้านี้ และก็เข้าไปดูใน Log มันก็ตายตรง SelectAll จริงๆ เลยลองแก้ปัญหาด้วยการเก็บ xpath ใหม่

ตอนแรก xpath ที่ใช้เป็นแบบนี้ค่ะ xpath=//XCUIElementTypeStaticText[@name="Select All" or @name="เลือกทั้งหมด"]

ทีนี้เลยลองเปลี่ยนดู ลองใส่xpathแบบ absolute path โดยยึดตัวที่มีเหมือนกันตั้งต้น XCUIElementTypeStaticText[@name="Select All" or @name="เลือกทั้งหมด"] แล้วตามด้วย /XCUIElementTypeButton ที่มัน Relate กันได้

เขียนเป็น xpath=//XCUIElementTypeStaticText[@name="Select All" or @name="เลือกทั้งหมด"]/../XCUIElementTypeButton

ทีนี้ก็ลองรัน ปรากฎว่า pass จ้า เขียวแบบสมบูรณ์ ไม่มีแดงแอบแฝง55555

ศึกษาเพิ่มเติมได้ที่ https://www.w3schools.com/xml/xpath_axes.asp

Recent Posts
Archive
Search By Tags
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page