REST Resource: projects.histories.executions

แหล่งข้อมูล: การดำเนินการ

การดำเนินการแสดงถึงชุดของขั้นตอน ตัวอย่างเช่น อาจแสดงถึง: - การทดสอบอุปกรณ์เคลื่อนที่ที่ดำเนินการในการกำหนดค่าอุปกรณ์ต่างๆ - งานเจนกินส์ที่มีขั้นตอนการสร้างตามด้วยขั้นตอนการทดสอบ

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

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

การเป็นตัวแทน 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 จะถูกส่งคืนหากมีการร้องขอการเปลี่ยนแปลงที่ไม่ถูกต้อง

สถานะสามารถตั้งค่าให้เสร็จสมบูรณ์ได้เพียงครั้งเดียวเท่านั้น FAILED_PRCONDITION จะถูกส่งกลับหากสถานะถูกตั้งค่าเป็น COMPLETE หลายครั้ง

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

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

object ( Timestamp )

เวลาที่การประหารชีวิตถูกสร้างขึ้น

ค่านี้จะถูกตั้งค่าโดยอัตโนมัติเมื่อมีการเรียกใช้การดำเนินการ

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

object ( Timestamp )

เวลาที่สถานะการดำเนินการเปลี่ยนเป็นเสร็จสมบูรณ์

ค่านี้จะถูกตั้งค่าโดยอัตโนมัติเมื่อสถานะเปลี่ยนเป็นเสร็จสมบูรณ์

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

object ( Outcome )

จำแนกผลลัพธ์ เช่น เป็น SUCCESS หรือ FAILURE

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

object ( MatrixDimensionDefinition )

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

ส่งคืน INVALID_ARGUMENT หากฟิลด์นี้ถูกตั้งค่าในคำขออัปเดต

ส่งคืน INVALID_ARGUMENT หากชื่อเดียวกันปรากฏในมากกว่าหนึ่งมิติ _definition

ส่งคืน INVALID_ARGUMENT หากขนาดของรายการมากกว่า 100

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

object ( Specification )

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

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

string

TestExecution Matrix ID ที่ TestExecutionService ใช้

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

เมทริกซ์มิตินิยาม

ประเภทนี้ไม่มีฟิลด์

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

ข้อมูลจำเพาะ

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

การเป็นตัวแทน 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

androidTestLoop

object ( AndroidTestLoop )

วงทดสอบ Android

AndroidAppInfo

ข้อมูลแอป Android

การเป็นตัวแทน JSON
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
เขตข้อมูล
name

string

ชื่อแอป ไม่จำเป็น

packageName

string

ชื่อแพ็คเกจของแอป ที่จำเป็น.

versionName

string

ชื่อเวอร์ชันของแอป ไม่จำเป็น.

versionCode

string

รหัสเวอร์ชันภายในของแอป ไม่จำเป็น.

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

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

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

การเป็นตัวแทน JSON
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
เขตข้อมูล
testPackageId

string

แพ็คเกจ Java สำหรับการทดสอบที่จะดำเนินการ ที่จำเป็น

testRunnerClass

string

คลาส InstrumentationTestRunner ที่จำเป็น

testTargets[]

string

แต่ละเป้าหมายต้องมีคุณสมบัติครบถ้วนด้วยชื่อแพ็กเกจหรือชื่อคลาส ในรูปแบบใดรูปแบบหนึ่งเหล่านี้: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

หากว่างเปล่า เป้าหมายทั้งหมดในโมดูลจะถูกเรียกใช้

useOrchestrator

boolean

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

การทดสอบหุ่นยนต์โรโบ

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

การเป็นตัวแทน JSON
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
เขตข้อมูล
appInitialActivity

string

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

bootstrapPackageId

string

แพ็กเกจ Java สำหรับบูตสแตรป ไม่จำเป็น

bootstrapRunnerClass

string

คลาสนักวิ่งสำหรับบูตสแตรป ไม่จำเป็น

maxDepth

integer

ความลึกสูงสุดของกองการสำรวจที่ Robo สามารถสำรวจได้ ไม่จำเป็น

maxSteps

integer

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

AndroidTestLoop

ประเภทนี้ไม่มีฟิลด์

Test Loops คือการทดสอบที่แอปสามารถเปิดใช้งานได้เอง โดยกำหนดเวลาที่จะเรียกใช้โดยการฟังเจตนา

iOSTest

ข้อกำหนดการทดสอบอุปกรณ์เคลื่อนที่ 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 )

วงทดสอบ iOS

iosRoboTest

object ( IosRoboTest )

การทดสอบ iOS Robo

IosAppInfo

ข้อมูลแอป iOS

การเป็นตัวแทน JSON
{
  "name": string
}
เขตข้อมูล
name

string

ชื่อแอป ที่จำเป็น

IosXcTest

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

การเป็นตัวแทน JSON
{
  "bundleId": string,
  "xcodeVersion": string
}
เขตข้อมูล
bundleId

string

ID ชุดของแอป

xcodeVersion

string

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

IosTestLoop

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

การเป็นตัวแทน JSON
{
  "bundleId": string
}
เขตข้อมูล
bundleId

string

ID ชุดของแอป

การทดสอบ iOSRobo

ประเภทนี้ไม่มีฟิลด์

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

วิธีการ

create

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

get

ได้รับการประหารชีวิต

list

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

patch

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