หน้านี้จะให้ความช่วยเหลือในการแก้ปัญหาและตอบคำถามที่พบบ่อยเกี่ยวกับการเรียกใช้การทดสอบด้วย 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 ทีมใน
แชแนล#test-lab ใน
Firebase Slack
เหตุใดการแบ่งพาร์ติชันจึงทำให้การทดสอบของฉันใช้เวลานานขึ้น
การแบ่งพาร์ติชันอาจทำให้การทดสอบใช้เวลานานขึ้นเมื่อจำนวนพาร์ติชันที่คุณ
ระบุเกินจำนวนอุปกรณ์ที่พร้อมใช้งานใน Test Lab หากต้องการหลีกเลี่ยงสถานการณ์นี้ ให้ลองเปลี่ยนไปใช้อุปกรณ์อื่น ดูข้อมูลเพิ่มเติม
เกี่ยวกับการเลือกอุปกรณ์อื่นได้ที่
ความจุของอุปกรณ์
ทำไมการทดสอบของฉันจึงใช้เวลานานกว่าจะเริ่ม
เมื่อส่งคำขอทดสอบ ระบบจะตรวจสอบแอปของคุณก่อน จากนั้นจึงลงนามอีกครั้ง ฯลฯ เพื่อเตรียมพร้อมสำหรับการทดสอบในอุปกรณ์ โดยปกติกระบวนการนี้จะใช้เวลาไม่กี่วินาที แต่ก็อาจได้รับผลกระทบจากปัจจัยต่างๆ เช่น ขนาดของแอป
หลังจากเตรียมแอปแล้ว ระบบจะกำหนดเวลาการดำเนินการทดสอบและยังคงอยู่ในคิว จนกว่าอุปกรณ์จะพร้อมดำเนินการ จนกว่าการทดสอบทั้งหมดจะเสร็จสมบูรณ์
สถานะเมทริกซ์จะเป็น "รอดำเนินการ" (ไม่ว่าการทดสอบจะอยู่ในคิวหรือกำลังทำงานอยู่ก็ตาม)
หมายเหตุ: เวลาที่การทดสอบรออุปกรณ์ที่พร้อมใช้งานจะไม่นับรวม
ในเวลาที่เรียกเก็บเงิน
ทำไมการทดสอบของฉันจึงใช้เวลานาน
หลังจากดำเนินการทดสอบเสร็จแล้ว ระบบจะดาวน์โหลดอาร์ติแฟกต์การทดสอบจากอุปกรณ์ ประมวลผล และอัปโหลดไปยัง Cloud Storage ระยะเวลาของขั้นตอนนี้อาจ
ได้รับผลกระทบจากปริมาณและขนาดของอาร์ติแฟกต์
การแก้ปัญหาเฉพาะ Android
แอปไม่แสดงข้อมูลและค้นหาภาพหน้าจอไม่พบ
ระบบจะจัดเก็บอาร์ติแฟกต์การดำเนินการทดสอบ (เช่น ภาพหน้าจอและไฟล์บันทึก) ไว้ใน
Google Cloud Storage และแสดงผลโดยตรงในคอนโซล Firebase หากคุณดำเนินการทดสอบภายใน 90 วันที่ผ่านมา ให้ตรวจสอบว่าคุณได้
กำหนดบทบาทระดับโปรเจ็กต์ (เจ้าของโปรเจ็กต์ ผู้แก้ไขโปรเจ็กต์ หรือผู้ดูโปรเจ็กต์) แล้ว
โปรดตรวจสอบด้วยว่าไม่ได้เปิดใช้ Cloud Audit Logging สำหรับโปรเจ็กต์
หรือองค์กร
หากดำเนินการไปแล้วนานกว่า 90 วัน ระบบอาจลบอาร์ติแฟกต์การทดสอบโดยอัตโนมัติ คุณตรวจสอบการกำหนดค่ากลุ่มผลลัพธ์ได้โดยคลิกแท็บผลการทดสอบ ในแดชบอร์ด Test Lab ระบบจะกำหนดค่าที่เก็บข้อมูลผลลัพธ์เริ่มต้น
ให้เก็บออบเจ็กต์ไว้เป็นเวลา 90 วัน
หากต้องการเก็บสิ่งประดิษฐ์ของการทดสอบไว้นานขึ้น ให้เรียกใช้คำสั่ง
gcloud firebase test android run ด้วยแฟล็ก --results-bucket แล้วส่ง
ชื่อของที่เก็บผลลัพธ์ ดูข้อมูลเพิ่มเติมได้ที่gcloud firebase test android runเอกสารประกอบอ้างอิง
เหตุใดฉันจึงได้รับผลการทดสอบการวัดคุมบางส่วนหรือขาดหายไป
เมื่อเรียกใช้การทดสอบเครื่องมือ คุณอาจเห็นข้อผิดพลาดในการทดสอบที่ระบุผลลัพธ์บางส่วน
ซึ่งมีข้อความ เช่น Test run failed to complete. Expected
x tests, received y (โดยที่ y น้อยกว่า x)
ข้อผิดพลาดนี้หมายความว่า Test Lab ไม่สามารถแยกวิเคราะห์ Logcat สำหรับเครื่องหมายเริ่มต้นหรือสิ้นสุดของกรณีทดสอบ ซึ่งโดยปกติจะสร้างโดย AndroidJUnitRunner
สาเหตุที่พบบ่อยของปัญหานี้มีดังนี้
คำอธิบายปัญหา
การแก้ไขที่เป็นไปได้
ระบบไม่ได้เรียกใช้กรณีทดสอบเนื่องจากคำขอหมดเวลา หากระยะเวลารวมของการทดสอบนานกว่าการหมดเวลาที่คุณระบุหรือนานกว่าการหมดเวลาสูงสุด
Test Lab จะยกเลิกกรณีทดสอบที่เหลือ
เพิ่มการหมดเวลาสำหรับเมทริกซ์เพื่อให้การทดสอบทั้งหมดเสร็จสมบูรณ์
แบ่งการทดสอบออกเป็นส่วนๆ หากยังไม่ได้ดำเนินการ เพื่อให้แต่ละส่วนเรียกใช้ชุดย่อยของการทดสอบและเสร็จสมบูรณ์ในระยะเวลาที่สั้นลง
หากเปิดใช้การแยกส่วนแล้ว ให้เพิ่มจำนวนส่วน
กรณีทดสอบดำเนินการไม่สำเร็จเนื่องจากออกก่อนเวลาหรือค้างอยู่
กรณีทดสอบอาจออกก่อนเวลาอันควรเนื่องจากข้อยกเว้นที่ไม่ได้แคชหรือข้อผิดพลาดในการยืนยัน กรณีทดสอบอาจติดอยู่ในลูปที่ไม่มีที่สิ้นสุดหรืออาจ
ดำเนินการต่อไม่ได้ เช่น หากแอปไม่แสดงมุมมองที่ถูกต้องและ
กรณีทดสอบดำเนินการใน UI ไม่ได้
ตรวจสอบวิดีโอและ logcat เพื่อดูว่าการทดสอบหยุดที่ใด
โปรแกรมเรียกใช้การทดสอบที่กำหนดเอง (รวมถึงการขยาย AndroidJUnitRunner) ขัดข้อง
โดยไม่คาดคิด หรือเขียนเครื่องหมายเริ่มต้นหรือสิ้นสุดกรณีทดสอบที่ไม่คาดคิดไปยัง
logcat
ตรวจสอบโค้ดโปรแกรมเรียกใช้การทดสอบ
มีการเขียนบันทึกมากเกินไปใน logcat ซึ่งทำให้บัฟเฟอร์ทำงานหนักเกินไป
หรือทำให้กระบวนการ logcat ขัดข้อง
ลดการเขียนเป็น logcat
แอปที่อยู่ระหว่างทดสอบขัดข้อง
แก้ไขข้อบกพร่องของแอป
คำถามที่พบบ่อย (FAQ)
โควต้าแบบไม่มีค่าใช้จ่าย
สำหรับ Test Lab คืออะไร ฉันควรทำอย่างไรหากใช้หมด
Firebase Test Lab มีโควต้าแบบไม่มีค่าใช้จ่ายสำหรับการทดสอบในอุปกรณ์และการใช้
Cloud API โปรดทราบว่าโควต้าการทดสอบใช้แพ็กเกจราคามาตรฐานของ Firebase
แต่โควต้า Cloud API ไม่ได้ใช้
โควต้าการทดสอบ
โควต้าการทดสอบจะกำหนดตามจำนวนอุปกรณ์ที่ใช้ในการทดสอบ
แพ็กเกจ Spark ของ Firebase มีโควต้าการทดสอบแบบคงที่โดยไม่มีค่าใช้จ่ายสำหรับผู้ใช้ สำหรับ
แพ็กเกจ Blaze โควต้าอาจเพิ่มขึ้นหากการใช้งาน Google Cloud
เพิ่มขึ้นเมื่อเวลาผ่านไป หากใช้โควต้าการทดสอบจนหมดแล้ว ให้รอจนถึงวันถัดไป หรืออัปเกรดเป็นแพ็กเกจ Blaze หากปัจจุบันใช้แพ็กเกจ Spark อยู่
หากใช้แพ็กเกจ Blaze อยู่แล้ว คุณสามารถขอเพิ่มโควต้าได้
ดูข้อมูลเพิ่มเติมได้ที่
โควต้าการทดสอบ
คุณสามารถตรวจสอบการใช้งานโควต้าการทดสอบได้ในGoogle Cloud คอนโซล
โควต้า Cloud Testing API
Cloud Testing API มีขีดจำกัดโควต้า 2 รายการ ได้แก่ คำขอต่อวันต่อโปรเจ็กต์ และคำขอทุกๆ 100 วินาทีต่อโปรเจ็กต์ คุณสามารถตรวจสอบ
การใช้งานได้ใน
คอนโซล Google Cloud
โควต้า API ของผลลัพธ์เครื่องมือระบบคลาวด์
Cloud Tool Results API มีขีดจำกัดโควต้า 2 รายการ ได้แก่ คำค้นหาต่อวันต่อโปรเจ็กต์ และคำค้นหาทุกๆ 100 วินาทีต่อโปรเจ็กต์ คุณสามารถตรวจสอบ
การใช้งานได้ใน
คอนโซล Google Cloud
ดูข้อมูลเพิ่มเติมเกี่ยวกับขีดจำกัด API ได้ที่โควต้า Cloud API สำหรับ Test Lab
หากคุณใช้โควต้า API ถึงขีดจำกัดแล้ว ให้ทำดังนี้
ส่งคำขอโควต้าที่สูงขึ้นโดย
แก้ไขโควต้า
ในคอนโซล Google Cloud โดยตรง (โปรดทราบว่าขีดจำกัดส่วนใหญ่จะตั้งค่าเป็น
สูงสุดโดยค่าเริ่มต้น) หรือ
ขอโควต้า API ที่สูงขึ้นโดยกรอกแบบฟอร์มคำขอใน
Google Cloud คอนโซลหรือติดต่อทีมสนับสนุนของ Firebase
ฉันจะทราบได้อย่างไรว่าการเข้าชมที่เข้าถึงแบ็กเอนด์ของฉันมาจาก Test Lab
จากแบ็กเอนด์ คุณสามารถตรวจสอบว่าการเข้าชมมาจากอุปกรณ์ทดสอบที่โฮสต์ใน Firebase หรือไม่ โดยการตรวจสอบที่อยู่ IP ต้นทางกับช่วง IP ของเรา
Test Lab ใช้กับ
VPC-SC ได้ไหม
Test Lab ใช้กับ VPC-SC ไม่ได้ ซึ่งจะบล็อกการคัดลอกแอปและอาร์ติแฟกต์การทดสอบอื่นๆ ระหว่างพื้นที่เก็บข้อมูลภายในของ Test Lab
กับ Bucket ผลลัพธ์ของผู้ใช้
ฉันจะตรวจหาการทดสอบที่ไม่เสถียรใน
Test Lab ได้อย่างไร
หากต้องการตรวจหาลักษณะการทำงานที่ไม่เสถียรในการทดสอบ เราขอแนะนำให้ใช้ตัวเลือก
--num-flaky-test-attempts
ระบบจะเรียกเก็บเงินหรือนับการทดสอบที่รันซ้ำเพื่อแก้ไขข้อบกพร่องรวมในโควต้าประจำวันของคุณเช่นเดียวกับการทดสอบปกติ
โปรดทราบข้อมูลต่อไปนี้
การดำเนินการทดสอบทั้งหมดจะทำงานอีกครั้งเมื่อตรวจพบความล้มเหลว ไม่มี
การรองรับการลองทดสอบเฉพาะกรณีทดสอบที่ไม่สำเร็จ
ระบบจะกำหนดเวลาการเรียกใช้การลองใหม่เพื่อแก้ไขความไม่แน่นอนให้ทำงานพร้อมกัน แต่ไม่รับประกันว่าจะทำงานแบบขนานกัน เช่น เมื่อการเข้าชมเกินจำนวนอุปกรณ์ที่พร้อมใช้งาน
หมายเหตุ: ข้อผิดพลาดของโครงสร้างพื้นฐานไม่เกี่ยวข้องกับฟีเจอร์ Deflake และจะไม่
ทริกเกอร์การเรียกใช้ Deflake อีกครั้ง
คำถามที่พบบ่อยเกี่ยวกับ iOS
แม้ว่ารายการเหล่านี้บางรายการจะอยู่ในแผนงานของเรา แต่ปัจจุบันเรายังไม่สามารถให้คำมั่นสัญญาในการรองรับแพลตฟอร์มการทดสอบและการพัฒนาแอปเหล่านี้ได้
ฉันจะดูรายละเอียดอุปกรณ์ เช่น ความละเอียด ฯลฯ ได้จากที่ใด
ดูข้อมูลอุปกรณ์แบบละเอียดได้ผ่าน API และเข้าถึงได้
จากไคลเอ็นต์ gcloud โดยใช้คำสั่ง describe ดังนี้
gcloud firebase test ios models describe MODEL
ฉันใช้การแบ่งพาร์ติชันกับการทดสอบ iOS ได้ไหม
Test Lab สำหรับ iOS ไม่รองรับการแบ่งข้อมูลโดยเนทีฟ อย่างไรก็ตาม คุณสามารถใช้ไคลเอ็นต์ Flank เพื่อแบ่งกรณีทดสอบ iOS ได้
หมายเหตุ: การใช้การแบ่งพาร์ติชัน iOS ของ Flank จะสร้างเมทริกซ์การทดสอบแยกต่างหากสำหรับแต่ละพาร์ติชัน
โดยการตั้งค่าคีย์และค่า OnlyTestIdentifiers ในไฟล์ .xctestrun
ดูรายละเอียดเพิ่มเติมได้ที่หน้า man สำหรับ xcodebuild.xctestrun
เหตุใดการทดสอบ iOS ของฉันจึงไม่มีวิดีโอในผลการค้นหา
สำหรับ iOS 18 ขึ้นไป เราไม่สามารถรองรับวิดีโอในผลการค้นหาได้
คำถามที่พบบ่อยเกี่ยวกับ Android
Test Lab รองรับ
อุปกรณ์ที่สวมใส่ได้ไหม
แน่นอน Test Lab รองรับ Google Pixel Watch ตอนนี้คุณสามารถเรียกใช้การทดสอบใน
แอป Wear แบบสแตนด์อโลนบน Google Pixel Watch ได้แล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับ
Test Lab อุปกรณ์ได้ที่ทดสอบใน
อุปกรณ์ที่พร้อมใช้งาน
Does Test Lab support the
latest Google devices?
แน่นอน Test Lab รองรับ Google Pixel Tablet และ Google Pixel Fold คุณ
เรียกใช้การทดสอบในอุปกรณ์จริงแบบสแตนด์อโลนได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับ
Test Lab อุปกรณ์ได้ที่ทดสอบใน
อุปกรณ์ที่พร้อมใช้งาน
ฉันจะตรวจหาการทดสอบที่กำลังดำเนินการ
ใน Test Lab ได้อย่างไร
หากคุณกำลังทดสอบแอปใน Firebase หรือเรียกใช้การทดสอบสำหรับรายงานก่อนการเปิดตัว ใน Play Console คุณจะตรวจหาได้ว่ามีการทดสอบที่เรียกใช้ในอุปกรณ์ที่โฮสต์ใน Firebase หรือไม่ โดยตรวจสอบพร็อพเพอร์ตี้ของระบบ firebase.test.lab ในไฟล์ MainActivity จากนั้นคุณจะเรียกใช้คำสั่งเพิ่มเติม
โดยอิงตามค่าบูลีนสำหรับ testLabSetting ได้ ดูข้อมูลเพิ่มเติมได้ที่ลักษณะการทำงานของการทดสอบที่แก้ไขแล้ว
แม้ว่ารายการเหล่านี้บางรายการจะอยู่ในแผนงานของเรา แต่ปัจจุบันเรายังไม่สามารถให้คำมั่นสัญญาในการรองรับแพลตฟอร์มการทดสอบและการพัฒนาแอปเหล่านี้ได้ อย่างไรก็ตาม หากคุณสร้างแอปด้วยเฟรมเวิร์กที่รองรับ Espresso (เช่น Flutter) คุณจะเขียนการทดสอบการวัดคุมโดยใช้ Espresso แล้วเรียกใช้การทดสอบใน Test Lab ได้
Test Lab
รองรับการทดสอบแอปที่ผ่านการปรับให้ยากต่อการอ่าน (Obfuscation) เช่น ด้วย ProGuard หรือ R8 ไหม
Test Lab ไม่รองรับการปกปิดหรือการยกเลิกการปกปิดอย่างชัดเจน แม้ว่าแอปน่าจะทำงานได้ แต่ข้อมูลแอปที่ผ่านการปกปิด เช่น Stack Trace
จะปรากฏเป็นข้อมูลที่ปกปิดในบันทึก
ฉันใช้อุปกรณ์พับได้ใน
สถานะและท่าทางต่างๆ ขณะทดสอบใน Test Lab ได้ไหม
แน่นอน คุณทดสอบอุปกรณ์พับได้ในสถานะและท่าทางของอุปกรณ์พับได้
อุปกรณ์แบบพับได้อาจอยู่ในสถานะพับต่างๆ เช่น FLAT (กางออกเต็มที่) หรือ HALF_OPENED (ระหว่างกางออกเต็มที่กับพับสนิท)
ในทางกลับกัน ท่าทางจะประกอบด้วยการวางแนวอุปกรณ์ที่เฉพาะเจาะจงและสถานะการพับ เช่น ท่าตั้งโต๊ะซึ่งเป็นHALF_OPENEDสถานะในแนวนอน หรือท่าหนังสือซึ่งเป็นHALF_OPENEDสถานะในแนวตั้ง
หากคุณทำการทดสอบเครื่องมือ คุณสามารถใช้ไลบรารี Jetpack WindowManager และทำตามเอกสารประกอบการทดสอบแอปในอุปกรณ์พับได้ เพื่อทดสอบในสถานะและท่าทางต่างๆ
หรือสถานะที่ใช้ได้จะขึ้นอยู่กับอุปกรณ์และโต้ตอบได้โดยใช้ adb
shell command cmd device_state
หากต้องการแสดงสถานะปัจจุบัน ให้เรียกใช้ adb shell cmd device_state state
หากต้องการตั้งค่าหรือลบล้างสถานะปัจจุบัน ให้เรียกใช้ adb shell cmd device_state state <IDENTIFIER>
หากต้องการรีเซ็ตสถานะ ให้เรียกใช้ adb shell cmd device_state state reset
หากต้องการตรวจสอบสถานะที่ใช้ได้ ให้เรียกใช้adb shell cmd device_state print-states
คำสั่งในอุปกรณ์แบบพับได้
Google Pixel Fold (รหัสโมเดล felix)
$ adb shell cmd device_state print-states
Supported states: [
DeviceState{ identifier = 0 , name = 'CLOSED' , app_accessible = true} ,
DeviceState{ identifier = 1 , name = 'HALF_OPENED' , app_accessible = true} ,
DeviceState{ identifier = 2 , name = 'OPENED' , app_accessible = true} ,
DeviceState{ identifier = 3 , name = 'REAR_DISPLAY_STATE' , app_accessible = true} ,
]
Samsung Galaxy Z Fold4 (รหัสโมเดล q4q)
$ adb shell cmd device_state print-states
Supported states: [
DeviceState{ identifier = 0 , name = 'CLOSE' , app_accessible = true} ,
DeviceState{ identifier = 1 , name = 'TENT' , app_accessible = true} ,
DeviceState{ identifier = 2 , name = 'HALF_FOLDED' , app_accessible = true} ,
DeviceState{ identifier = 3 , name = 'OPEN' , app_accessible = true} ,
]
ฉันจะลองใช้ Test Lab ได้ไหมหากไม่มีแอป
คุณไม่จําเป็นต้องเพิ่ม Firebase SDK เพื่อใช้ Test Lab ซึ่งแตกต่างจากผลิตภัณฑ์อื่นๆ ของ Firebase หากยังไม่มีแอป คุณสามารถ
ดาวน์โหลด APK ทางออนไลน์ หรือสร้างแอปและ APK สำหรับทดสอบจากตัวอย่างใดตัวอย่างหนึ่ง
ในที่เก็บ AndroidX GitHub
โปรดทราบว่าคุณต้องใช้ไฟล์ APK ของแอปเท่านั้นเพื่อเรียกใช้การทดสอบ Robo ในขณะที่การทดสอบการวัดคุมต้องใช้ทั้งแอปและ APK ทดสอบที่สร้างจากซอร์สโค้ด ดูข้อมูลเพิ่มเติมได้ที่การทดสอบที่มีการวัดคุม
ดูข้อมูลเพิ่มเติมเกี่ยวกับTest Lab ฟีเจอร์ได้ที่
เริ่มต้นทดสอบสำหรับ Android ด้วย Firebase Test Lab
อุปกรณ์ใดเหมาะที่สุดสำหรับการทดสอบความแตกต่างของภาพหน้าจอ
การทดสอบความแตกต่างของภาพหน้าจอ คือการยืนยันการทดสอบที่อิงตามการเปรียบเทียบภาพหน้าจอ
ที่ได้ขณะทำการทดสอบกับภาพที่ถูกต้องซึ่งแสดงถึงลักษณะการทำงานที่คาดไว้
การทดสอบดังกล่าวอาจมีความเปราะบางมากกว่าในอุปกรณ์บางประเภท เราขอแนะนำให้กำหนดเป้าหมายเป็นอุปกรณ์จำลอง Arm (*.arm) สำหรับการทดสอบประเภทนี้ อุปกรณ์โปรแกรมจำลอง Arm ใช้
อิมเมจที่คล้ายกันมากหรือเหมือนกับโปรแกรมจำลอง "ทั่วไป" ของ Android Studio
นอกจากนี้ เราขอแนะนำให้คุณตรวจสอบไลบรารีการทดสอบที่จะช่วยให้
การทดสอบภาพหน้าจอมีความแข็งแกร่งมากขึ้นเมื่อมีการเปลี่ยนแปลงที่คาดไว้
Test Lab อัปเดตอุปกรณ์เสมือนไหม
แน่นอน อุปกรณ์เสมือนจะได้รับการอัปเดตเมื่อมีการเปลี่ยนแปลงต่อไปนี้
การอัปเดตรูปภาพที่มีอยู่
การเลิกใช้งาน API ระดับก่อนหน้า
เพิ่มระดับ API ของ Android ใหม่
ฉันจะเปิดใช้รายงานความครอบคลุมได้อย่างไร
หากต้องการเปิดใช้รายงานความครอบคลุม ให้เพิ่ม coverage=true ในenvironmentVariables ฟิลด์
หากใช้ Android Test Orchestrator คุณจะต้องระบุไดเรกทอรีเพื่อจัดเก็บผลลัพธ์ความครอบคลุม ดังนี้
-- environment - variables coverage = true , coverageFilePath =/ sdcard / Download /
หากไม่ได้ใช้ Orchestrator คุณจะระบุเส้นทางไฟล์ได้โดยทำดังนี้
-- environment - variables coverage = true , coverageFile =/ sdcard / Download / coverage . ec
ฉันจะดูรายละเอียดอุปกรณ์ เช่น ความละเอียด ABI ที่รองรับ ฯลฯ ได้จากที่ใด
ดูข้อมูลอุปกรณ์แบบละเอียดได้ผ่าน API และเข้าถึงได้
จากไคลเอ็นต์ gcloud โดยใช้คำสั่ง describe ดังนี้
gcloud firebase test android models describe MODEL
ฉันจะเข้าสู่ระบบแอป Wear โดยไม่ใช้โทรศัพท์ได้อย่างไร
หากแอปของคุณรองรับการลงชื่อเข้าใช้ด้วย Google ฟีเจอร์นี้ควรทำงานกับบัญชีทดสอบโดยอัตโนมัติ หรือหากปกติแล้วแอปของคุณต้องใช้โทรศัพท์ในการเข้าสู่ระบบ คุณสามารถสร้างตัวแปรบิลด์ที่ข้ามการเข้าสู่ระบบและใช้โทเค็นที่ฝังอยู่ในบิลด์ทดสอบ หรืออ่านจากไฟล์ในดิสก์ที่มักจะพุชโดยใช้ --other-files option ได้ ดูข้อมูลเพิ่มเติมได้ที่การเข้าสู่ระบบและการป้อนข้อความที่กำหนดเองด้วยการทดสอบ Robo
ปัญหาที่ทราบ
CAPTCHA สำหรับการลงชื่อเข้าใช้
การทดสอบ Robo ไม่สามารถข้ามหน้าจอลงชื่อเข้าใช้ที่ต้องมี
การดำเนินการเพิ่มเติมของผู้ใช้นอกเหนือจากการป้อนข้อมูลเข้าสู่ระบบเพื่อลงชื่อเข้าใช้ เช่น
การทำ CAPTCHA ให้เสร็จสมบูรณ์
ปัญหาที่ทราบแล้วซึ่งเกิดขึ้นเฉพาะใน iOS
ลงชื่อเข้าใช้โดยอัตโนมัติ
การลงชื่อเข้าใช้ด้วยบัญชี Google โดยอัตโนมัติไม่รองรับ
ในการทดสอบ Robo สำหรับ iOS+ (เบต้า)
ปัญหาที่ทราบเฉพาะใน Android
การรองรับเฟรมเวิร์ก UI
การทดสอบ Robo ทำงานได้ดีที่สุดกับแอปที่ใช้องค์ประกอบ UI จากเฟรมเวิร์ก UI ของ Android (รวมถึงออบเจ็กต์ View, ViewGroup และ WebView) หากคุณใช้การทดสอบ Robo เพื่อทดสอบแอปที่ใช้เฟรมเวิร์ก UI อื่นๆ รวมถึงแอปที่ใช้เกมเอนจิน Unity การทดสอบอาจสิ้นสุดโดยไม่สำรวจหน้าจอแรก