ปัญหาจากการใช้ Browser IE ใน Robot Framework

โพสต์ก่อนหน้าเพิ่งเขียนวิธีใช้ Internet Explorer ใน Robot Framework พอเอาไปใช้จริง ก็เจอปัญหาอื่น ๆ อีก เช่น ช้าโคตร หรือ เปิดขึ้นแล้วเจอปัญหาที่บอกว่า ไม่สามารถเรียกใช้ browser ที่เปิดแล้วได้ ทำให้มันพยายามเปิด browser ใหม่รัว ๆ หรือบอกว่า invalid argument อะไรสักอย่างที่ชื่อ sessionId เรียกว่า ปัญหาเยอะชิบหาย เมื่อเทียบกับใช้ chrome หรือ firefox แทน

โพสต์นี้เลยรวมเอาปัญหาที่เจอ กับวิธีแก้ปัญหามาไว้ด้วยกัน เผื่อเจออีก

ช้าโคตร

ปัญหานี้เจอตอนใช้ IE 11 บน Windows 10 64bit แล้วใช้ IEDriverServer.exe ที่เป็นเวอร์ชั่น 3.8 แบบ 64bit

อาการ เวลาสั่งทำอะไรก็ตาม จะช้ามาก เช่น

*** Test Case ***
Some Test Case
    Input Text    myId     12345678

แทนที่จะใส่ 12345678 พรวดเดียวเข้าไปที่ locator myId มันก็ค่อย ๆ ใส่ทีละตัว 1, 2, 3, 4, … ไปเรื่อย ๆ และที่สำคัญ ช้ามาก ๆ ใส่ตัวนึง รอประมาณ 1-2 วินาที ถึงจะใส่ตัวถัดไป นี่ยังไม่รวม action อื่น ๆ ที่ให้ทำ กว่า test case จะหมด น่าจะหมดแรงก่อน

วิธีแก้ไข เปลี่ยนไปใช้ IEDriverServer.exe เวอร์ชั่น 32bit แทน พอเปลี่ยนปุ๊บ เร็วเลย รู้สึกดีขึ้นเยอะเลย

ไม่สามารถที่เรียกใช้ Browser ที่เปิดแล้วได้

จริง ๆ ปัญหานี้มันไม่ได้เขียนแบบนี้ มันเขียนเป็นภาษาอังกฤษ แต่จำไม่ได้ว่ามันบอกว่าอะไร แต่แปลได้ประมาณนี้

ปัญหานี้เกิดตอนใช้ IE 11 บน Windows 10 64bit แล้วใช้ IEDriverServer.exe ที่เป็นเวอร์ชั่น 3.8 แบบ 64bit เหมือนกัน แต่จริง ๆ แล้วไม่ว่าจะใช้เวอร์ชั่นอะไร มันก็มีปัญหานี้

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

ปัญหาเรื่อง Invalid argument อะไรสักอย่างที่ชื่อ sessionId

ปัญหานี้ก็เหมือนกัน จำ error message มันเป๊ะ ๆ ไม่ได้ แต่แปลได้ประมาณนี้ ทำให้เปิด Browser ไม่ได้เลย

ปัญหานี้เกิดตอนใช้ IE 11 บน Windows 10 64bit แล้วใช้ IEDriverServer.exe ที่เป็นเวอร์ชั่น 3.8 แบบ 64bit เหมือนกัน ไม่เข้าใจเหมือนกันว่าทำไมบางคนเป็น บางคนไม่เป็น ไม่ได้ลงไปเช็คจริง ๆ จัง ๆ

วิธีแก้ไข เท่าที่ไปหาวิธีมา ปัญหาน่าจะเกิดจาก version compatibility การแก้ไขมันเลยเป็นการเปลี่ยนเวอร์ชั่นของ IEDriverServer.exe ไปใช้อันอื่น ตอนที่ลอง ลองเปลี่ยนไปใช้เวอร์ชั่น 2.58.1 ก็สามารถเปิด Browser และใช้งานได้ตามปกติ

ปิดท้าย

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

Leave a Reply