สร้าง Automation Script ด้วย Katalon Studio แบบอีซี่ๆ

Thanakorn Sriwichai (TeeYai)
PranWorks
Published in
2 min readOct 7, 2018

จาก Part ที่แล้วเราก็ได้พูดถึง Katalon Studio กันไปคร่าวๆแล้วเนอะ Part นี้เราจะมาลองเขียน Automation Script เพื่อทำ Automation Testing กัน โดยผมจะลองทดสอบกับ Web ก่อนละกัน ส่วน Mobile ค่อยว่าเนอะ

เริ่มเลยก็เข้า Katalon Studio กันเลยจ้า จากนั้นก็สร้าง Blank Project ขึ้นมาสักอันละกัน (เราสามารถดูตัวอย่าง Script ได้ โดยเลือกสร้างเป็น Sample Project แทน จะมีตัวอย่างให้เราดูหลายตัวอย่างเลยล่ะ)
พอสร้าง Project แล้ว ก็ให้เรา Create Test case ขึ้นมาเลย โดยเราจะทำการทดสอบการสมัครสมาชิก Facebook กัน

สร้าง Test Case
Step ของ Test Case นี้ผมให้ประมาณนี้ละกัน (ลองใช้ Step เหล่านี้เป็นโจทย์ไปด้วยกันนะครับ)

ผมแนะนำว่าก่อนจะเขียนสคริปต์น่ะ ให้ไปจับ Object ทั้งหมดที่เราจะใช้มาเซฟไว้ก่อนดีกว่า เพราะเจ้า Katalon นี้สามารถทำการ Capture Object ต่างๆแล้วเซฟเก็บไว้เรียกใช้ทีหลังได้ โดยมันจะเซฟไว้ในโฟลเดอร์ชื่อว่า “Object Repository”
การจะจับ Object น่ะมี 2 วิธี
1. ใช้ “Spy Web” จะเป็นการดู Object ต่างๆและสามารถทำการ Capture ได้
2. ใช้ “Record Web” จะเป็นการบันทึกทุก Action ที่เรากระทำบนหน้าเพจนั้นๆเลย ข้อดีคือมันจะสร้างสคริปต์ให้เราเองเลย

แบบ “Spy Web”
แบบ “Record Web”

สังเกตุ Object ที่เราเซฟมานะครับ ตรง “Selection Method” เราสามารถเลือกได้ว่าจะให้เป็นแบบไหน โดยค่า Default สำหรับ Katalon เวอร์ชันล่าสุดตอนนี้(5.7.1) มันจะเป็น XPath นะ สำหรับผมจะถนัดใช้เป็นแบบ Attributes มากกว่า โดยแบบ Attributes นั้นเราสามารถเลือก Attribute ที่ต้องการได้และควรจำไว้เสมอว่าในส่วนของการเลือก Attribute นั้นมันจะมีผลเป็น “And” นะครับ ไม่ใช่ “Or” ดังนั้นเราควรเลือกเฉพาะที่ต้องการจริงๆเท่านั้นพอครับ

ทีนี้เราก็รู้วิธีการเขียนสคริปต์และการจับ Object คร่าวๆแล้วเนอะ งั้นก็ลงมามือสร้าง Test Case กันเลยครับผม Go Go Go!

เสร็จแล้วครับ หน้าตา Test Case นี้ของผมก็จะได้ประมาณนี้

สังเกตุตรง Password นะครับ เจ้า Katalon นี้สามารถใส่เป็น Encrypted Text ได้ โดยเราสามารถดู Encrypted Text ได้ที่เมนู Help>Encrypted Text และใช้ Keyword Set Encrypted Text แทน Set Text
ข้อควรระวังอีกอย่างหนึ่งคือหากเราเขียนสคริปต์โดยการ Record Web บางครั้งสคริปต์ที่ได้มันก็จะไม่ดี หรือแปลกๆบ้าง ยังไงก็ควรรีวิวอีกทีเพื่อความแน่นอนนะครับ

ทีนี้เราก็มาลองรันดูกันเนอะ

แท่นแท๊นนนนน หลังจากรันแล้ว Result ที่ได้ก็จะหน้าตาประมาณนี้นะครับ

ก็ Pass ไปได้ด้วยดีนะครับ(เพราะผมรีวิวสคริปต์ก่อนที่จะเอามาโชว์แล้ว 555) สำหรับคนที่รันแล้ว Fail สามารถดู Log ได้ว่ามัน Fail เพราะอะไร โดยดูช่อง “Message” ทางขวามือ แต่ส่วนใหญ่แล้วจะเกิดจาก Object เจ้าปัญหาอะแหละ หา Element ไม่เจออะไรแบบนี้โดนกันประจำ
Test Case ที่ทดลองเขียนเป็นตัวอย่างนั้นผมทำถึงแค่ Step คลิกที่ปุ่ม Register เพราะว่าไม่อยากสมัครสมาชิกจริงจังให้ยุ่งยาก จริงๆแล้วจะต้องมี Step ที่ต้อง Verify ว่า Register สำเร็จแล้ว หรืออื่นๆอีก แต่เอาแค่นี้พอให้เห็นภาพก่อนละกันครับ

เป็นไงกันบ้างครับอีซี่ๆเลยใช่มั้ยครับกับการเขียน Automation Script สำหรับทดสอบ Web(หรอ 55555) จริงๆแล้วหน้าเว็บนี้หมูๆมากเลยนะครับ ถ้าเจอบางเว็บจะหนักกว่านี้อีก บาง Object จับยากมาก ใช้เวลาเป็นชั่วโมงๆก็มี เผลอๆทั้งวันไปกันอีก นี่ยังไม่เจอพวก Dynamic Object นะครับ พวก Dynamic Object นี่ก็ต้องใช้ท่ายากในการจัดการกับมันเหมือนกัน

สรุปว่าใน Part นี้ก็คงพอแค่นี้ก่อนละกันนะครับ ไว้เรามาต่อกัน Part หน้าละกันครับ ใครสงสัยตรงไหนหรือให้ช่วยตรงไหนก็ถามกันมาได้เลยครับ

Sometimes you win, Sometimes you learn.

--

--