ทดสอบแอป Android โดยอัตโนมัติ

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

ก่อนที่คุณจะเริ่ม

หากคุณยังไม่ได้ เพิ่ม Firebase ในโครงการ Android ของคุณ

หากคุณไม่ได้ใช้ผลิตภัณฑ์ Firebase อื่นๆ คุณเพียงแค่ต้องสร้างโปรเจ็กต์และลงทะเบียนแอปของคุณเท่านั้น อย่างไรก็ตาม หากคุณตัดสินใจที่จะใช้ผลิตภัณฑ์เพิ่มเติมในอนาคต โปรดทำตามขั้นตอนทั้งหมดใน การเพิ่ม Firebase โดยใช้คอนโซล Firebase

เมื่อคุณพร้อมที่จะเผยแพร่แอปเวอร์ชันก่อนเผยแพร่ให้กับผู้ทดสอบ ให้สร้าง APK โดยใช้กระบวนการปกติของคุณ คุณต้องลงนาม APK ด้วยคีย์การแก้ไขข้อบกพร่องหรือคีย์การลงนามแอป

เผยแพร่แอปของคุณไปยังผู้ทดสอบอัตโนมัติโดยใช้คอนโซล Firebase

หากต้องการเผยแพร่แอปของคุณไปยังผู้ทดสอบอัตโนมัติ ให้อัปโหลดไฟล์ APK โดยใช้คอนโซล Firebase:

  1. เปิด หน้าการเผยแพร่แอป ของคอนโซล Firebase เลือกโปรเจ็กต์ Firebase ของคุณเมื่อได้รับแจ้ง
  2. ในหน้า การเผยแพร่ ให้เลือกแอปที่คุณต้องการเผยแพร่จากเมนูแบบเลื่อนลง
  3. ลากไฟล์ APK ของแอปไปที่คอนโซลเพื่ออัปโหลด
  4. เมื่อการอัปโหลดเสร็จสิ้น ให้เลือก ผู้ทดสอบอัตโนมัติ ในแถบค้นหา เพิ่มผู้ทดสอบหรือกลุ่ม
  5. หากต้องการปรับแต่งการทดสอบอัตโนมัติของคุณ ให้คลิกไอคอน แก้ไข และเลือกการปรับแต่งในกล่องโต้ตอบ ปรับแต่งการทดสอบอัตโนมัติของคุณ
  6. (ไม่บังคับ) ในกล่องโต้ตอบ การกำหนดค่าอุปกรณ์ ให้เลือกระดับ API การวางแนวอุปกรณ์ และภาษาที่ตรงตามข้อกำหนดการทดสอบของคุณ
  7. (ไม่บังคับ) คลิกเมนูแบบเลื่อนลง ข้อมูลรับรองการเข้า สู่ระบบเพื่อสร้างชื่อผู้ใช้และรหัสผ่านที่กำหนดเองซึ่งสามารถใช้ได้ระหว่างการทดสอบหากแอปของคุณต้องการข้อมูลรับรองการเข้าสู่ระบบ
  8. คลิก แจกจ่าย คุณยังเพิ่มบันทึกประจำรุ่นเพิ่มเติมสำหรับแอปของคุณได้

เผยแพร่แอปของคุณไปยังผู้ทดสอบอัตโนมัติโดยใช้ Firebase CLI

เรียกใช้คำสั่ง appdistribution:distribute เพื่ออัปโหลดแอปของคุณและแจกจ่ายให้กับผู้ทดสอบ ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการกระจายของคุณไปยังฟีเจอร์ผู้ทดสอบอัตโนมัติ:

appdistribution: ตัวเลือกการกระจาย
--test-devices หรือ --test-devices-file

อุปกรณ์ทดสอบที่คุณต้องการกระจายบิลด์ไปยังฟีเจอร์ผู้ทดสอบอัตโนมัติ

คุณสามารถระบุอุปกรณ์ทดสอบเป็นรายการอุปกรณ์ทดสอบที่คั่นด้วยอัฒภาค:

--test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

หรือคุณสามารถระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการอุปกรณ์ทดสอบที่คั่นด้วยเครื่องหมายอัฒภาค:

--test-devices-file: "/path/to/test-devices.txt"
--test-username

ชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ในระหว่าง การทดสอบอัตโนมัติ

--test-password หรือ --test-password-file

รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่าง การทดสอบอัตโนมัติ

หรือคุณสามารถระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่าน:

--test-password-file: "/path/to/test-password.txt"
--test-username-resource

ชื่อทรัพยากรสำหรับช่องชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ในระหว่าง การทดสอบอัตโนมัติ

--test-password-resource

ชื่อทรัพยากรสำหรับฟิลด์รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ในระหว่าง การทดสอบอัตโนมัติ

--test-non-blocking

