เปิด Internet Explorer ด้วย Robot Framework

หลังจากที่เปลี่ยน OS มาเป็น mac OSX ได้หลายปี รวมถึงใช้ google chrome เป็นหลัก ก็ไม่ได้กลับไปยุ่งกับ internet explorer อีกเลย จนวันนี้ลูกค้าบอกว่า ผู้ใช้ส่วนใหญ่ที่เข้ามาใช้ระบบของเขา ใช้ internet explorer เวอร์ชั่น 11 รองลงมาเป็น google chrome เขาอยากจะให้ความสำคัญกับ browser ทั้งสองตัวนี้ การ test ที่เป็น robot framework ก็อยากให้เทสบน browser ทั้งสองตัวนี้ด้วย

วิธีการ test ด้วย google chrome ไม่ได้ยากอะไร ใช้วิธีปกติได้เลย ส่วนการ test ด้วย internet explorer ล่ะ ต้องทำยังไงวะ ไม่เคยลองจริง ๆ เลยสักที ใน document มันบอกแค่ว่ากำหนด browser เป็น ie ก็จบ ใช้ได้เลย

สิ่งที่ต้องทำ มีตามนี้

  1. ดาวน์โหลด web driver สำหรับ internet explorer มาลงที่เครื่อง มันใช้ชื่อว่า IEDriverServer.exe (โหลดได้จาก http://selenium-release.storage.googleapis.com/index.html) Driver ตัวนี้ใช้ได้กับ IE6 ถึง IE11 เลยทีเดียว ส่วน IE Edge นี่ต้องใช้ driver ตัวอื่น
  2. ดาวน์โหลดมาแล้ว ก็ทำเหมือนกับ web driver ทั่ว ๆ ไป คือ เอาไปวางไว้ที่ไหนก็ได้ เสร็จแล้ว Set PATH ให้มองเห็นที่ที่เอาไปวาง

เสร็จแล้ว ลองเขียน code ดู

*** Settings ***
Library    SeleniumLibrary

*** Test Cases ***
Test Open IE Browser
    Open Browser    http://www.chonla.com    ie
    [Teardown]    Close Browser

พอรันก็เจอปัญหา มันขึ้น Error ว่า

SessionNotFoundException: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.

วิธีแก้คือ

  1. เปิด Internet Explorer
  2. ไปที่เมนู Tools เลือก Internet Options ไปที่แท็บ Security
  3. ตรงช่องที่เขียนว่า Enable Protected Mode ให้ทำให้เหมือนกันในทุก ๆ zone (ทุก zone คือ Internet zone, Local intranet zone, Trusted sites zone และ Restricted sites zone) ​คือ ถ้าติ๊ก ก็ติ๊กให้หมด ถ้าไม่ติ๊ก ก็ไม่ต้องติ๊กเลย ขอแค่เหมือนกันก็พอ
  4. เสร็จแล้วลอง run robot ที่เปิด internet explorer อีกทีนึง ทีนี้ก็ผ่านละ ง่ายเนอะ

 

One thought on “เปิด Internet Explorer ด้วย Robot Framework

Leave a Reply