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

appdistribution:distribute options
--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 แอปของคุณสำเร็จและไม่พบข้อขัดข้องใดๆ
ล้มเหลว การทดสอบอัตโนมัติไม่สำเร็จเนื่องจากแอปขัดข้องระหว่างการทดสอบ
ยังไม่สรุป การทดสอบอัตโนมัติล้มเหลวเนื่องจากข้อผิดพลาดด้านโครงสร้างพื้นฐาน