เฟรมเวิร์คการทดสอบ UI บนมือถือ Maestro ได้รับความนิยมเพิ่มขึ้นจากนักพัฒนา พร้อมเพิ่มการรองรับเว็บ

BigGo Editorial Team
เฟรมเวิร์คการทดสอบ UI บนมือถือ Maestro ได้รับความนิยมเพิ่มขึ้นจากนักพัฒนา พร้อมเพิ่มการรองรับเว็บ

การทดสอบแอปพลิเคชันบนมือถือเป็นจุดที่สร้างปัญหาให้กับนักพัฒนามาอย่างยาวนาน โดยโซลูชันที่มีอยู่มักถูกวิจารณ์ว่ามีความซับซ้อน เปราะบาง และใช้เวลานาน แต่ Maestro ซึ่งเป็นเฟรมเวิร์คการทดสอบ UI ที่ค่อนข้างใหม่ ดูเหมือนจะกำลังเปลี่ยนมุมมองนี้ตามข้อมูลตอบรับจากชุมชน

พัฒนาโดย Mobile.dev, Maestro วางตำแหน่งตัวเองว่าเป็นเฟรมเวิร์คการทดสอบ UI ที่ง่ายและมีประสิทธิภาพมากที่สุดสำหรับทั้งแอปพลิเคชันมือถือและเว็บ สิ่งที่ทำให้มันโดดเด่นคือวิธีการจัดการกับความหงุดหงิดทั่วไปของการทดสอบ UI: ความไม่เสถียร ความล่าช้า และกระบวนการตั้งค่าที่ซับซ้อน

การตอบรับจากนักพัฒนา

ชุมชนนักพัฒนามีความเห็นในเชิงบวกอย่างเห็นได้ชัดเกี่ยวกับแนวทางของ Maestro ผู้ใช้หลายคนรายงานว่ามันง่ายกว่าการเริ่มต้นใช้งานทางเลือกอื่นๆ เช่น Appium อย่างมีนัยสำคัญ นักพัฒนาคนหนึ่งอธิบายว่ามันดีกว่าเครื่องมืออัตโนมัติบนมือถืออื่นๆ หลายเท่า ในขณะที่อีกคนกล่าวว่ามันดูเหมือนจะดีเกินจริงหลังจากลองใช้กับแอป Flutter

ติดตั้งและลองใช้กับแอป Flutter ตัวอย่าง จนถึงตอนนี้ดูเหมือนจะดีเกินจริง :) เริ่มต้นและปรับแต่งได้ง่ายมาก และรวดเร็วอย่างน่าประหลาดใจ

ความรู้สึกนี้ปรากฏซ้ำๆ ในการสนทนา โดยนักพัฒนาชื่นชมความง่ายในการเริ่มต้นใช้งาน ไวยากรณ์ YAML แบบประกาศของเฟรมเวิร์คได้รับการเน้นย้ำว่าเป็นจุดแข็ง แม้ว่านักพัฒนาบางคนจะตั้งคำถามว่าแนวทางนี้อาจมีข้อจำกัดสำหรับสถานการณ์การทดสอบที่ซับซ้อนมากขึ้น

คุณสมบัติและจุดแตกต่าง

จุดแตกต่างหลักของ Maestro รวมถึงความทนทานต่อความไม่เสถียรของ UI และความล่าช้าที่มีอยู่ในตัว การทำซ้ำอย่างรวดเร็วผ่านการทดสอบแบบแปลความหมาย (มากกว่าการคอมไพล์) และกระบวนการตั้งค่าที่ง่าย เฟรมเวิร์คนี้รอให้เนื้อหาโหลดโดยอัตโนมัติโดยไม่จำเป็นต้องเรียกใช้ sleep() อย่างชัดเจน ซึ่งแก้ไขหนึ่งในแหล่งที่มาทั่วไปที่สุดของความเปราะบางในการทดสอบ

นอกเหนือจากฟังก์ชันหลักแล้ว Maestro ได้ขยายการรองรับการทดสอบเว็บ (ปัจจุบันอยู่ในเวอร์ชันเบต้า) ซึ่งขยายความน่าสนใจนอกเหนือจากชุมชนนักพัฒนามือถือ การเพิ่มเติมนี้ช่วยให้ทีมสามารถมาตรฐานแนวทางการทดสอบของพวกเขาข้ามแพลตฟอร์มได้

