คู่มือนี้จะอธิบายวิธีเตรียม XCTest สำหรับการทดสอบใน Firebase Test Lab
ขั้นตอนที่ 1 : กำหนดค่าตำแหน่งข้อมูลที่ได้รับของโครงการของคุณ
Xcode จะวางสิ่งประดิษฐ์ iOS ที่คอมไพล์แล้ว รวมถึงการทดสอบใดๆ ที่คุณสร้างไว้ในไดเร็กทอรี Derived Data คุณสามารถเก็บตำแหน่งเริ่มต้นสำหรับไดเร็กทอรีนั้นได้ หากคุณต้องการ แต่มักจะเป็นประโยชน์ในการเลือกตำแหน่งที่เข้าถึงได้ง่ายกว่าสำหรับไฟล์ โดยเฉพาะอย่างยิ่งหากคุณจะทำการทดสอบกับ Test Lab บ่อยๆ:
- เปิดโครงการของคุณใน Xcode
- ในแถบเมนู macOS ให้เลือก ไฟล์ > การตั้งค่าโปรเจ็กต์...
- เปลี่ยนรายการแบบเลื่อนลง ข้อมูลที่ได้รับ จาก ตำแหน่งเริ่มต้น เป็น ตำแหน่งที่กำหนดเอง
- ในช่องด้านล่างเมนูแบบเลื่อนลง ให้เลือกตำแหน่งสำหรับ Xcode ที่จะส่งออกการทดสอบของคุณ (นี่คือ FOLDER_WITH_TEST_OUTPUT ของคุณ)
ขั้นตอนที่ 2 : สร้างไฟล์ทดสอบทั่วไป
Test Lab ดำเนินการทดสอบหน่วยและการทดสอบ UI โดยใช้เฟรมเวิร์ก XCTest หากต้องการเรียกใช้ XCTests ของแอปบนอุปกรณ์ Test Lab ให้สร้างแอปสำหรับการทดสอบบนอุปกรณ์ iOS ทั่วไป:
- จากเมนูแบบเลื่อนลงอุปกรณ์ที่ด้านบนของหน้าต่างพื้นที่ทำงาน Xcode ให้เลือก อุปกรณ์ iOS ทั่วไป
- ในแถบเมนู macOS ให้เลือก ผลิตภัณฑ์ > สร้างสำหรับ > การทดสอบ
คุณสามารถสร้าง XCTest ได้จากบรรทัดคำสั่ง ใช้คำสั่งต่อไปนี้ในเทอร์มินัล:
โครงการ
xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
พื้นที่ทำงาน
xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
ขั้นตอนที่ 3 : ลงนามการทดสอบของคุณและยืนยัน
ตรวจสอบให้แน่ใจว่าอาร์ติแฟกต์ทั้งหมดในแอปและการทดสอบได้รับการลงนามแล้ว ตัวอย่างเช่น คุณสามารถทำได้ผ่าน Xcode โดยระบุการตั้งค่าการลงนาม เช่น การจัดเตรียมโปรไฟล์และข้อมูลระบุตัวตน สำหรับข้อมูลเพิ่มเติม โปรดดู การลงนาม Apple Code
ตรวจสอบลายเซ็นของแอปโดยการรัน
codesign --verify --deep --verbose /path/to/MyApp.app
โดยที่ "MyApp" คือชื่อของแอปภายในโฟลเดอร์ที่คลายซิป สิ่งนี้จะแตกต่างกันไปในแต่ละโครงการ ผลลัพธ์ที่คาดหวังคือMyApp.app: valid on disk
หากคุณใช้ XCUITest คุณจะต้องตรวจสอบการทดสอบและรันเนอร์โดยการรัน
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
โดยที่ "MyTest" คือชื่อของรันเนอร์ที่อยู่ภายใน คลายซิปโฟลเดอร์ สิ่งนี้จะแตกต่างกันไปในแต่ละโครงการ ผลลัพธ์ที่คาดหวังคือMyTest-Runner.app: valid on disk
ขั้นตอนที่ 4 : จัดทำแพ็กเกจแอปของคุณและทดสอบการอัปโหลด
หลังจากสร้างการทดสอบของคุณสำเร็จแล้ว ให้บีบอัดไฟล์เพื่ออัปโหลดไปยัง Test Lab:
cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \ zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
คุณยังสามารถจัดแพ็คเกจการทดสอบของคุณได้โดยการบีบอัดไฟล์ทดสอบด้วยตนเอง:
เปิด Finder และไปที่
FOLDER_WITH_TEST_OUTPUT
เปิดโฟลเดอร์ที่มีชื่อโปรเจ็กต์ของคุณเป็นคำนำหน้า จากนั้นไปที่โฟลเดอร์
Build/Products
ที่อยู่ข้างในเลือกโฟลเดอร์
Debug-iphoneos
และYOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrun
แล้วบีบอัด
ขั้นตอนที่ 5 : (ไม่บังคับ) เรียกใช้การทดสอบในเครื่อง
ก่อนที่จะรันการทดสอบกับ Test Lab คุณสามารถรันการทดสอบในเครื่องด้วยอุปกรณ์ที่เชื่อมต่อ USB เพื่อตรวจสอบคุณภาพการทำงาน:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \ -destination id=your-phone-id
ขั้นตอนถัดไป
อัปโหลดและเรียกใช้การทดสอบใน คอนโซล Firebase หรือ gcloud CLI