หน้านี้ให้ความช่วยเหลือในการแก้ปัญหาและคำตอบสำหรับคำถามที่พบบ่อยเกี่ยวกับการเรียกใช้การทดสอบด้วย Firebase Test Lab นอกจากนี้ยังมีการบันทึกปัญหาที่ทราบไว้ด้วย หากคุณไม่พบสิ่งที่ต้องการหรือต้องการความช่วยเหลือเพิ่มเติม ให้เข้าร่วม #test-lab channel บน 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
Cloud Tool Results API มาพร้อมกับการจำกัดโควต้าสองรายการ: การสืบค้นต่อวันต่อโปรเจ็กต์ และการสืบค้นต่อทุก ๆ 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 และที่เก็บข้อมูลผลลัพธ์ของผู้ใช้ ในขณะนี้ มีการยื่นคำขอคุณลักษณะเพื่อเพิ่มการรองรับ VPC-SC ในรุ่นต่อๆ ไป
เพื่อ ตรวจหาพฤติกรรมที่ให้ใช้ตัวการรันซ้ำของ Deflake จะถูกเรียกเก็บเงินหรือนับรวมในโควต้ารายวันของคุณเหมือนกับการดำเนินการทดสอบปกติ
โปรดคำนึงถึงสิ่งต่อไปนี้:
- การดำเนินการทดสอบทั้งหมดจะทำงานอีกครั้งเมื่อตรวจพบความล้มเหลว ไม่มีการสนับสนุนสำหรับการลองใหม่เฉพาะกรณีทดสอบที่ล้มเหลว
- Deflake retry run ถูกกำหนดให้รันพร้อมกัน แต่ไม่รับประกันว่าจะรันพร้อมกัน เช่น เมื่อทราฟฟิกเกินจำนวนอุปกรณ์ที่มี
แม้ว่ารายการเหล่านี้บางรายการจะอยู่ในแผนงานของเรา แต่ขณะนี้เราไม่สามารถให้คำมั่นสัญญาในการสนับสนุนแพลตฟอร์มการทดสอบและการพัฒนาแอปเหล่านี้ได้
ข้อมูลอุปกรณ์โดยละเอียดมีให้ผ่าน API และสามารถเข้าถึงได้จากไคลเอนต์ gcloud โดยใช้ คำสั่ง คำอธิบาย :
gcloud firebase test ios models describe MODEL
การแบ่งส่วนย่อยไม่ได้รับการสนับสนุนภายใน Test Lab สำหรับ iOS อย่างไรก็ตาม คุณสามารถใช้ไคลเอ็นต์ Flank เพื่อแบ่งกรณีทดสอบ iOS ได้
ทำงานโดยการตั้งค่าคีย์และค่า OnlyTestIdentifiers
ในไฟล์ .xctestrun
ดูหน้า man
สำหรับ xcodebuild.xctestrun
สำหรับรายละเอียดเพิ่มเติม