- แหล่งข้อมูล: ขั้นตอน
- ทดสอบการดำเนินการขั้นตอน
- เครื่องมือการดำเนินการ
- เครื่องมือExitCode
- ปัญหาการทดสอบ
- ใดๆ
- ความรุนแรง
- พิมพ์
- หมวดหมู่
- การทดสอบระยะเวลา
- เครื่องมือการดำเนินการขั้นตอน
- หลายขั้นตอน
- ขั้นตอนหลัก
- ผลลัพธ์ส่วนบุคคล
- วิธีการ
แหล่งข้อมูล: ขั้นตอน
ขั้นตอนแสดงถึงการดำเนินการเดียวที่ดำเนินการโดยเป็นส่วนหนึ่งของการดำเนินการ ขั้นตอนสามารถใช้เพื่อแสดงถึงการทำงานของเครื่องมือ (เช่น การดำเนินการทดสอบหรือการดำเนินการของคอมไพเลอร์)
ขั้นตอนสามารถทับซ้อนกันได้ (เช่น สองขั้นตอนอาจมีเวลาเริ่มต้นเท่ากัน หากการดำเนินการบางอย่างทำพร้อมกัน)
นี่คือตัวอย่าง ลองพิจารณาว่าเรามีบิลด์ต่อเนื่องที่กำลังดำเนินการทดสอบสำหรับการวนซ้ำแต่ละครั้ง ขั้นตอนการทำงานจะมีลักษณะดังนี้: - ผู้ใช้สร้างการดำเนินการด้วย id 1 - ผู้ใช้สร้าง TestExecutionStep ด้วย id 100 สำหรับการดำเนินการ 1 - ผู้ใช้อัปเดต TestExecutionStep ด้วย id 100 เพื่อเพิ่มบันทึก xml แบบดิบ + บริการแยกวิเคราะห์บันทึก xml และส่งกลับ TestExecutionStep ด้วย อัปเดตผลการทดสอบแล้ว - ผู้ใช้อัปเดตสถานะของ TestExecutionStep ด้วย id 100 เป็น COMPLETE
ขั้นตอนสามารถอัปเดตได้จนกว่าสถานะจะถูกตั้งค่าเป็นเสร็จสมบูรณ์ ซึ่ง ณ จุดนั้นจะไม่เปลี่ยนรูป
การเป็นตัวแทน JSON |
---|
{ "stepId": string, "creationTime": { object ( |
เขตข้อมูล | |
---|---|
stepId | ตัวระบุที่ไม่ซ้ำกันภายในการดำเนินการสำหรับขั้นตอนนี้ ส่งคืน INVALID_ARGUMENT หากฟิลด์นี้ถูกตั้งค่าหรือเขียนทับโดยผู้เรียก
|
creationTime | เวลาที่ขั้นตอนถูกสร้างขึ้น
|
completionTime | เวลาที่สถานะขั้นตอนถูกตั้งค่าให้เสร็จสมบูรณ์ ค่านี้จะถูกตั้งค่าโดยอัตโนมัติเมื่อสถานะเปลี่ยนเป็นเสร็จสมบูรณ์
|
name | ชื่อสั้นๆ ที่มนุษย์สามารถอ่านได้เพื่อแสดงใน UI สูงสุด 100 ตัวอักษร ตัวอย่างเช่น: ทำความสะอาดบิลด์ PRECONDITION_FAILED จะถูกส่งกลับเมื่อสร้างขั้นตอนใหม่ หากใช้ชื่อและ sizeValue ร่วมกับขั้นตอนที่มีอยู่ หากสองขั้นตอนแสดงถึงการกระทำที่คล้ายกัน แต่มีค่ามิติต่างกัน ก็ควรใช้ชื่อเดียวกัน ตัวอย่างเช่น หากรันชุดการทดสอบเดียวกันบนแพลตฟอร์มที่ต่างกันสองแพลตฟอร์ม สองขั้นตอนก็ควรมีชื่อเหมือนกัน
|
description | คำอธิบายของเครื่องมือนี้ ตัวอย่างเช่น: mvn clean package -D skikTests=true
|
state | สถานะเริ่มต้นคือ IN_PROGRESS การเปลี่ยนสถานะทางกฎหมายเพียงอย่างเดียวคือ * IN_PROGRESS -> COMPLETE PRECONDITION_FAILED จะถูกส่งคืนหากมีการร้องขอการเปลี่ยนแปลงที่ไม่ถูกต้อง สามารถสร้างขั้นตอนด้วยสถานะที่ตั้งค่าเป็นเสร็จสมบูรณ์ได้ สถานะสามารถตั้งค่าให้เสร็จสมบูรณ์ได้เพียงครั้งเดียวเท่านั้น PRECONDITION_FAILED จะถูกส่งกลับหากสถานะถูกตั้งค่าเป็น COMPLETE หลายครั้ง
|
outcome | การจำแนกผลลัพธ์ เช่น ความสำเร็จหรือความล้มเหลว
|
hasImages | ไม่ว่าผลลัพธ์ใดๆ ของขั้นตอนนี้เป็นรูปภาพที่สามารถดึงภาพขนาดย่อด้วย thumbnails.list ได้หรือไม่
|
labels | คู่คีย์/ค่าที่ผู้ใช้ระบุซึ่งเชื่อมโยงกับขั้นตอน ผู้ใช้มีหน้าที่รับผิดชอบในการจัดการเนมสเปซของคีย์ เพื่อไม่ให้คีย์ชนกันโดยไม่ได้ตั้งใจ INVALID_ARGUMENT จะถูกส่งกลับหากจำนวนป้ายกำกับเกิน 100 หรือหากความยาวของคีย์หรือค่าใดๆ เกิน 100 อักขระ
วัตถุที่มีรายการ |
dimensionValue | หากการดำเนินการที่มีขั้นตอนนี้มีชุดการกำหนดมิติข้อมูล ฟิลด์นี้จะอนุญาตให้รายการย่อยระบุค่าของมิติได้ คีย์ต้องตรงกับ size_definition ของการดำเนินการทุกประการ ตัวอย่างเช่น หากการดำเนินการมี หากขั้นตอนไม่มีส่วนร่วมในมิติหนึ่งของเมทริกซ์ ค่าสำหรับมิตินั้นควรเป็นสตริงว่าง ตัวอย่างเช่น หากการทดสอบรายการใดรายการหนึ่งดำเนินการโดยรันเนอร์ที่ไม่รองรับการลองใหม่ ขั้นตอนอาจมี หากขั้นตอนไม่ได้มีส่วนร่วมในมิติใดๆ ของเมทริกซ์ ก็อาจทำให้ sizeValue ไม่ได้ตั้งค่า PRECONDITION_FAILED จะถูกส่งคืนหากไม่มีคีย์ใด ๆ อยู่ใน dimensions_definition ของการดำเนินการ PRECONDITION_FAILED จะถูกส่งคืนหากขั้นตอนอื่นในการดำเนินการนี้มีชื่อและ sizeValue เหมือนกันอยู่แล้ว แต่แตกต่างกันในฟิลด์ข้อมูลอื่น เช่น ฟิลด์ step แตกต่างกัน PRECONDITION_FAILED จะถูกส่งกลับหากมีการตั้งค่า sizeValue และมี dimensions_definition ในการดำเนินการซึ่งไม่ได้ระบุว่าเป็นหนึ่งในคีย์
วัตถุที่มีรายการ |
runDuration | ขั้นตอนนี้ใช้เวลานานเท่าใดจึงจะทำงาน หากไม่ได้ตั้งค่า ค่านี้จะถูกตั้งค่าเป็นความแตกต่างระหว่าง CreationTime และ FinishTime เมื่อขั้นตอนถูกตั้งค่าเป็นสถานะ COMPLETE ในบางกรณี เหมาะสมที่จะตั้งค่านี้แยกจากกัน: ตัวอย่างเช่น หากขั้นตอนถูกสร้างขึ้น แต่การดำเนินการที่แสดงนั้นถูกจัดคิวไว้สองสามนาทีก่อนที่จะดำเนินการ จะเป็นการเหมาะสมที่จะไม่รวมเวลาที่ใช้ในคิวไว้ในขั้นตอนนั้น วิ่งระยะเวลา PRECONDITION_FAILED จะถูกส่งคืนหากมีคนพยายามตั้งค่า runDuration ในขั้นตอนที่ได้ตั้งค่าฟิลด์นี้ไว้แล้ว
|
deviceUsageDuration | มีการใช้ทรัพยากรอุปกรณ์มากน้อยเพียงใดในการทดสอบ นี่คือการใช้งานอุปกรณ์ที่ใช้เพื่อจุดประสงค์ในการเรียกเก็บเงิน ซึ่งแตกต่างจาก runDuration เช่น ความล้มเหลวของโครงสร้างพื้นฐานจะไม่ถูกเรียกเก็บเงินสำหรับการใช้งานอุปกรณ์ PRECONDITION_FAILED จะถูกส่งคืนหากมีคนพยายามตั้งค่า device_usage ในขั้นตอนที่ได้ตั้งค่าฟิลด์นี้ไว้แล้ว
|
multiStep | รายละเอียดเมื่อรันหลายขั้นตอนด้วยการกำหนดค่าเดียวกันกับกลุ่ม รายละเอียดเหล่านี้สามารถใช้เพื่อระบุกลุ่มที่ขั้นตอนนี้เป็นส่วนหนึ่งของ นอกจากนี้ยังระบุกลุ่ม 'ขั้นตอนหลัก' ซึ่งจัดทำดัชนีสมาชิกกลุ่มทั้งหมด
|
| |
testExecutionStep | การประหารชีวิตของนักวิ่งทดสอบ |
toolExecutionStep | การดำเนินการของเครื่องมือ (ใช้สำหรับขั้นตอนที่เราไม่สนับสนุนอย่างชัดเจน) |
ทดสอบการดำเนินการขั้นตอน
ขั้นตอนที่แสดงถึงการทดสอบที่กำลังรันอยู่
ยอมรับไฟล์ ant-junit xml ซึ่งจะถูกแยกวิเคราะห์ผลการทดสอบที่มีโครงสร้างโดยบริการ เส้นทางไฟล์ Xml ได้รับการอัปเดตเพื่อที่จะเพิ่มไฟล์ต่อท้าย แต่ไม่สามารถลบได้
ผู้ใช้ยังสามารถเพิ่มผลการทดสอบด้วยตนเองโดยใช้ฟิลด์ test_result
การเป็นตัวแทน JSON |
---|
{ "testSuiteOverviews": [ { object ( |
เขตข้อมูล | |
---|---|
testSuiteOverviews[] | รายการเนื้อหาภาพรวมของชุดทดสอบ ซึ่งอาจแยกวิเคราะห์จากบันทึก xUnit XML โดยเซิร์ฟเวอร์ หรืออัปโหลดโดยผู้ใช้โดยตรง ควรเรียกใช้การอ้างอิงนี้เมื่อมีการแยกวิเคราะห์หรืออัปโหลดชุดทดสอบโดยสมบูรณ์เท่านั้น จำนวนภาพรวมชุดทดสอบสูงสุดที่อนุญาตต่อขั้นตอนคือ 1,000
|
toolExecution | แสดงถึงการดำเนินการของนักวิ่งทดสอบ รหัสทางออกของเครื่องมือนี้จะถูกใช้เพื่อตรวจสอบว่าการทดสอบผ่านการทดสอบหรือไม่
|
testIssues[] | ปัญหาที่พบในระหว่างการดำเนินการทดสอบ ตัวอย่างเช่น หากแอปมือถือที่อยู่ระหว่างการทดสอบเกิดข้อขัดข้องระหว่างการทดสอบ ข้อความแสดงข้อผิดพลาดและเนื้อหาการติดตามสแต็กสามารถบันทึกได้ที่นี่เพื่อช่วยในการแก้ไขจุดบกพร่อง
|
testTiming | การแบ่งจังหวะเวลาของการดำเนินการทดสอบ
|
เครื่องมือการดำเนินการ
การดำเนินการตามเครื่องมือที่กำหนดเอง อาจเป็นตัวดำเนินการทดสอบหรือเครื่องมือในการคัดลอกสิ่งประดิษฐ์หรือปรับใช้โค้ด
การเป็นตัวแทน JSON |
---|
{ "commandLineArguments": [ string ], "toolLogs": [ { object ( |
เขตข้อมูล | |
---|---|
commandLineArguments[] | บรรทัดคำสั่งโทเค็นแบบเต็มรวมถึงชื่อโปรแกรม (เทียบเท่ากับ argv ในโปรแกรม C)
|
toolLogs[] | การอ้างอิงถึงบันทึกข้อความธรรมดาจะแสดงการทำงานของเครื่องมือ คุณสามารถตั้งค่าฟิลด์นี้ได้ก่อนที่เครื่องมือจะออกจากการทำงานเพื่อให้สามารถเข้าถึงมุมมองสดของบันทึกในขณะที่เครื่องมือกำลังทำงานอยู่ จำนวนบันทึกเครื่องมือสูงสุดที่อนุญาตต่อขั้นตอนคือ 1,000
|
exitCode | รหัสทางออกการเรียกใช้เครื่องมือ ฟิลด์นี้จะถูกตั้งค่าเมื่อออกจากเครื่องมือแล้ว
|
toolOutputs[] | การอ้างอิงถึงไฟล์ทึบแสงของเอาต์พุตรูปแบบใดๆ โดยการใช้เครื่องมือ จำนวนเอาต์พุตเครื่องมือสูงสุดที่อนุญาตต่อขั้นตอนคือ 1,000
|
เครื่องมือExitCode
รหัสออกจากการทำงานของเครื่องมือ
การเป็นตัวแทน JSON |
---|
{ "number": integer } |
เขตข้อมูล | |
---|---|
number | รหัสทางออกการเรียกใช้เครื่องมือ ค่า 0 หมายความว่าการดำเนินการสำเร็จ
|
ปัญหาการทดสอบ
ตรวจพบปัญหาที่เกิดขึ้นระหว่างการดำเนินการทดสอบ
การเป็นตัวแทน JSON |
---|
{ "errorMessage": string, "stackTrace": { object ( |
เขตข้อมูล | |
---|---|
errorMessage | ข้อความสั้นๆ ที่มนุษย์สามารถอ่านได้ซึ่งอธิบายถึงปัญหา ที่จำเป็น. |
stackTrace | เลิกใช้งานแล้วเพื่อใช้ช่องการติดตามสแต็กภายในคำเตือนเฉพาะ |
warning | ข้อความแจ้งเตือนพร้อมรายละเอียดเพิ่มเติมของปัญหา ควรเป็นข้อความจาก com.google.devtools.toolresults.v1.warnings เสมอ |
severity | ความรุนแรงของปัญหา ที่จำเป็น. |
type | ประเภทของปัญหา ที่จำเป็น. |
category | ประเภทของปัญหา ที่จำเป็น. |
ใดๆ
Any
มีข้อความบัฟเฟอร์โปรโตคอลแบบซีเรียลไลซ์ตามอำเภอใจ พร้อมด้วย URL ที่อธิบายประเภทของข้อความซีเรียลไลซ์
ไลบรารี Protobuf ให้การสนับสนุนในการแพ็ก/คลายแพ็กค่าใดๆ ในรูปแบบของฟังก์ชันอรรถประโยชน์หรือวิธีการสร้างเพิ่มเติมประเภทใดก็ได้
ตัวอย่างที่ 1: แพ็คและแกะข้อความในภาษา C++
Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
...
}
ตัวอย่างที่ 2: แพ็คและแตกข้อความใน Java
Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
foo = any.unpack(Foo.class);
}
ตัวอย่างที่ 3: แพ็คและแกะข้อความใน Python
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
any.Unpack(foo)
...
ตัวอย่างที่ 4: แพ็คและแกะข้อความใน Go
foo := &pb.Foo{...}
any, err := ptypes.MarshalAny(foo)
...
foo := &pb.Foo{}
if err := ptypes.UnmarshalAny(any, foo); err != nil {
...
}
วิธีการแพ็คที่จัดทำโดยไลบรารี protobuf โดยค่าเริ่มต้นจะใช้ 'type.googleapis.com/full.type.name' เป็น URL ประเภท และวิธีการแตกไฟล์จะใช้เฉพาะชื่อประเภทที่ผ่านการรับรองโดยสมบูรณ์หลัง '/' สุดท้ายใน URL ประเภท ตัวอย่างเช่น "foo.bar.com/x/yz" จะให้ชื่อประเภท "yz"
เจสัน
การแสดง JSON ของค่า Any
จะใช้การแสดงปกติของข้อความดีซีเรียลไลซ์ที่ฝังอยู่ โดยมี @type
ฟิลด์เพิ่มเติมซึ่งมี URL ประเภท ตัวอย่าง:
package google.profile;
message Person {
string first_name = 1;
string last_name = 2;
}
{
"@type": "type.googleapis.com/google.profile.Person",
"firstName": <string>,
"lastName": <string>
}
หากประเภทข้อความที่ฝังเป็นที่รู้จักและมีการแสดง JSON แบบกำหนดเอง การแสดงนั้นจะถูกฝังโดยเพิ่ม value
ฟิลด์ที่เก็บ JSON แบบกำหนดเอง นอกเหนือจากฟิลด์ @type
ตัวอย่าง (สำหรับข้อความ google.protobuf.Duration
):
{
"@type": "type.googleapis.com/google.protobuf.Duration",
"value": "1.212s"
}
การเป็นตัวแทน JSON |
---|
{ "typeUrl": string, "value": string } |
เขตข้อมูล | |
---|---|
typeUrl | ชื่อ URL/ทรัพยากรที่ระบุประเภทของข้อความบัฟเฟอร์โปรโตคอลแบบอนุกรมโดยไม่ซ้ำกัน สตริงนี้ต้องมีอักขระ "/" อย่างน้อยหนึ่งตัว ส่วนสุดท้ายของเส้นทางของ URL จะต้องแสดงถึงชื่อแบบเต็มของประเภท (เช่นใน ในทางปฏิบัติ ทีมมักจะคอมไพล์ล่วงหน้าเป็นไบนารีทุกประเภทที่พวกเขาคาดหวังว่าจะใช้ในบริบทของ Any อย่างไรก็ตาม สำหรับ URL ที่ใช้รูปแบบ
หมายเหตุ: ขณะนี้ฟังก์ชันนี้ยังไม่มีในรุ่น protobuf อย่างเป็นทางการ และไม่ได้ใช้สำหรับ URL ประเภทที่ขึ้นต้นด้วย type.googleapis.com รูปแบบอื่นที่ไม่ใช่ |
value | ต้องเป็นบัฟเฟอร์โปรโตคอลแบบอนุกรมที่ถูกต้องของประเภทที่ระบุข้างต้น สตริงที่เข้ารหัส base64 |
ความรุนแรง
ความรุนแรงของปัญหา
เอนัม | |
---|---|
unspecifiedSeverity | ความรุนแรงที่ไม่ได้ระบุเป็นค่าเริ่มต้น ไม่ได้ใช้. สำหรับเวอร์ชันเท่านั้น |
info | ปัญหาที่ไม่ร้ายแรง โดยให้ข้อมูลบางอย่างแก่ผู้ใช้เกี่ยวกับการทดสอบการทำงาน |
suggestion | ปัญหาที่ไม่ร้ายแรง โดยให้คำแนะนำแก่ผู้ใช้ในการปรับปรุงประสบการณ์การทดสอบ เช่น การแนะนำให้ใช้ Game Loop |
warning | ปัญหาที่อาจร้ายแรง |
severe | ปัญหาที่สำคัญ |
พิมพ์
ประเภทของปัญหา
เอนัม | |
---|---|
unspecifiedType | ประเภทที่ไม่ระบุเริ่มต้น ไม่ได้ใช้. สำหรับเวอร์ชันเท่านั้น |
fatalException | ปัญหาถือเป็นข้อยกเว้นร้ายแรง |
nativeCrash | ปัญหาคือข้อขัดข้องดั้งเดิม |
anr | ปัญหาคือข้อขัดข้องของ ANR |
unusedRoboDirective | ปัญหาคือคำสั่ง robo ที่ไม่ได้ใช้ |
compatibleWithOrchestrator | ปัญหาคือข้อเสนอแนะให้ใช้ออเคสตรา |
launcherActivityNotFound | ปัญหาเกี่ยวกับการค้นหากิจกรรมตัวเรียกใช้งาน |
startActivityNotFound | ปัญหาเกี่ยวกับการแก้ไขความตั้งใจที่ผู้ใช้ระบุในการเริ่มต้นกิจกรรม |
incompleteRoboScriptExecution | สคริปต์ Robo ไม่ได้รับการดำเนินการอย่างสมบูรณ์ |
completeRoboScriptExecution | สคริปต์ Robo ได้รับการดำเนินการอย่างสมบูรณ์และประสบความสำเร็จ |
failedToInstall | APK ไม่สามารถติดตั้งได้ |
availableDeepLinks | แอปที่อยู่ระหว่างการทดสอบมีลิงก์ในรายละเอียด แต่ไม่มีการระบุให้กับ Robo |
nonSdkApiUsageViolation | แอปเข้าถึง Api ที่ไม่ใช่ SDK |
nonSdkApiUsageReport | แอปเข้าถึง non-sdk Api (รายงานรายละเอียดใหม่) |
encounteredNonAndroidUiWidgetScreen | พบการรวบรวมข้อมูล Robo อย่างน้อยหนึ่งหน้าจอที่มีองค์ประกอบที่ไม่ใช่วิดเจ็ต Android UI |
encounteredLoginScreen | การรวบรวมข้อมูล Robo พบหน้าจอเข้าสู่ระบบที่เป็นไปได้อย่างน้อยหนึ่งหน้าจอ |
performedGoogleLogin | Robo ลงชื่อเข้าใช้ด้วย Google |
iosException | แอพ iOS ขัดข้องโดยมีข้อยกเว้น |
iosCrash | แอพ iOS ขัดข้องโดยไม่มีข้อยกเว้น (เช่น ถูกฆ่า) |
performedMonkeyActions | การรวบรวมข้อมูลของ Robo เกี่ยวข้องกับการกระทำของลิง |
usedRoboDirective | การรวบรวมข้อมูล Robo ใช้คำสั่ง Robo |
usedRoboIgnoreDirective | การรวบรวมข้อมูล Robo ใช้คำสั่ง Robo เพื่อละเว้นองค์ประกอบ UI |
insufficientCoverage | Robo ไม่ได้รวบรวมข้อมูลบางส่วนที่อาจสำคัญของแอป |
inAppPurchases | การรวบรวมข้อมูลของ Robo เกี่ยวข้องกับการซื้อในแอปบางอย่าง |
crashDialogError | ตรวจพบกล่องโต้ตอบข้อขัดข้องระหว่างการดำเนินการทดสอบ |
uiElementsTooDeep | ความลึกขององค์ประกอบ UI มากกว่าเกณฑ์ |
blankScreen | พบหน้าจอว่างในการรวบรวมข้อมูล Robo |
overlappingUiElements | พบองค์ประกอบ UI ที่ทับซ้อนกันในการรวบรวมข้อมูล Robo |
unityException | ตรวจพบข้อยกเว้น Unity ที่ไม่ถูกตรวจจับ (แอปเหล่านี้ไม่ขัดข้อง) |
deviceOutOfMemory | ตรวจพบอุปกรณ์ที่มีหน่วยความจำไม่เพียงพอ |
logcatCollectionError | ตรวจพบปัญหาขณะรวบรวม logcat |
detectedAppSplashScreen | Robo ตรวจพบหน้าจอเริ่มต้นที่มาจากแอป (เทียบกับหน้าจอเริ่มต้นระบบปฏิบัติการ Android) |
หมวดหมู่
หมวดหมู่ของประเด็น
เอนัม | |
---|---|
unspecifiedCategory | หมวดหมู่ที่ไม่ระบุเริ่มต้น ไม่ได้ใช้. สำหรับเวอร์ชันเท่านั้น |
common | ปัญหาไม่เฉพาะเจาะจงกับประเภทการทดสอบใดประเภทหนึ่ง (เช่น ข้อขัดข้องของระบบ) |
robo | ปัญหาเกิดขึ้นเฉพาะกับการทำงานของ Robo |
การทดสอบระยะเวลา
การแบ่งเวลาการทดสอบเพื่อทราบขั้นตอน
การเป็นตัวแทน JSON |
---|
{
"testProcessDuration": {
object ( |
เขตข้อมูล | |
---|---|
testProcessDuration | ใช้เวลานานเท่าใดในการรันกระบวนการทดสอบ
|
เครื่องมือการดำเนินการขั้นตอน
ขั้นตอนเครื่องมือทั่วไปที่จะใช้กับไบนารีที่เราไม่รองรับอย่างชัดเจน ตัวอย่างเช่น: การเรียกใช้ cp เพื่อคัดลอกสิ่งประดิษฐ์จากที่หนึ่งไปยังอีกที่หนึ่ง
การเป็นตัวแทน JSON |
---|
{
"toolExecution": {
object ( |
เขตข้อมูล | |
---|---|
toolExecution | การใช้เครื่องมือ
|
หลายขั้นตอน
รายละเอียดเมื่อรันหลายขั้นตอนด้วยการกำหนดค่าเดียวกันกับกลุ่ม
การเป็นตัวแทน JSON |
---|
{
"primaryStepId": string,
"multistepNumber": integer,
"primaryStep": {
object ( |
เขตข้อมูล | |
---|---|
primaryStepId | รหัสขั้นตอนของขั้นตอนหลัก (เดิม) ซึ่งอาจเป็นขั้นตอนนี้ |
multistepNumber | int ที่ไม่ซ้ำกันให้กับแต่ละขั้นตอน ช่วงตั้งแต่ 0 (รวม) ถึงจำนวนขั้นตอนทั้งหมด (ไม่รวม) ขั้นตอนหลักคือ 0 |
primaryStep | นำเสนอหากเป็นขั้นตอนหลัก (ดั้งเดิม) |
ขั้นตอนหลัก
จัดเก็บสถานะการทดสอบการยกเลิกของหลายขั้นตอนที่รันเป็นกลุ่มและผลลัพธ์ของแต่ละขั้นตอน
การเป็นตัวแทน JSON |
---|
{ "rollUp": enum ( |
เขตข้อมูล | |
---|---|
rollUp | สถานะการทดสอบภาพรวมของหลายขั้นตอนที่ทำงานด้วยการกำหนดค่าเดียวกันกับกลุ่ม |
individualOutcome[] | รหัสขั้นตอนและผลลัพธ์ของแต่ละขั้นตอน |
ผลลัพธ์ส่วนบุคคล
รหัสขั้นตอนและผลลัพธ์ของแต่ละขั้นตอนที่รันเป็นกลุ่มโดยมีขั้นตอนอื่นๆ ที่มีการกำหนดค่าเดียวกัน
การเป็นตัวแทน JSON |
---|
{ "stepId": string, "outcomeSummary": enum ( |
เขตข้อมูล | |
---|---|
stepId | |
outcomeSummary | |
multistepNumber | int ที่ไม่ซ้ำกันให้กับแต่ละขั้นตอน ช่วงตั้งแต่ 0 (รวม) ถึงจำนวนขั้นตอนทั้งหมด (ไม่รวม) ขั้นตอนหลักคือ 0 |
runDuration | ขั้นตอนนี้ใช้เวลานานเท่าใดจึงจะทำงาน |
วิธีการ | |
---|---|
| แสดงรายการคลัสเตอร์การเข้าถึงสำหรับขั้นตอนที่กำหนด อาจส่งคืนรหัสข้อผิดพลาดตามรูปแบบบัญญัติต่อไปนี้:
|
| สร้างขั้นตอน |
| ได้รับขั้นตอน |
| ดึงข้อมูลสรุป PerfMetrics |
| แสดงรายการขั้นตอนสำหรับการดำเนินการที่กำหนด |
| อัพเดตขั้นตอนที่มีอยู่ด้วยเอนทิตีบางส่วนที่ให้มา |
| เผยแพร่ไฟล์ xml ไปยังขั้นตอนที่มีอยู่ |