- แหล่งข้อมูล: การดำเนินการ
- เมทริกซ์มิตินิยาม
- ข้อมูลจำเพาะ
- การทดสอบ Android
- AndroidAppInfo
- การทดสอบเครื่องมือ Android
- การทดสอบหุ่นยนต์โรโบ
- AndroidTestLoop
- iOSTest
- IosAppInfo
- IosXcTest
- IosTestLoop
- การทดสอบ iOSRobo
- วิธีการ
แหล่งข้อมูล: การดำเนินการ
การดำเนินการแสดงถึงชุดของขั้นตอน ตัวอย่างเช่น อาจแสดงถึง: - การทดสอบอุปกรณ์เคลื่อนที่ที่ดำเนินการในการกำหนดค่าอุปกรณ์ต่างๆ - งานเจนกินส์ที่มีขั้นตอนการสร้างตามด้วยขั้นตอนการทดสอบ
ขนาดสูงสุดของข้อความดำเนินการคือ 1 MiB
การดำเนินการสามารถอัปเดตได้จนกว่าสถานะจะถูกตั้งค่าเป็นเสร็จสมบูรณ์ ซึ่งจุดนี้จะไม่เปลี่ยนรูป
การเป็นตัวแทน JSON |
---|
{ "executionId": string, "state": enum ( |
เขตข้อมูล | |
---|---|
executionId | ตัวระบุที่ไม่ซ้ำกันภายในประวัติสำหรับการดำเนินการนี้ ส่งคืน INVALID_ARGUMENT หากฟิลด์นี้ถูกตั้งค่าหรือเขียนทับโดยผู้เรียก
|
state | สถานะเริ่มต้นคือ IN_PROGRESS การเปลี่ยนสถานะทางกฎหมายเพียงอย่างเดียวคือจาก IN_PROGRESS เป็น COMPLETE PRECONDITION_FAILED จะถูกส่งคืนหากมีการร้องขอการเปลี่ยนแปลงที่ไม่ถูกต้อง สถานะสามารถตั้งค่าให้เสร็จสมบูรณ์ได้เพียงครั้งเดียวเท่านั้น FAILED_PRCONDITION จะถูกส่งกลับหากสถานะถูกตั้งค่าเป็น COMPLETE หลายครั้ง หากสถานะถูกตั้งค่าเป็น COMPLETE ขั้นตอนที่กำลังดำเนินการทั้งหมดภายในการดำเนินการจะถูกตั้งค่าเป็น COMPLETE หากไม่ได้กำหนดผลลัพธ์ของขั้นตอน ผลลัพธ์จะถูกตั้งค่าเป็น INCONCLUSIVE
|
creationTime | เวลาที่การประหารชีวิตถูกสร้างขึ้น ค่านี้จะถูกตั้งค่าโดยอัตโนมัติเมื่อมีการเรียกใช้การดำเนินการ
|
completionTime | เวลาที่สถานะการดำเนินการเปลี่ยนเป็นเสร็จสมบูรณ์ ค่านี้จะถูกตั้งค่าโดยอัตโนมัติเมื่อสถานะเปลี่ยนเป็นเสร็จสมบูรณ์
|
outcome | จำแนกผลลัพธ์ เช่น เป็น SUCCESS หรือ FAILURE
|
dimensionDefinitions[] | มิติข้อมูลซึ่งขั้นตอนต่างๆ ในการดำเนินการนี้อาจแตกต่างกันไป สิ่งนี้จะต้องคงที่ตลอดอายุการประหารชีวิต ส่งคืน INVALID_ARGUMENT หากฟิลด์นี้ถูกตั้งค่าในคำขออัปเดต ส่งคืน INVALID_ARGUMENT หากชื่อเดียวกันปรากฏในมากกว่าหนึ่งมิติ _definition ส่งคืน INVALID_ARGUMENT หากขนาดของรายการมากกว่า 100
|
specification | ข้อมูลน้ำหนักเบาเกี่ยวกับคำขอดำเนินการ
|
testExecutionMatrixId | TestExecution Matrix ID ที่ TestExecutionService ใช้
|
เมทริกซ์มิตินิยาม
ประเภทนี้ไม่มีฟิลด์
มิติหนึ่งของเมทริกซ์ของการวิ่งขั้นตอนต่างๆ
ข้อมูลจำเพาะ
รายละเอียดเกี่ยวกับวิธีการเรียกใช้การดำเนินการ
การเป็นตัวแทน JSON |
---|
{ // Union field |
เขตข้อมูล | |
---|---|
| |
androidTest | ข้อกำหนดการดำเนินการทดสอบมือถือ Android |
iosTest | ข้อกำหนดการดำเนินการทดสอบมือถือ iOS |
การทดสอบ Android
ข้อกำหนดการทดสอบมือถือ Android
การเป็นตัวแทน JSON |
---|
{ "androidAppInfo": { object ( |
เขตข้อมูล | |
---|---|
androidAppInfo | ข้อมูลเกี่ยวกับแอปพลิเคชันภายใต้การทดสอบ |
testTimeout | เวลาสูงสุดที่อนุญาตให้ทำการทดสอบก่อนที่จะถูกยกเลิกโดยอัตโนมัติ |
| |
androidInstrumentationTest | การทดสอบเครื่องมือ Android |
androidRoboTest | การทดสอบโรโบ Android |
androidTestLoop | วงทดสอบ Android |
AndroidAppInfo
ข้อมูลแอป Android
การเป็นตัวแทน JSON |
---|
{ "name": string, "packageName": string, "versionName": string, "versionCode": string } |
เขตข้อมูล | |
---|---|
name | ชื่อแอป ไม่จำเป็น |
packageName | ชื่อแพ็คเกจของแอป ที่จำเป็น. |
versionName | ชื่อเวอร์ชันของแอป ไม่จำเป็น. |
versionCode | รหัสเวอร์ชันภายในของแอป ไม่จำเป็น. |
การทดสอบเครื่องมือ Android
การทดสอบแอปพลิเคชัน Android ที่สามารถควบคุมส่วนประกอบ Android โดยไม่ขึ้นอยู่กับวงจรการใช้งานปกติ
ดู https://developer.android.com/training/testing/fundamentals สำหรับข้อมูลเพิ่มเติมเกี่ยวกับประเภทของการทดสอบ Android
การเป็นตัวแทน JSON |
---|
{ "testPackageId": string, "testRunnerClass": string, "testTargets": [ string ], "useOrchestrator": boolean } |
เขตข้อมูล | |
---|---|
testPackageId | แพ็คเกจ Java สำหรับการทดสอบที่จะดำเนินการ ที่จำเป็น |
testRunnerClass | คลาส InstrumentationTestRunner ที่จำเป็น |
testTargets[] | แต่ละเป้าหมายต้องมีคุณสมบัติครบถ้วนด้วยชื่อแพ็กเกจหรือชื่อคลาส ในรูปแบบใดรูปแบบหนึ่งเหล่านี้: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#method_name" หากว่างเปล่า เป้าหมายทั้งหมดในโมดูลจะถูกเรียกใช้ |
useOrchestrator | ธงระบุว่าจะใช้ Android Test Orchestrator เพื่อรันการทดสอบหรือไม่ |
การทดสอบหุ่นยนต์โรโบ
การทดสอบแอปพลิเคชัน Android ที่สำรวจแอปพลิเคชันบนอุปกรณ์ Android เสมือนหรือจริง ค้นหาผู้กระทำผิดและข้อขัดข้องในขณะนั้น
การเป็นตัวแทน JSON |
---|
{ "appInitialActivity": string, "bootstrapPackageId": string, "bootstrapRunnerClass": string, "maxDepth": integer, "maxSteps": integer } |
เขตข้อมูล | |
---|---|
appInitialActivity | กิจกรรมเริ่มต้นที่ควรใช้ในการเริ่มแอป ไม่จำเป็น |
bootstrapPackageId | แพ็กเกจ Java สำหรับบูตสแตรป ไม่จำเป็น |
bootstrapRunnerClass | คลาสนักวิ่งสำหรับบูตสแตรป ไม่จำเป็น |
maxDepth | ความลึกสูงสุดของกองการสำรวจที่ Robo สามารถสำรวจได้ ไม่จำเป็น |
maxSteps | จำนวนขั้นตอน/การกระทำสูงสุดที่ Robo สามารถทำได้ ค่าเริ่มต้นไม่มีขีดจำกัด (0) ไม่จำเป็น |
AndroidTestLoop
ประเภทนี้ไม่มีฟิลด์
Test Loops คือการทดสอบที่แอปสามารถเปิดใช้งานได้เอง โดยกำหนดเวลาที่จะเรียกใช้โดยการฟังเจตนา
iOSTest
ข้อกำหนดการทดสอบอุปกรณ์เคลื่อนที่ iOS
การเป็นตัวแทน JSON |
---|
{ "iosAppInfo": { object ( |
เขตข้อมูล | |
---|---|
iosAppInfo | ข้อมูลเกี่ยวกับแอปพลิเคชันภายใต้การทดสอบ |
testTimeout | เวลาสูงสุดที่อนุญาตให้ทำการทดสอบก่อนที่จะถูกยกเลิกโดยอัตโนมัติ |
| |
iosXcTest | iOS XCTest |
iosTestLoop | วงทดสอบ iOS |
iosRoboTest | การทดสอบ iOS Robo |
IosAppInfo
ข้อมูลแอป iOS
การเป็นตัวแทน JSON |
---|
{ "name": string } |
เขตข้อมูล | |
---|---|
name | ชื่อแอป ที่จำเป็น |
IosXcTest
การทดสอบแอปพลิเคชัน iOS ที่ใช้เฟรมเวิร์ก XCTest
การเป็นตัวแทน JSON |
---|
{ "bundleId": string, "xcodeVersion": string } |
เขตข้อมูล | |
---|---|
bundleId | ID ชุดของแอป |
xcodeVersion | เวอร์ชัน Xcode ที่ใช้ทดสอบ |
IosTestLoop
การทดสอบ Game Loop ของแอปพลิเคชัน iOS
การเป็นตัวแทน JSON |
---|
{ "bundleId": string } |
เขตข้อมูล | |
---|---|
bundleId | ID ชุดของแอป |
การทดสอบ iOSRobo
ประเภทนี้ไม่มีฟิลด์
การทดสอบ Robo สำหรับแอปพลิเคชัน iOS
วิธีการ | |
---|---|
| สร้างการดำเนินการ |
| ได้รับการประหารชีวิต |
| แสดงรายการการดำเนินการสำหรับประวัติที่กำหนด |
| อัปเดตการดำเนินการที่มีอยู่ด้วยเอนทิตีบางส่วนที่ให้มา |