บทความนี้จะเป็นการอัพเดทงาน Robo Con 2019 ซึ่งได้จบไปตั้งแต่ต้นปีแล้ว แต่ผมพึ่งว่างมาไล่ดู เลยพยายามจะเอามาสรุปเป็นเป็นข้อเพื่อให้เข้าใจได้ง่ายๆครับ โดยปีนี้ Robot framework ได้ปล่อย Major Release version 3.1 ออกมา ฟีเจอร์หลักๆผมสรุปได้ตามนี้เลย
รองรับ RPA หรือ Robotic Process Automation
แทบจะพูดได้เลยว่า แนวโน้มของ Robot Framework ตั้งแต่ปี 2019 ถึง 2020 จะเป็นการขยายขีดจำกัดของ Framework เพื่อให้รองรับการทำงานของ RPA
สำหรับเพื่อนๆที่ยังไม่รู้จัก RPA นะครับ RPA คือแนวคิดในการเปลี่ยนกระบวนการที่ใช้งานคน เป็นการใช้งานระบบอัตโนมัติแทนครับ ซึ่งทุกวันนี้นิยมกันมากขึ้นอย่างเห็นได้ชัดในองค์กรใหญ่ๆ ที่จะเป็นต้องใช้งานหลายๆระบบ และแต่ละระบบแยกออกจากกัน ซึ่งทำให้การส่งข้อมูลข้ามระหว่างระบบต้องใช้คนนั่งกรอกข้อมูลครับ RPA มาช่วยทำหน้าที่ดึงข้อมูลจากระบบ A แล้วไปกรอกให้ระบบ B ทำให้ไม่ต้องใช้คนมาคอยกรอกให้
การปรับหลักๆสำหรับ RPA คือ
- มีการรองรับการสร้าง File Task suite แยกออกจาก Test suite ครับ ทำให้สามารถแยกได้ชัดเจนว่า ไฟล์ไหนสำหรับเทส ไฟล์ไหนสำหรับการทำ RPA นั่นเอง
- เพิ่มแท็ก ***tasks*** เพื่อใช้ในการกำหนดงานที่ต้องการจะรันนั่นเอง
*** Tasks *** Validate invoice Download invoice 10001 ${True} Backup invoice Read information from invoice Validate invoice information
Automatic Argument Conversion สำหรับ Python 3
เป็นความสามารถที่เพิ่มขึ้นมา เพื่อชีวิตที่ดีขึ้นของนักพัฒนาที่พัฒนา library หรือ function ใช้เอง โดย argument conversion เป็นการแปลง type ที่เราส่งจาก keyword ไปยัง Python 3 ให้อัตโนมัติ โดยเราเพียงกำหนด argument type ใน Python function เท่านั้นเอง
def download_invoice(invoice_id: str, is_production: bool): end_point = "https://stage.demo.com/invoice/" if is_production: end_point = "https://demo.com/invoice/"
FOR LOOP แบบใหม่ไฉไลกว่าเดิม
ต้องยอมรับว่า Syntax ของ For loop ใน Robot เวอร์ชั่นก่อนหน้านั้น ค่อนข้างอ่านได้ยาก พอเปลี่ยนใหม่แล้วชีวิตดูดีขึ้นเยอะเลยครับ อ่านง่าย รีวิวง่าย
# NEW FOR LOOP Validate invoice FOR ${invoice id} IN @{invoices} Download invoice 10001 ${True} Backup invoice END Read information from invoice Validate invoice information # OLD FOR LOOP Validate invoice :FOR ${invoice id} IN @{invoices} \ Download invoice 10001 ${True} \ Backup invoice Read information from invoice Validate invoice information
ซึ่งนักพัฒนายังแจ้งอีกว่า กำลังที่จะปรับ IF / ELSE ให้อยู่ใน Format คล้ายๆแบบนี้เช่นกัน ^_^
โดยการปรับ Syntax ครั้งนี้จริงแล้วก็เพื่อรองรับ RPA นั่นเอง เพราะ RPA ค่อนข้างจะมีการใช้งานที่ซับซ้อนกว่าการเขียน test script ทั่วไปครับ
มีข่าวมาบอก สำหรับเพื่อนๆที่สนใจอยากเริ่มต้นฝึกฝน Robot Framework ตอนนี้เรามีคอร์ส Workshop สำหรับผู้เริ่มต้น เรียนจบสามารถนำไปใช้งานจริงได้เลย สามารถดูรายละเอียดได้ที่ Robot workshop
REF: Youtube Link
บทความหน้าเรามาต่อกันกับ RPA
แบบเจาะลึกกันไปเลย