REST Resource: projects.histories.executions

ทรัพยากร: การดำเนินการ

การดำเนินการคือชุดขั้นตอน ตัวอย่างเช่น การทดสอบบนอุปกรณ์เคลื่อนที่จะดำเนินการผ่านการกำหนดค่าอุปกรณ์ต่างๆ โดยงานของ Jenkins ที่มีขั้นตอนบิลด์ตามด้วยขั้นตอนการทดสอบ

ขนาดสูงสุดของข้อความการดำเนินการคือ 1 MiB

คุณสามารถอัปเดตการดำเนินการได้จนกว่าจะตั้งค่าสถานะเป็น COMPLETE ซึ่งจะไม่สามารถเปลี่ยนแปลงได้

การแสดง JSON
{
  "executionId": string,
  "state": enum (State),
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "outcome": {
    object (Outcome)
  },
  "dimensionDefinitions": [
    {
      object (MatrixDimensionDefinition)
    }
  ],
  "specification": {
    object (Specification)
  },
  "testExecutionMatrixId": string
}
ช่อง
executionId

string

ตัวระบุที่ไม่ซ้ำกันภายในประวัติสำหรับการดำเนินการนี้

แสดงผล INVALID_ARGUMENT หากผู้โทรตั้งค่าหรือเขียนทับฟิลด์นี้

  • ตั้งค่าคำตอบเสมอ
  • ในคำขอสร้าง/อัปเดต: ไม่ได้ตั้งค่าไว้
state

enum (State)

สถานะเริ่มต้นคือ IN_PROGRESS

การเปลี่ยนแปลงสถานะทางกฎหมายเพียงอย่างเดียวคือจาก IN_PROGRESS เป็น COMPLETE

ระบบจะส่งคืน PRECONDITION_FAILED หากมีการขอการเปลี่ยนที่ไม่ถูกต้อง

สถานะนี้จะตั้งค่าเป็น COMPLETE ได้เพียงครั้งเดียว ระบบจะส่งคืน FAILED_PRECONDITION หากกำหนดสถานะเป็น COMPLETE หลายครั้ง

หากตั้งค่าสถานะเป็น "เสร็จสมบูรณ์" ขั้นตอนที่อยู่ระหว่างดำเนินการทั้งหมดจะตั้งค่าเป็น "เสร็จสมบูรณ์" หากไม่ได้ตั้งค่าผลลัพธ์ของขั้นตอน ผลลัพธ์จะถูกตั้งค่าเป็น INCONCLUSIVE

  • ตั้งค่าคำตอบเสมอ
  • ในคำขอสร้าง/อัปเดต: ไม่บังคับ
creationTime

object (Timestamp)

เวลาที่สร้างการดำเนินการ

ระบบจะตั้งค่านี้โดยอัตโนมัติเมื่อมีการเรียกใช้ actions.create

  • ในการตอบกลับ: ตั้งค่าเสมอ
  • ในคำขอสร้าง/อัปเดต: ไม่ได้ตั้งค่าไว้
completionTime

object (Timestamp)

เวลาที่สถานะการดำเนินการเปลี่ยนเป็น COMPLETE

ค่านี้จะได้รับการกำหนดโดยอัตโนมัติเมื่อสถานะเปลี่ยนเป็น COMPLETE

  • ในการตอบสนอง: กำหนดว่าสถานะการดำเนินการเป็น COMPLETE หรือไม่
  • ในคำขอสร้าง/อัปเดต: ไม่ได้ตั้งค่าไว้
outcome

object (Outcome)

จัดประเภทผลลัพธ์ เช่น สำเร็จ หรือ ไม่ผ่าน

  • ในการตอบกลับ: แสดงหากตั้งค่าไว้โดยคำขอสร้าง/อัปเดต
  • ในคำขอสร้าง/อัปเดต: ไม่บังคับ
dimensionDefinitions[]

object (MatrixDimensionDefinition)

มิติข้อมูลที่มีขั้นตอนต่างๆ ในการดำเนินการนี้อาจแตกต่างกันไป ซึ่งจะต้องได้รับการแก้ไขตลอดระยะเวลาของการดำเนินการ

แสดงผล INVALID_ARGUMENT หากตั้งค่าช่องนี้ในคำขออัปเดต

