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

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

ก่อนเริ่มต้น

เพิ่ม Firebase ลงในโปรเจ็กต์ Android หากยังไม่ได้ดำเนินการ

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

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

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

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

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

เผยแพร่แอปให้กับผู้ทดสอบอัตโนมัติโดยใช้ Firebase CLI

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

ตัวเลือกการเผยแพร่:จัดจำหน่าย
--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 ส่วนและใช้พารามิเตอร์ต่อไปนี้เพื่อกำหนดค่าการกระจายไปยังฟีเจอร์ผู้ทดสอบอัตโนมัติ

พารามิเตอร์บิลด์ของ App Distribution
testDevices หรือ testDevicesFile

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

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

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, 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

ใน ./fastlane/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

สถานะการ Crawl ทดสอบอัตโนมัติ

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

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