หลังจากที่ได้แบ่งปันการใช้งาน Fastlane
เพื่อสร้างระบบ Automation สำหรับ iOS app
ตั้งแต่การ compile source code, Unit testing, UI testing ไปจนถึงการ deploy ไปยัง App Store
จึงทำการสรุปการใช้งานพร้อมตัวอย่างไว้นิดหน่อย
ซึ่งในบทความนี้ประกอบไปด้วย
- Scan เป็นเครื่องมือสำหรับการ compile และ ทดสอบทั้ง Unit test และ UI Test
- Snapshot เป็นเครื่องมือสำหรับการ snapshot หน้าจอ app ใน UI Test
1. การใช้งาน Scan
เริ่มต้นด้วยการติดตั้ง [code] $gem install scan [/code] โดยที่ Scan เข้ามาเพื่อช่วยลดความยุ่งยากของการการใช้งานผ่าน xcodebuild นั่นเอง การใช้งานก็ง่ายมาก ๆ คือ [code] $scan [/code] เพียงเท่านี้ก็จะทำการ compile และทดสอบระบบงานให้ ทั้ง Unit test และ UI test และสามารถทำการ configuration ต่าง ๆ เพิ่มได้อีกเยอะ ซึ่งแนะนำให้สร้างไฟล์ Scanfile ขึ้นมา ด้วยคำสั่ง [code] $scan init [/code] ผลการทำงานเป็นดังรูป โดยผลการทำงานจะอยู่ใน folder test_output ซึ่งประกอบไปด้วย 2 ไฟล์ คือ- report.html
- report.junit
2. การใช้งาน Snapshot
สิ่งที่ทีมต้องการ สิ่งที่หลาย ๆ คนต้องการ คือ ต้องการเห็นหน้าจอการทำงานของ app ทุกขั้นตอน ว่าทำงานถูกต้องหรือไม่ ? ว่าแสดงผลถูกต้องหรือไม่ ? แน่นอนว่า สิ่งที่ดีที่สุดคือ ก็ต้องทดสอบแบบ manual นี่แหละ แต่ถ้า app มีการทำงานเยอะมาก ๆ การทดสอบแบบ manual แบบทั้งหมดต้องใช้เวลามากมาย ดังนั้นถ้ามีเครื่องมือใช้ snapshot หน้าจอการทำงานแต่ละขั้นตอนให้ล่ะ ? มันน่าจะดีไม่น้อย ซึ่ง Snapshot ก็คือ หนึ่งในเครื่องมือที่ช่วยเหลือเรื่องเหล่านี้ ที่ทำงานร่วมกับ UI test นั่นเอง ดังนั้นจำเป็นต้องเขียน UI test ขึ้นมาด้วยนะ ถึงจะใช้งาน Snapshot ได้ เริ่มต้นด้วยการติดตั้ง [code] $gem install snapshot [/code] จากนั้นทำการ initial ก่อนเริ่มใช้งานด้วยคำสั่ง [code] $snapshot init [/code] จะทำการสร้างไฟล์ Snapfile ขึ้นมา รวมทั้งไฟล์ (ตัวอย่างเป็น Swift project)- SnapshotHelper.swift
- SnapshotHelper2-3.swift
- Devices ที่ต้องการให้ snapshot โดยปกติก็จะทดสอบ device และ simulator ทั้งหมดที่มี
- Languages คือภาษาที่เราต้องการให้ทดสอบ เหมาะมาก ๆ สำหรับ app ที่รองรับมากกว่า 1 ภาษา
มาถึงตรงนี้เราก็พร้อมจะเริ่มต้นสร้างระบบ Automation สำหรับการพัฒนา iOS app แล้วนะครับ
ได้ทั้งการ compile code ได้ทั้งการทดสอบระดับ Unit และ UI ได้ทั้งการ snapshot หน้าจอการทำงานของ app ในขั้นตอนต่าง ๆ ต่อไปก็ไปจัดการเรื่อง certificated, การสร้างไฟล์ IPA และการ deploy ...แต่ว่าวันนี้คุณเขียน Test สำหรับ iOS app กันแล้วหรือยัง ?