แสดงค่า INVALID_ARGUMENT ในกรณีที่มีชื่อเหมือนกัน ต้องมีการระบุค่ามิติข้อมูล 1 อย่างมากกว่า 1 รายการ

แสดงผล INVALID_ARGUMENT หากขนาดของรายการเกิน 100

  • ในการตอบกลับ: นำเสนอหากตั้งค่าไว้โดยสร้าง
  • คำขอในการสร้าง: ไม่บังคับ
  • ในคำขออัปเดต: ไม่ได้ตั้งค่าไว้
specification

object (Specification)

ข้อมูลขนาดเล็กเกี่ยวกับคำขอดำเนินการ

  • ในการตอบกลับ: นำเสนอหากตั้งค่าไว้โดยสร้าง
  • สร้าง: ไม่บังคับ
  • อยู่ระหว่างการอัปเดต: ไม่บังคับ
testExecutionMatrixId

string

รหัส Matrix TestExecution ที่ TestExecutionService ใช้

  • ในการตอบกลับ: นำเสนอหากตั้งค่าไว้โดยสร้าง
  • สร้าง: ไม่บังคับ
  • กําลังอัปเดต: ไม่ได้ตั้งค่าไว้

MatrixDimensionDefinition

ประเภทนี้ไม่มีช่อง

มิติหนึ่งของเมทริกซ์ของการวิ่งแต่ละก้าวที่แตกต่างกัน

ข้อกำหนดเฉพาะ

รายละเอียดเกี่ยวกับวิธีเรียกใช้การดำเนินการ

การแสดง JSON
{

  // Union field specification can be only one of the following:
  "androidTest": {
    object (AndroidTest)
  },
  "iosTest": {
    object (IosTest)
  }
  // End of list of possible types for union field specification.
}
ช่อง

ช่องการรวม specification

specification ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้

androidTest

object (AndroidTest)

ข้อมูลจำเพาะของการดำเนินการทดสอบกับอุปกรณ์เคลื่อนที่ Android

iosTest

object (IosTest)

ข้อมูลจำเพาะของการดำเนินการทดสอบกับอุปกรณ์เคลื่อนที่ iOS

ทดสอบ Android

ข้อกำหนดการทดสอบสำหรับอุปกรณ์เคลื่อนที่ Android