เรียกใช้ การทดสอบอัตโนมัติ แบบอะซิงโครนัส ไปที่คอนโซล Firebase เพื่อดูผลการทดสอบอัตโนมัติ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน Firebase CLI และวิธีต่างๆ ในการกำหนดค่าการเผยแพร่ของคุณ โปรดดูที่ การเผยแพร่แอป Android ให้กับผู้ทดสอบโดยใช้ Firebase CLI

เผยแพร่แอปของคุณไปยังผู้ทดสอบอัตโนมัติโดยใช้ Gradle

คุณสามารถกำหนดค่า App Distribution ได้โดยเพิ่มส่วน firebaseAppDistribution อย่างน้อย 1 ส่วน และใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการเผยแพร่ไปยังฟีเจอร์ผู้ทดสอบอัตโนมัติ:

พารามิเตอร์บิลด์การเผยแพร่แอป
testDevices หรือ testDevicesFile

อุปกรณ์ทดสอบที่คุณต้องการแจกจ่ายบิวด์โดยใช้ การทดสอบอัตโนมัติ

คุณสามารถระบุอุปกรณ์ทดสอบเป็นรายการข้อกำหนดของอุปกรณ์โดยคั่นด้วยเครื่องหมายอัฒภาค

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0p, version=33, locale=en, orientation=portrait"

หรือคุณสามารถระบุเส้นทางไปยังไฟล์ที่มีรายการข้อกำหนดอุปกรณ์ที่คั่นด้วยเครื่องหมายอัฒภาค:

testDevicesFile="/path/to/testDevices.txt"
testUsername

ชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่าง การทดสอบอัตโนมัติ

testUsernameResource

ชื่อทรัพยากรสำหรับช่องชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ในระหว่าง การทดสอบอัตโนมัติ

testPassword หรือ testPasswordFile

รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่าง การทดสอบอัตโนมัติ

หรือคุณสามารถระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่าน:

testPasswordFile="/path/to/testPassword.txt"
testPasswordResource

ชื่อทรัพยากรสำหรับฟิลด์รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ในระหว่าง การทดสอบอัตโนมัติ

testNonBlocking

เรียกใช้ การทดสอบอัตโนมัติ แบบอะซิงโครนัส ไปที่คอนโซล FIrebase เพื่อดูผลการทดสอบอัตโนมัติ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน Gradle และวิธีต่างๆ ในการกำหนดค่าการเผยแพร่ของคุณ โปรดดูที่ การเผยแพร่แอป Android ให้กับผู้ทดสอบโดยใช้ Gradle

เผยแพร่แอปของคุณไปยังผู้ทดสอบอัตโนมัติโดยใช้ช่องทางด่วน

ในช่องทาง ./fastlane/Fastfile Fastfile ให้เพิ่มบล็อก firebase_app_distribution ใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการกระจายของคุณไปยังฟีเจอร์ผู้ทดสอบอัตโนมัติ:

พารามิเตอร์ firebase_app_distribution
test_devices หรือ test_devices_file

อุปกรณ์ทดสอบที่คุณต้องการกระจายบิลด์ไปยังฟีเจอร์ผู้ทดสอบอัตโนมัติ คุณสามารถระบุอุปกรณ์ทดสอบเป็นรายการอุปกรณ์ทดสอบที่คั่นด้วยอัฒภาค:

test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

หรือคุณสามารถระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรายการอุปกรณ์ทดสอบที่คั่นด้วยเครื่องหมายอัฒภาค:

test_devices_file: "/path/to/test-devices.txt"
test_username

ชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ในระหว่าง การทดสอบอัตโนมัติ

test_password หรือ test_password_file

รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่าง การทดสอบอัตโนมัติ

หรือคุณสามารถระบุเส้นทางไปยังไฟล์ข้อความธรรมดาที่มีรหัสผ่าน:

test_password_file: "/path/to/test-password.txt"
test_username_resource

ชื่อทรัพยากรสำหรับช่องชื่อผู้ใช้สำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ในระหว่าง การทดสอบอัตโนมัติ

test_password_resource

ชื่อทรัพยากรสำหรับฟิลด์รหัสผ่านสำหรับการเข้าสู่ระบบอัตโนมัติที่จะใช้ระหว่าง การทดสอบอัตโนมัติ

test_non_blocking

เรียกใช้ การทดสอบอัตโนมัติ แบบอะซิงโครนัส ไปที่คอนโซล FIrebase เพื่อดูผลการทดสอบอัตโนมัติ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นใช้งาน Fastlane และวิธีต่างๆ ในการกำหนดค่าการเผยแพร่ของคุณ โปรดดูที่ การเผยแพร่แอป Android ให้กับผู้ทดสอบโดยใช้ Fastlane

สถานะการรวบรวมข้อมูลทดสอบอัตโนมัติ

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

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