คุณสมบัติหลักของ Key Maestro

  • มีความทนทานต่อความไม่เสถียรในตัว: จัดการอัตโนมัติกับองค์ประกอบ UI และการโต้ตอบที่ไม่เสถียร
  • จัดการความล่าช้าอัตโนมัติ: ไม่จำเป็นต้องใช้คำสั่ง sleep() อย่างชัดเจน
  • การทำงานรวดเร็ว: การทดสอบถูกแปลความหมาย ไม่ใช่คอมไพล์
  • ไวยากรณ์ YAML แบบประกาศ: การกำหนดการทดสอบอย่างง่าย
  • การติดตั้งง่าย: การติดตั้งไบนารีเดียว
  • รองรับหลายแพลตฟอร์ม: มือถือ (iOS/Android) และเว็บ (เบต้า)
  • ความสามารถด้าน AI: คำสั่ง assertWithAI และ extractTextWithAI
  • โอเพนซอร์ส: ใช้ฟรี รวมถึงในสภาพแวดล้อม CI/CD

การรวม AI และความกังวลเรื่องราคา

ในขณะที่ผู้ใช้หลายคนชื่นชมเวอร์ชันโอเพนซอร์สของ Maestro แต่ก็มีความกังวลบางประการเกี่ยวกับกลยุทธ์ด้านราคาของบริษัทสำหรับคุณสมบัติพรีเมียม ผู้ใช้คนหนึ่งกล่าวว่าทีมของพวกเขาหยุดใช้ Maestro หลังจากที่บริษัทตัดสินใจทุ่มเทให้กับ AI และขึ้นราคาให้สอดคล้องกัน

ในการตอบสนอง Leland Takamine ผู้ร่วมก่อตั้ง Mobile.dev ยอมรับความกังวลเหล่านี้และกล่าวว่าบริษัทมีส่วนลดสำหรับสตาร์ทอัพ เขายังเน้นย้ำว่าเวอร์ชันโอเพนซอร์สยังคงใช้งานได้ฟรี รวมถึงในสภาพแวดล้อม CI/CD โดยมีหลายทีมที่ใช้งาน Maestro บนแพลตฟอร์มเช่น GitHub Actions และ Bitrise

ความสามารถด้าน AI ที่อ้างถึงรวมถึงฟีเจอร์เช่นคำสั่ง assertWithAI และ extractTextWithAI ซึ่ง Maestro วางตำแหน่งว่าเป็นทางเลือกที่มุ่งเน้นความน่าเชื่อถือแทนเครื่องมือทดสอบที่ใช้ AI บางตัวที่เป็นคู่แข่ง

ข้อจำกัดและการพัฒนาในอนาคต

แม้จะมีการตอบรับในเชิงบวก แต่ผู้ใช้ก็ระบุข้อจำกัดในการใช้งาน Maestro ในปัจจุบัน นักพัฒนาคนหนึ่งสังเกตว่าเฟรมเวิร์คไม่รองรับการประสานงานการทดสอบโฟลว์หลายรายการเข้าด้วยกัน เช่น การทดสอบการโทรศัพท์ระหว่างอุปกรณ์สองเครื่อง ซึ่งเน้นย้ำถึงความชอบของ Maestro สำหรับโฟลว์การทดสอบแบบอิสระ

ทีมเบื้องหลัง Maestro ดูเหมือนจะตอบสนองต่อข้อเสนอแนะ โดยผู้ร่วมก่อตั้งมีส่วนร่วมกับชุมชนอย่างแข็งขัน เมื่อถูกถามเกี่ยวกับความสามารถในการขับเคลื่อนอุปกรณ์ iOS จริงแทนที่จะเป็นซิมูเลเตอร์ พวกเขาระบุว่าฟีเจอร์นี้กำลังอยู่ในระหว่างการพัฒนา

ในขณะที่การทดสอบมือถือและเว็บยังคงพัฒนาต่อไป แนวทางของ Maestro ในการทำให้กระบวนการทดสอบง่ายขึ้นในขณะที่รักษาความน่าเชื่อถือดูเหมือนจะได้รับการตอบรับที่ดีจากนักพัฒนา ความท้าทายจะเป็นการสร้างสมดุลระหว่างความเรียบง่ายที่ผู้ใช้ชื่นชมกับคุณสมบัติขั้นสูงที่แอปพลิเคชันที่ซับซ้อนต้องการ ทั้งหมดนี้ในขณะที่นำทางในภูมิทัศน์การแข่งขันของเครื่องมือทดสอบที่เสริมด้วย AI

อ้างอิง: Maestro: Painless Mobile UI Automation