Blur ใน Robot Framework

มีโจทย์ว่า input text ในเว็บแอพ เวลา on blur ให้มันไปทำการ validate ข้อมูลใน input นั้น ถ้าไม่ถูกต้องก็แสดง error message ด้วยความที่ไม่รู้ ตอนที่อยากทำให้เกิด event on blur ก็ใช้วิธีเอาสีข้างแถ ๆ ไป

อ่านต่อ »

ใส่ Swagger ให้กับ .NET Core API

swagger เป็น tool เอาไว้สำหรับสร้าง document สำหรับ API แถมว่า document ที่สร้างขึ้นมา มันทำหน้าที่เป็น testing tool เพื่อใช้ทดสอบ API นั้นให้ได้อีกด้วย คือเรียกได้ว่า โคตรมหาเทพ tool กันเลยทีเดียว

ตัว swagger เอง มัน support หลาย ๆ ภาษา .NET Core เป็นหนึ่งในนั้น วิธีการใช้งานก็ไม่ยากอะไร (เท่าที่ลอง) เลยเอามาจดไว้หน่อย เดี๋ยวลืม

อ่านต่อ »

JSON Configuration ใน .NET Core

ใน .NET Core มันใช้ configuration ได้หลายแบบ แบบที่เป็นไฟล์ หลัก ๆ ก็ INI, JSON ไม่ก็ XML ทีนี้พอจะทำแอพที่เอา .NET Core ไปเข้า pipeline ของ ci/cd การทำ configuration file ก็เป็นทางเลือกที่น่าสนใจในการ manage configuration

ต้องเตือนไว้ก่อนว่า โดยปกติ มันไม่ควรเอา configuration ไว้ใน code base แล้วมา set profile ว่าเออ นี่จะ build สำหรับขึ้น production นะ อันนี้จะใช้ build ขึ้น staging นะ แต่ควรจะใช้ binary เดียว build ครั้งเดียว และใช้ configuration ในการจัดการควบคุม environment แทน

อ่านต่อ »

รัน Jasmine ด้วย Browser IE ผ่าน Karma

ปัญหาการใช้งาน IE ยังไม่จบไม่สิ้น คราวที่แล้วเป็นเรื่องรัน robot framework บน IE รอบนี้มาเจอปัญหารัน javascript unit test บน IE

javascript unit test ที่ใช้เป็น jasmine รันด้วย karma test runner บน Windows server 2012 ปัญหาที่เจอรอบนี้คือ เปิด IE ไม่ขึ้นเฉพาะตอนรันผ่าน jenkins (แต่ถ้ารัน manual ไม่เจอปัญหานี้)

อ่านต่อ »

เอา App ไปรันเป็น Service บน Linux ผ่าน systemd

แต่ก่อนเวลาเขียน app ที่เป็น standalone มาตัวนึง แล้วต้องการปล่อยให้มัน run บน linux เป็น process ทิ้งไว้ ท่าที่มักจะหยิบมาใช้ก็คือ รันเป็น background process (ใส่ & ปิดท้าย และใช้ nohup ร่วมด้วย) และถ้าต้องการ stop ก็จะใช้วิธี kill process และถ้าอยาก restart ก็ kill แล้วตามด้วย run ใหม่แบบ background

วันนี้ได้รู้จักวิธีใหม่จากดิว คือการใช้ systemd ซึ่งจะช่วยให้เราสามารถ start, stop และ restart app ของเราได้เหมือนเป็น service (daemon) กันเลย

อ่านต่อ »

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

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

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

อ่านต่อ »

เปิด 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 ก็จบ ใช้ได้เลย อ่านต่อ »