หน้านี้จะให้ความช่วยเหลือในการแก้ปัญหาและตอบคำถามที่พบบ่อยเกี่ยวกับการเรียกใช้การทดสอบด้วย 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 จะยกเลิกกรณีทดสอบที่เหลือ
เพิ่มการหมดเวลาสำหรับเมทริกซ์เพื่อให้การทดสอบทั้งหมดเสร็จสมบูรณ์
แบ่งการทดสอบออกเป็น Shard หากยังไม่ได้ดำเนินการ เพื่อให้แต่ละ Shard เรียกใช้ชุดย่อยของการทดสอบและเสร็จสมบูรณ์ในระยะเวลาที่สั้นลง
หากเปิดใช้การแบ่งข้อมูลเป็นชาร์ดแล้ว ให้เพิ่มจำนวนชาร์ด
กรณีทดสอบไม่สำเร็จเนื่องจากออกก่อนเวลาหรือค้าง
กรณีทดสอบอาจออกก่อนเวลาอันควรเนื่องจากข้อยกเว้นที่ไม่ได้จัดการหรือ
ข้อผิดพลาดในการยืนยัน กรณีทดสอบอาจติดอยู่ในลูปที่ไม่มีที่สิ้นสุดหรืออาจ
ดำเนินการต่อไม่ได้ เช่น หากแอปไม่แสดงมุมมองที่ถูกต้องและ
กรณีทดสอบดำเนินการใน UI ไม่ได้
ดูวิดีโอและlogcat
เพื่อตรวจสอบว่าการทดสอบหยุดลงที่ใด
ตัวดำเนินการทดสอบที่กำหนดเอง (รวมถึงการขยาย AndroidJUnitRunner) ขัดข้องโดยไม่คาดคิด
หรือเขียนเครื่องหมายเริ่มต้นหรือสิ้นสุดของกรณีทดสอบที่ไม่คาดคิดไปยัง
logcat
ตรวจสอบโค้ดโปรแกรมเรียกใช้การทดสอบ
มีการเขียนบันทึกมากเกินไปใน logcat
ซึ่งทำให้บัฟเฟอร์ทำงานหนักเกินไป
หรือทำให้กระบวนการ logcat
ขัดข้อง
ลดการเขียนเป็น logcat
แอปที่อยู่ระหว่างการทดสอบขัดข้อง
แก้ไขข้อบกพร่องของแอป
คำถามที่พบบ่อย (FAQ)
โควต้าที่ไม่มีค่าใช้จ่าย
สำหรับ Test Lab คืออะไร ฉันควรทำอย่างไรหากใช้หมด
Firebase Test Lab มีโควต้าแบบไม่มีค่าใช้จ่ายสำหรับการทดสอบบนอุปกรณ์และการใช้
Cloud APIs โปรดทราบว่าโควต้าการทดสอบใช้แพ็กเกจราคามาตรฐานของ Firebase
แต่โควต้า Cloud API ไม่ได้ใช้
โควต้าการทดสอบ
โควต้าการทดสอบจะกำหนดตามจำนวนอุปกรณ์ที่ใช้ในการทดสอบ
แพ็กเกจ Spark ของ Firebase มีโควต้าการทดสอบแบบคงที่โดยไม่มีค่าใช้จ่ายสำหรับผู้ใช้ สำหรับ
แพ็กเกจ Blaze โควต้าอาจเพิ่มขึ้นหากการใช้งาน Google Cloud
เพิ่มขึ้นเมื่อเวลาผ่านไป หากใช้โควต้าการทดสอบจนครบแล้ว ให้รอจนถึงวันถัดไป หรืออัปเกรดเป็นแพ็กเกจ Blaze หากปัจจุบันใช้แพ็กเกจ Spark อยู่
หากใช้แพ็กเกจ Blaze อยู่แล้ว คุณสามารถขอเพิ่มโควต้าได้
ดูข้อมูลเพิ่มเติมได้ที่โควต้าการทดสอบ
คุณสามารถตรวจสอบการใช้โควต้าการทดสอบได้ในGoogle Cloud คอนโซล
โควต้า Cloud Testing API
Cloud Testing API มีขีดจำกัดโควต้า 2 รายการ ได้แก่ คำขอต่อวันต่อโปรเจ็กต์ และคำขอทุกๆ 100 วินาทีต่อโปรเจ็กต์ คุณสามารถตรวจสอบการใช้งานได้ในGoogle Cloud คอนโซล
โควต้า Cloud Tool Results 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 กับที่เก็บข้อมูลผลลัพธ์ของผู้ใช้
ฉันจะตรวจหาการทดสอบที่ไม่เสถียรใน
Test Lab ได้อย่างไร
หากต้องการตรวจหาลักษณะการทำงานที่ไม่เสถียรในการทดสอบ เราขอแนะนำให้ใช้ตัวเลือก
--num-flaky-test-attempts
ระบบจะเรียกเก็บเงินหรือนับการทดสอบซ้ำเพื่อแก้ไขข้อบกพร่องรวมในโควต้าการใช้งานรายวันเช่นเดียวกับ
การดำเนินการทดสอบปกติ
โปรดทราบข้อมูลต่อไปนี้
การดำเนินการทดสอบทั้งหมดจะทำงานอีกครั้งเมื่อตรวจพบความล้มเหลว ไม่มี
การรองรับการลองอีกครั้งเฉพาะกรณีทดสอบที่ล้มเหลว
ระบบจะกำหนดเวลาการเรียกใช้การลองอีกครั้งเพื่อแก้ไขความไม่แน่นอนให้ทำงานพร้อมกัน แต่ไม่รับประกันว่าจะทำงานแบบขนานกัน เช่น เมื่อการเข้าชมเกินจำนวนอุปกรณ์ที่พร้อมใช้งาน
หมายเหตุ: ข้อผิดพลาดเกี่ยวกับโครงสร้างพื้นฐานจะแยกจากฟีเจอร์การแก้ไขข้อผิดพลาดและไม่
ทริกเกอร์การเรียกใช้ซ้ำเพื่อแก้ไขข้อผิดพลาด
คำถามที่พบบ่อยเกี่ยวกับ iOS
แม้ว่าเราจะมีแผนที่จะเพิ่มรายการเหล่านี้ แต่ปัจจุบันเรายังไม่สามารถให้คำมั่นสัญญาว่าจะรองรับแพลตฟอร์มการทดสอบและการพัฒนาแอปเหล่านี้ได้
ฉันจะดูรายละเอียดอุปกรณ์ เช่น ความละเอียด ฯลฯ ได้จากที่ใด
คุณดูข้อมูลอุปกรณ์แบบละเอียดได้ผ่าน API และเข้าถึงได้
จากไคลเอ็นต์ gcloud โดยใช้คำสั่ง describe ดังนี้
gcloud firebase test ios models describe MODEL
ฉันใช้การแบ่งพาร์ติชันกับการทดสอบ iOS ได้ไหม
Test Lab สำหรับ iOS ไม่รองรับการแยกข้อมูลในตัว แต่คุณสามารถใช้ไคลเอ็นต์ Flank เพื่อแบ่งกรณีทดสอบ iOS ได้
หมายเหตุ: การใช้การแบ่งพาร์ติชัน Flank iOS จะสร้างเมทริกซ์การทดสอบแยกกันสำหรับแต่ละพาร์ติชัน
โดยการตั้งค่าคีย์และค่า OnlyTestIdentifiers
ในไฟล์ .xctestrun
ดูรายละเอียดเพิ่มเติมได้ที่man
หน้าxcodebuild.xctestrun
เหตุใดการทดสอบ iOS ของฉันจึงไม่มีวิดีโอในผลการค้นหา
สำหรับ iOS 18 ขึ้นไป เราไม่สามารถรองรับวิดีโอในผลการค้นหาได้
คำถามที่พบบ่อยเกี่ยวกับ Android
Test Lab รองรับ
อุปกรณ์ที่สวมใส่ได้ไหม
แน่นอน Test Lab รองรับ Google Pixel Watch ตอนนี้คุณสามารถเรียกใช้การทดสอบใน
แอป Wear แบบสแตนด์อโลนบน Google Pixel Watch ได้แล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับ
Test Lab อุปกรณ์ได้ที่ทดสอบใน
อุปกรณ์ที่พร้อมใช้งาน
Test Lab รองรับอุปกรณ์ Google รุ่นล่าสุดไหม
แน่นอน 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
รองรับการทดสอบแอปที่มีการสับสนไหม เช่น ด้วย ProGuard หรือ R8
Test Lab ไม่รองรับการปกปิดหรือการยกเลิกการปกปิดอย่างชัดเจน แม้ว่าแอปน่าจะทำงานได้ แต่ข้อมูลแอปที่ผ่านการปกปิด เช่น สแต็กเทรซ
จะปรากฏเป็นการปกปิดในบันทึก
ฉันใช้อุปกรณ์พับได้ใน
สถานะและท่าทางต่างๆ ขณะทดสอบใน 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 ของแอปและ 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
ปัญหาที่ทราบ
CAPTCHA สำหรับการลงชื่อเข้าใช้
การทดสอบ Robo ไม่สามารถข้ามหน้าจอลงชื่อเข้าใช้ที่ต้องมี
การดำเนินการเพิ่มเติมของผู้ใช้นอกเหนือจากการป้อนข้อมูลเข้าสู่ระบบเพื่อลงชื่อเข้าใช้ เช่น
การทำ CAPTCHA ให้เสร็จสมบูรณ์
ปัญหาที่ทราบเฉพาะใน iOS
ลงชื่อเข้าใช้โดยอัตโนมัติ
การลงชื่อเข้าใช้ด้วยบัญชี Google โดยอัตโนมัติไม่รองรับ
ในการทดสอบ Robo สำหรับ iOS+ (เบต้า)
ปัญหาที่ทราบเกี่ยวกับ Android โดยเฉพาะ
รองรับเฟรมเวิร์ก UI
การทดสอบ Robo ทำงานได้ดีที่สุดกับแอปที่ใช้องค์ประกอบ UI จากเฟรมเวิร์ก Android UI (รวมถึงออบเจ็กต์ View
, ViewGroup
และ WebView
) หากคุณใช้การทดสอบ Robo เพื่อทดสอบแอปที่ใช้เฟรมเวิร์ก UI อื่นๆ
รวมถึงแอปที่ใช้เอนจินเกม Unity การทดสอบอาจสิ้นสุด
โดยไม่ได้สำรวจหน้าจอแรก