หน้านี้ให้ความช่วยเหลือในการแก้ปัญหาและคำตอบสำหรับคำถามที่พบบ่อยเกี่ยวกับการทดสอบกับ Firebase Test Lab ปัญหาที่ทราบยังได้รับการบันทึกไว้ด้วย หากคุณไม่พบสิ่งที่คุณกำลังมองหาหรือต้องการความช่วยเหลือเพิ่มเติม เข้าร่วม ช่อง #test-lab บน Firebase Slack หรือติดต่อ ฝ่ายสนับสนุนของ Firebase
การแก้ไขปัญหา
เมื่อคุณเลือกอุปกรณ์ที่มีระดับความจุสูงในแค็ตตาล็อก Test Lab การทดสอบอาจเริ่มเร็วขึ้น เมื่ออุปกรณ์มีความจุต่ำ การทดสอบอาจใช้เวลานานกว่าในการทำงาน หากจำนวนการทดสอบที่เรียกใช้มากกว่าความจุของอุปกรณ์ที่เลือกมาก การทดสอบอาจใช้เวลานานกว่าจึงจะเสร็จสิ้น
การทดสอบที่ทำงานในระดับความจุของอุปกรณ์ทุกระดับอาจใช้เวลานานกว่าเนื่องจากปัจจัยต่อไปนี้:
- การรับส่งข้อมูลซึ่งส่งผลต่อความพร้อมใช้งานของอุปกรณ์และความเร็วในการทดสอบ
- ความล้มเหลวของอุปกรณ์หรือโครงสร้างพื้นฐานซึ่งอาจเกิดขึ้นได้ตลอดเวลา หากต้องการตรวจสอบว่ามีโครงสร้างพื้นฐานที่รายงานสำหรับ Test Lab หรือไม่ โปรดดู แดชบอร์ดสถานะ Firebase
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับความจุของอุปกรณ์ใน Test Lab โปรดดูข้อมูลความจุของอุปกรณ์สำหรับ Android และ iOS
โดยทั่วไปผลการทดสอบที่ไม่สามารถสรุปได้อาจเกิดขึ้นเนื่องจากการรันการทดสอบที่ถูกยกเลิกหรือข้อผิดพลาดของโครงสร้างพื้นฐาน
ข้อผิดพลาดเกี่ยวกับโครงสร้างพื้นฐานเกิดจากปัญหาภายใน Test Lab เช่น ข้อผิดพลาดของเครือข่ายหรือพฤติกรรมของอุปกรณ์ที่ไม่คาดคิด Test Lab ยกเลิกการทดสอบภายในที่ก่อให้เกิดข้อผิดพลาดของโครงสร้างพื้นฐานหลายครั้งก่อนที่จะรายงานผลลัพธ์ที่ไม่สามารถสรุปได้ อย่างไรก็ตาม คุณสามารถปิดใช้งานการลองใหม่เหล่านี้ได้โดยใช้ FailFast
เมื่อต้องการระบุสาเหตุของข้อผิดพลาด ให้ทำตามขั้นตอนเหล่านี้:
- ตรวจสอบการหยุดทำงานที่ทราบใน หน้าแดชบอร์ดสถานะ Firebase
ลองทดสอบอีกครั้งใน Test Lab เพื่อตรวจสอบว่าสามารถทำซ้ำได้
ลองทำการทดสอบบนอุปกรณ์หรือประเภทอุปกรณ์อื่น ถ้ามี
หากปัญหายังคงอยู่ โปรดติดต่อทีม Test Lab ใน ช่องทาง #test-lab บน Firebase Slack
การแบ่งส่วนอาจทำให้การทดสอบของคุณทำงานนานขึ้นเมื่อจำนวนชาร์ดที่คุณระบุเกินจำนวนอุปกรณ์ที่พร้อมใช้งานใน Test Lab เพื่อหลีกเลี่ยงสถานการณ์นี้ ให้ลองเปลี่ยนไปใช้อุปกรณ์อื่น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเลือกอุปกรณ์อื่น โปรดดูที่ความจุของอุปกรณ์
เมื่อคุณส่งคำขอทดสอบ แอปของคุณจะได้รับการตรวจสอบความถูกต้องในครั้งแรก ลงนามใหม่ ฯลฯ เพื่อเตรียมพร้อมสำหรับการทดสอบบนอุปกรณ์ โดยปกติ กระบวนการนี้จะเสร็จสิ้นภายในไม่กี่วินาที แต่อาจได้รับผลกระทบจากปัจจัยต่างๆ เช่น ขนาดของแอป
หลังจากที่แอปของคุณเตรียมพร้อมแล้ว ระบบจะกำหนดเวลาการดำเนินการทดสอบและยังคงอยู่ในคิวจนกว่าอุปกรณ์จะพร้อมที่จะเรียกใช้ จนกว่าการดำเนินการทดสอบทั้งหมดจะเสร็จสิ้น สถานะเมทริกซ์จะเป็น "รอดำเนินการ" (ไม่ว่าการดำเนินการทดสอบจะอยู่ในคิวหรือกำลังทำงานอยู่ก็ตาม)
หลังจากดำเนินการทดสอบเสร็จสิ้น อาร์ติแฟกต์ทดสอบจะถูกดาวน์โหลดจากอุปกรณ์ ประมวลผล และอัปโหลดไปยัง Cloud Storage ระยะเวลาของขั้นตอนนี้อาจได้รับผลกระทบจากจำนวนและขนาดของอาร์ติแฟกต์
คำถามที่พบบ่อย
Firebase Test Lab เสนอโควต้าที่ไม่มีค่าใช้จ่ายสำหรับการทดสอบบนอุปกรณ์และสำหรับการใช้ Cloud API โปรดทราบว่าโควต้าการทดสอบจะใช้แผนราคา Firebase มาตรฐาน ในขณะที่โควต้า Cloud API ไม่ได้ใช้
โควต้าการทดสอบ
โควต้าการทดสอบจะพิจารณาจากจำนวนอุปกรณ์ที่ใช้ในการทดสอบ แผน Firebase Spark มีโควต้าการทดสอบคงที่โดยไม่มีค่าใช้จ่ายสำหรับผู้ใช้ สำหรับแผน Blaze โควต้าของคุณอาจเพิ่มขึ้นหากการใช้งาน Google Cloud เพิ่มขึ้นเมื่อเวลาผ่านไป หากคุณใช้โควต้าการทดสอบถึงโควต้าแล้ว ให้รอจนถึงวันถัดไปหรืออัปเกรดเป็นแผน Blaze หากคุณใช้แผน Spark อยู่ หากคุณใช้แผน Blaze อยู่แล้ว คุณสามารถขอเพิ่มโควต้าได้ สำหรับข้อมูลเพิ่มเติม โปรดดู โควต้าการทดสอบ
คุณสามารถตรวจสอบการใช้โควต้าการทดสอบของคุณได้ใน Google Cloud Console
โควต้า API การทดสอบระบบคลาวด์
Cloud Testing API มาพร้อมกับขีดจำกัดโควต้า 2 รายการ: คำขอต่อวันต่อโปรเจ็กต์ และคำขอต่อทุกๆ 100 วินาทีต่อโปรเจ็กต์ คุณสามารถตรวจสอบการใช้งานของคุณได้ใน Google Cloud Console
โควต้า API ผลลัพธ์ของเครื่องมือคลาวด์
Cloud Tool Results API มาพร้อมกับขีดจำกัดโควต้า 2 รายการ ได้แก่ การสืบค้นต่อวันต่อโปรเจ็กต์ และการสืบค้นต่อทุกๆ 100 วินาทีต่อโปรเจ็กต์ คุณสามารถตรวจสอบการใช้งานของคุณได้ใน Google Cloud Console
โปรดดู โควต้า Cloud API สำหรับ Test Lab สำหรับข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัดของ API หากคุณถึงโควต้า API แล้ว:
ส่งคำขอโควต้าที่สูงขึ้นโดย แก้ไขโควต้าของคุณ โดยตรงใน Google Cloud Console (โปรดทราบว่าขีดจำกัดส่วนใหญ่จะตั้งไว้ที่สูงสุดตามค่าเริ่มต้น) หรือ
ขอโควต้า API ที่สูงขึ้นโดยกรอกแบบฟอร์มคำขอใน Google Cloud Console หรือติดต่อ ฝ่ายสนับสนุนของ Firebase
จากแบ็กเอนด์ของคุณ คุณสามารถระบุได้ว่าการรับส่งข้อมูลมาจากอุปกรณ์ทดสอบที่โฮสต์โดย Firebase หรือไม่ โดยตรวจสอบที่อยู่ IP ต้นทางเทียบกับ ช่วง IP ของเรา
Test Lab ไม่ทำงานกับ VPC-SC ซึ่งจะบล็อกการคัดลอกแอปและส่วนทดสอบอื่นๆ ระหว่างที่จัดเก็บข้อมูลภายในของ Test Lab และที่เก็บข้อมูลผลลัพธ์ของผู้ใช้
หากต้องการตรวจจับพฤติกรรมที่ไม่สม่ำเสมอในการทดสอบของคุณ เราขอแนะนำให้ใช้ตัวเลือก--num-flaky-test-attemptsการเรียกใช้ Deflake ซ้ำจะถูกเรียกเก็บเงินหรือนับรวมในโควต้ารายวันของคุณเหมือนกับการดำเนินการทดสอบปกติ
โปรดคำนึงถึงสิ่งต่อไปนี้:
- การดำเนินการทดสอบทั้งหมดจะทำงานอีกครั้งเมื่อตรวจพบความล้มเหลว ไม่มีการสนับสนุนสำหรับการลองใหม่เฉพาะกรณีทดสอบที่ล้มเหลว
- การลอง Deflake อีกครั้งถูกกำหนดให้ทำงานพร้อมกัน แต่ไม่รับประกันว่าจะทำงานแบบขนาน เช่น เมื่อการรับส่งข้อมูลเกินจำนวนอุปกรณ์ที่มีอยู่
แม้ว่าบางรายการจะอยู่ในแผนงานของเรา แต่ขณะนี้เราไม่สามารถให้คำมั่นสัญญาในการสนับสนุนแพลตฟอร์มการทดสอบและการพัฒนาแอปเหล่านี้ได้
ข้อมูลอุปกรณ์โดยละเอียดมีอยู่ผ่าน API และสามารถเข้าถึงได้จากไคลเอนต์ gcloud โดยใช้ คำสั่งอธิบาย :
gcloud firebase test ios models describe MODEL
ไม่รองรับ Sharding ภายใน Test Lab สำหรับ iOS อย่างไรก็ตาม คุณสามารถใช้ไคลเอ็นต์ Flank เพื่อแบ่งส่วนกรณีทดสอบ iOS ได้
ซึ่งทำงานโดยการตั้งค่าคีย์และค่า OnlyTestIdentifiers
ในไฟล์ .xctestrun
ดูหน้า man
สำหรับ xcodebuild.xctestrun
สำหรับรายละเอียดเพิ่มเติม
ปัญหาที่ทราบ
การทดสอบ Robo ไม่สามารถข้ามหน้าจอลงชื่อเข้าใช้ที่กำหนดให้ผู้ใช้ดำเนินการเพิ่มเติมนอกเหนือจากการป้อนข้อมูลรับรองเพื่อลงชื่อเข้าใช้ เช่น การกรอก CAPTCHA
การทดสอบ Robo ทำงานได้ดีที่สุดกับแอปที่ใช้องค์ประกอบ UI จากเฟรมเวิร์ก UI ของ Android (รวมถึงออบเจ็กต์ View
, ViewGroup
และ WebView
) หากคุณใช้การทดสอบ Robo เพื่อออกกำลังกายแอปที่ใช้เฟรมเวิร์ก UI อื่นๆ รวมถึงแอปที่ใช้เอ็นจิ้นเกม Unity การทดสอบอาจออกโดยไม่ต้องสำรวจเลยหน้าจอแรก