การแสดง JSON
{
  "androidAppInfo": {
    object (AndroidAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "androidInstrumentationTest": {
    object (AndroidInstrumentationTest)
  },
  "androidRoboTest": {
    object (AndroidRoboTest)
  },
  "androidTestLoop": {
    object (AndroidTestLoop)
  }
  // End of list of possible types for union field test.
}
ช่อง
androidAppInfo

object (AndroidAppInfo)

ข้อมูลเกี่ยวกับแอปพลิเคชันที่อยู่ระหว่างการทดสอบ

testTimeout

object (Duration)

จำนวนครั้งสูงสุดที่การทดสอบได้รับอนุญาตให้ทำงานก่อนที่การทดสอบจะถูกยกเลิกโดยอัตโนมัติ

ช่องการรวม test

test ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้

androidInstrumentationTest

object (AndroidInstrumentationTest)

การทดสอบการใช้เครื่องมือ Android

androidRoboTest

object (AndroidRoboTest)

การทดสอบ Android Robo

androidTestLoop

object (AndroidTestLoop)

Test Loop ของ Android

ข้อมูลแอปของ Android

ข้อมูลแอป Android

การแสดง JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
ช่อง
name

string

ชื่อของแอป ไม่บังคับ

packageName

string

ชื่อแพ็กเกจของแอป ต้องระบุ

versionName

string

ชื่อเวอร์ชันของแอป (ไม่บังคับ)

versionCode

string

รหัสเวอร์ชันภายในของแอป (ไม่บังคับ)

AndroidInstrumentationTest

การทดสอบแอปพลิเคชัน Android ที่ควบคุมคอมโพเนนต์ Android ได้อย่างอิสระจากวงจรชีวิตปกติ

ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภทการทดสอบ Android ได้ที่ https://developer.android.com/training/testing/fundamentals

การแสดง JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
ช่อง
testPackageId

string

แพ็กเกจ Java สำหรับทดสอบที่จะดำเนินการ ต้องระบุ

testRunnerClass

string

คลาส InstrumentationTestRunner ต้องระบุ

testTargets[]

string

เป้าหมายแต่ละรายการต้องเป็นแบบเต็มด้วยชื่อแพ็กเกจหรือชื่อคลาสซึ่งอยู่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้ - "packagepackageName" - "classpackageName.class_name" - "classpackageName.class_name#methodName"

หากเว้นว่างไว้ เป้าหมายทั้งหมดในโมดูลจะทำงาน

useOrchestrator

boolean

ธงระบุว่าจะมีการใช้ Android Test Orchestrator เพื่อทำการทดสอบหรือไม่

AndroidRoboTest

การทดสอบแอปพลิเคชัน Android ที่สำรวจแอปพลิเคชันนั้นบนอุปกรณ์ Android เสมือนหรืออุปกรณ์จริง เพื่อหาสาเหตุและข้อขัดข้องที่เกิดขึ้น

การแสดง JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
ช่อง
appInitialActivity

string

กิจกรรมเริ่มต้นที่ควรใช้ในการเริ่มต้นแอป ไม่บังคับ

bootstrapPackageId

string

แพ็กเกจ Java สำหรับ Bootstrap ไม่บังคับ

bootstrapRunnerClass

string

คลาสวิ่งสำหรับรองเท้าบู๊ต ไม่บังคับ

maxDepth

integer

ความลึกสูงสุดของสแต็ก Traversal ที่ Robo สำรวจได้ ไม่บังคับ

maxSteps

integer

จำนวนขั้นตอน/การดำเนินการสูงสุดที่ Robo ทำได้ ไม่มีขีดจำกัดเริ่มต้น (0) ไม่บังคับ

AndroidTestLoop

ประเภทนี้ไม่มีช่อง

Test Loop คือการทดสอบที่แอปสามารถเปิดได้เอง เพื่อระบุว่าเมื่อใดควรเรียกใช้โดยการฟังจุดประสงค์

การทดสอบ Ios

ข้อกำหนดการทดสอบสำหรับอุปกรณ์เคลื่อนที่ iOS

การแสดง JSON
{
  "iosAppInfo": {
    object (IosAppInfo)
  },
  "testTimeout": {
    object (Duration)
  },

  // Union field test can be only one of the following:
  "iosXcTest": {
    object (IosXcTest)
  },
  "iosTestLoop": {
    object (IosTestLoop)
  },
  "iosRoboTest": {
    object (IosRoboTest)
  }
  // End of list of possible types for union field test.
}
ช่อง
iosAppInfo

object (IosAppInfo)

ข้อมูลเกี่ยวกับแอปพลิเคชันที่อยู่ระหว่างการทดสอบ

testTimeout

object (Duration)

จำนวนครั้งสูงสุดที่การทดสอบได้รับอนุญาตให้ทำงานก่อนที่การทดสอบจะถูกยกเลิกโดยอัตโนมัติ

ช่องการรวม test

test ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้

iosXcTest

object (IosXcTest)

iOS XCTest

iosTestLoop

object (IosTestLoop)

Test Loop ของ iOS

iosRoboTest

object (IosRoboTest)

การทดสอบ Robo ของ iOS

ข้อมูลแอป iOS

ข้อมูลแอป iOS

การแสดง JSON
{
  "name": string
}
ช่อง
name

string

ชื่อของแอป จำเป็น

การทดสอบ IosXc

การทดสอบแอปพลิเคชัน iOS ที่ใช้เฟรมเวิร์ก XCTest

การแสดง JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
ช่อง
bundleId

string

รหัสชุดของแอป

xcodeVersion

string

Xcode เวอร์ชันที่ใช้ทดสอบ

การทดสอบลูป Ios

การทดสอบ Game Loop ของแอปพลิเคชัน iOS

การแสดง JSON
{
  "bundleId": string
}
ช่อง
bundleId

string

รหัสชุดของแอป

ไอออสโรโบทดสอบ

ประเภทนี้ไม่มีช่อง

การทดสอบ Robo สำหรับแอปพลิเคชัน iOS

เมธอด

create

สร้างการดำเนินการ

get

รับการดำเนินการ

list

แสดงรายการการดำเนินการสำหรับประวัติที่ระบุ

patch

อัปเดตการดำเนินการที่มีอยู่ด้วยเอนทิตีบางส่วนที่ระบุ