การเขียน Test Script ด้วย Postman
ในหัวข้อนี้เราจะมาพูดถึงการเขียน Postman test script กัน โดยเนื้อหาจะมีการ ใช้ environment, การใช้ data file(support csv,json) ในการทำงาน, และการใช้ Postman runner ในการทำ test script มาเริ่มกันเลยดีกว่า
- อันดับแรกผมจะสมมุติเหตุการขึ้นมาก่อน โดยมีเนื้อหาดังนี้
- ผมมี service อยุ่ สองตัว โดยที่ ตัวที่หนึ่งนั้น เป็นระบบล็อกอิน เพื่อขอ token เป็นการยืนยันตัวตนในการใช้ service อื่นๆ (Login for Access Token) และอีก service หนึ่งเป็นระบบจัดการเกี่ยวกับ User Search History โดยมีความสามารถคือ สามารถดูประวัติการค้นหาล่าสุดได้ (recently search), สามารถเพิ่ม keyword ที่ใช้ search ของ user ได้ (insert search history by keyword), และ สามารถเคลียประวัติการค้นหาได้ (Clear history search)
- เหตุการคือ (Scenario) User สามารถค้นหาข้อมูลต่างๆภายในระบบได้ โดยการล็อกอินเข้ามา (Call Service Login) เพื่อทำการค้นหาข้อมูล โดยเราจะทำการบันทึกข้อมูลการค้นหาของ User (Call Insert Keyword), และเมื่อ User เข้ามาใหม่อีกครั้ง เขาสามารถมองเห็นประวัติการค้นหาล่าสุดของเขา(Call Recently Search), และสุดท้าย User ต้องการลบประวัติการค้นหาของตัวเองออกทั้งหมด (clear history search)
2. ผมจะทำการสร้าง Postman Folder และ สร้างไฟล์ ต่างๆ ให้ตรงตามเงื่อนไขด้านบนนะครับ
จากภาพคุณจะเห็นได้ว่าผมพยายามที่จะจัด หมวดหมู่ให้มันโดยที่
- Resource จะเป็น Folder ไว้สำหรับเซ็ต environment ต่างๆ เพื่อเอาไว้ใช้ในการเก็บค่าต่างๆโดยที่ environment จะมีโครงสร้างเหมือนการประกาศตัวแปร เป็น “Key: value” ในที่นี่เราจะทำการเก็บค่า URL ของ service, และ username, password ในการ Login token
- Test Script Flow จะเป็น Folder ที่เก็บไฟล์ end-point ในการยิง service ต่างๆ และเราจะเขียน test ลงไปในแต่ละ service เพื่อเช็คว่ามันทำงานถูกต้องตามสิ่งที่เราต้องการไหม
- หมายเหตุ: การเซ็ต environment คุณสามารถทำได้หลากหลายวิธี อาทิเช่น คลิกขวา edit ที่ collection name แล้วไปที่หัวข้อ variable ก็สามารถตั้งค่าเป็นตัวแปรที่เอาไว้ใช้กับ collection นั้นๆได้, หรือการเพิ่ม environment โดยตรงจาก ปุ่มรูปเฟือง ด้านขวาบนของหน้าจอ ที่มีเมนู Manage Environment, หรือแม้กระทั่งเพิ่มจาก code ซึ่งในที่นี่เราจะใช้วิธีนี้กัน
3. ต่อมาการเขียน Tests ในกรณีนี้ผมจะเริ่มไล่ไปตาม Flow โดยขอเริ่มต้นที่
- Step 1). Login Access Token
- Step 2). Insert keyword into search history.
- Step 3). View recently search history
- Step 4). Clear Search History
เป็นการเสร็จสิ้นในการเขียน Test script แบบ BDD คำแนะนำเพิ่มเติม เราสามารถดูผลลัพธ์หรือปริ้นค่าต่างๆที่ต้องการได้ผ่านคำสั่ง console.log(“ค่าที่ต้องการ”) และกดปุ่ม ALT +Ctrl + C เพื่อเปิดดู Postman Command line.
4. ต่อมาให้เราคลิ๊กที่ปุ่ม Runner และต่อมาให้คลิ๊ก Select file เพื่อเรียกไปหาไฟล์ CSV ของเรา จะเห็นได้ว่า Iterations จะเป็น 6 นั่นหมายถึง มันจะทำงาน 6 ครั้ง ตามจำนวน Rows ในไฟล์ CSV ที่เราใส่ค่าเข้าไป ให้เราตั้ง Delay ระหว่างจำนวนรอบเพื่อหน่วงเวลา บางครั้งข้อมูลอาจจะยังไม่ถูกลบ อาจทำให้เกิด Test fail ขึ้นได้
จากทั้งหมดที่กล่าวมาข้างต้นก็เป็นการเขียน Test Script By Postman โดยมีการไล่ตาม BDD Flow ทั้งนี้ทั้งนั้น นี่เป็นเพียงตัวอย่างเล็กๆของ Postman ซึ่งตัวมันเองมีความสามารถทำอะไรได้มากกว่านี้ อาทิเช่น Postman BDD ที่คุณสามารถเขียน test ของคุณในรูปแบบ BDD ได้ด้วยเช่นกัน ในบทความต่อไปจะเป็นเรื่องของ Newman ในการ Test, and Reports และ Jenkins Pipeline.