REST Resource: projects.histories.executions.steps

संसाधन: कदम

एक चरण निष्पादन के भाग के रूप में निष्पादित एकल ऑपरेशन का प्रतिनिधित्व करता है। किसी उपकरण के निष्पादन को दर्शाने के लिए एक चरण का उपयोग किया जा सकता है (उदाहरण के लिए एक परीक्षण धावक निष्पादन या एक कंपाइलर का निष्पादन)।

चरण ओवरलैप हो सकते हैं (उदाहरण के लिए, यदि कुछ ऑपरेशन समानांतर में किए जाते हैं तो दो चरणों का प्रारंभ समय समान हो सकता है)।

यहां एक उदाहरण दिया गया है, आइए मान लें कि हमारे पास प्रत्येक पुनरावृत्ति के लिए एक परीक्षण धावक निष्पादित करने वाला एक सतत निर्माण है। वर्कफ़्लो इस तरह दिखेगा: - उपयोगकर्ता आईडी 1 के साथ एक निष्पादन बनाता है - उपयोगकर्ता निष्पादन 1 के लिए आईडी 100 के साथ एक TestExecutionStep बनाता है - एक कच्चा xml लॉग जोड़ने के लिए उपयोगकर्ता आईडी 100 के साथ TestExecutionStep को अपडेट करता है + सेवा xml लॉग को पार्स करती है और एक TestExecutionStep लौटाती है अद्यतन परीक्षण परिणाम। - उपयोगकर्ता TestExecutionStep की स्थिति को आईडी 100 से पूर्ण तक अद्यतन करता है

एक चरण को तब तक अद्यतन किया जा सकता है जब तक कि उसकी स्थिति पूर्ण पर सेट न हो जाए, जिस बिंदु पर यह अपरिवर्तनीय हो जाता है।

JSON प्रतिनिधित्व
{
  "stepId": string,
  "creationTime": {
    object (Timestamp)
  },
  "completionTime": {
    object (Timestamp)
  },
  "name": string,
  "description": string,
  "state": enum (State),
  "outcome": {
    object (Outcome)
  },
  "hasImages": boolean,
  "labels": {
    string: string,
    ...
  },
  "dimensionValue": {
    string: string,
    ...
  },
  "runDuration": {
    object (Duration)
  },
  "deviceUsageDuration": {
    object (Duration)
  },
  "multiStep": {
    object (MultiStep)
  },

  // Union field step can be only one of the following:
  "testExecutionStep": {
    object (TestExecutionStep)
  },
  "toolExecutionStep": {
    object (ToolExecutionStep)
  }
  // End of list of possible types for union field step.
}
खेत
stepId

string

इस चरण के लिए निष्पादन के भीतर एक अद्वितीय पहचानकर्ता।

यदि यह फ़ील्ड कॉलर द्वारा सेट या ओवरराइट किया गया है तो INVALID_ARGUMENT लौटाता है।

  • जवाब में: हमेशा सेट
  • क्रिएट/अपडेट अनुरोध में: कभी सेट न करें
creationTime

object ( Timestamp )

वह समय जब चरण बनाया गया था.

  • जवाब में: हमेशा सेट
  • क्रिएट/अपडेट अनुरोध में: कभी सेट न करें
completionTime

object ( Timestamp )

वह समय जब चरण स्थिति पूर्ण होने के लिए सेट की गई थी.

जब स्थिति पूर्ण में परिवर्तित हो जाएगी तो यह मान स्वचालित रूप से सेट हो जाएगा।

  • प्रतिक्रिया में: यदि निष्पादन स्थिति पूर्ण है तो सेट करें।
  • क्रिएट/अपडेट अनुरोध में: कभी सेट न करें
name

string

यूआई में प्रदर्शित करने के लिए एक छोटा मानव-पठनीय नाम। अधिकतम 100 अक्षर. उदाहरण के लिए: स्वच्छ निर्माण

यदि कोई नया चरण मौजूदा चरण के साथ अपना नाम और आयाम वैल्यू साझा करता है तो एक PRECONDITION_FAILED लौटाया जाएगा। यदि दो चरण एक समान क्रिया दर्शाते हैं, लेकिन उनके आयाम मान भिन्न हैं, तो उन्हें एक ही नाम साझा करना चाहिए। उदाहरण के लिए, यदि परीक्षणों का एक ही सेट दो अलग-अलग प्लेटफार्मों पर चलाया जाता है, तो दोनों चरणों का नाम समान होना चाहिए।

  • जवाब में: हमेशा सेट
  • क्रिएट रिक्वेस्ट में: हमेशा सेट करें
  • अद्यतन अनुरोध में: कभी सेट न करें
description

string

इस टूल का विवरण उदाहरण के लिए: एमवीएन क्लीन पैकेज -डी स्किपटेस्ट्स=ट्रू

  • प्रत्युत्तर में: यदि क्रिएट/अपडेट अनुरोध द्वारा सेट किया गया है तो प्रस्तुत करें
  • निर्माण/अद्यतन अनुरोध में: वैकल्पिक
state

enum ( State )

प्रारंभिक स्थिति IN_PROGRESS है. एकमात्र कानूनी स्थिति परिवर्तन * IN_PROGRESS -> COMPLETE हैं

यदि अमान्य ट्रांज़िशन का अनुरोध किया जाता है तो एक PRECONDITION_FAILED लौटाया जाएगा।

पूर्ण पर सेट स्थिति के साथ चरण बनाना मान्य है। राज्य को केवल एक बार पूर्ण पर सेट किया जा सकता है। यदि स्थिति को कई बार पूर्ण पर सेट किया जाता है तो एक PRECONDITION_FAILED लौटाया जाएगा।

  • जवाब में: हमेशा सेट
  • निर्माण/अद्यतन अनुरोध में: वैकल्पिक
outcome

object ( Outcome )

परिणाम का वर्गीकरण, उदाहरण के लिए सफलता या विफलता में

  • प्रत्युत्तर में: यदि क्रिएट/अपडेट अनुरोध द्वारा सेट किया गया है तो प्रस्तुत करें
  • निर्माण/अद्यतन अनुरोध में: वैकल्पिक
hasImages

boolean

क्या इस चरण का कोई भी आउटपुट ऐसी छवियां हैं जिनके थंबनेल थंबनेल.लिस्ट से प्राप्त किए जा सकते हैं।

  • जवाब में: हमेशा सेट
  • क्रिएट/अपडेट अनुरोध में: कभी सेट न करें
labels

map (key: string, value: string)

उपयोगकर्ता द्वारा प्रदत्त मनमाना कुंजी/मान जोड़े जो चरण से संबद्ध हैं।

उपयोगकर्ता कुंजी नाम स्थान को प्रबंधित करने के लिए ज़िम्मेदार हैं ताकि कुंजियाँ गलती से टकरा न जाएँ।

यदि लेबल की संख्या 100 से अधिक हो या किसी भी कुंजी या मान की लंबाई 100 वर्णों से अधिक हो तो एक INVALID_ARGUMENT लौटाया जाएगा।

  • जवाब में: हमेशा सेट
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: वैकल्पिक; किसी भी नई कुंजी/मान जोड़ी को मानचित्र में जोड़ा जाएगा, और मौजूदा कुंजी के लिए कोई भी नया मान उस कुंजी के मान को अपडेट कर देगा

एक ऑब्जेक्ट जिसमें "key": value जोड़े। उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }

dimensionValue

map (key: string, value: string)

यदि इस चरण वाले निष्पादन में कोई आयाम_परिभाषा सेट है, तो यह फ़ील्ड बच्चे को आयामों के मान निर्दिष्ट करने की अनुमति देती है।

कुंजियाँ निष्पादन के आयाम_परिभाषा से बिल्कुल मेल खानी चाहिए।

उदाहरण के लिए, यदि निष्पादन dimension_definition = ['attempt', 'device'] है तो एक चरण को उन आयामों के लिए मान परिभाषित करना होगा, उदाहरण के लिए। dimensionValue = ['attempt': '1', 'device': 'Nexus 6']

यदि कोई चरण मैट्रिक्स के एक आयाम में भाग नहीं लेता है, तो उस आयाम का मान खाली स्ट्रिंग होना चाहिए। उदाहरण के लिए, यदि परीक्षणों में से एक को ऐसे धावक द्वारा निष्पादित किया जाता है जो पुनः प्रयास का समर्थन नहीं करता है, तो चरण dimensionValue = ['attempt': '', 'device': 'Nexus 6']

यदि चरण मैट्रिक्स के किसी भी आयाम में भाग नहीं लेता है, तो यह आयाम वैल्यू को अनसेट छोड़ सकता है।

यदि निष्पादन के आयाम_परिभाषा में कोई भी कुंजी मौजूद नहीं है, तो एक PRECONDITION_FAILED लौटाया जाएगा।

यदि इस निष्पादन में किसी अन्य चरण का नाम और आयाम मान पहले से ही समान है, लेकिन अन्य डेटा फ़ील्ड पर भिन्न है, तो PRECONDITION_FAILED लौटाया जाएगा, उदाहरण के लिए, चरण फ़ील्ड भिन्न है।

यदि आयाम वैल्यू सेट है तो एक PRECONDITION_FAILED लौटाया जाएगा, और निष्पादन में एक आयाम_परिभाषा है जो कुंजी में से एक के रूप में निर्दिष्ट नहीं है।

  • प्रतिक्रिया में: यदि क्रिएट द्वारा सेट किया गया है तो प्रस्तुत करें
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: कभी सेट न करें

एक ऑब्जेक्ट जिसमें "key": value जोड़े। उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }

runDuration

object ( Duration )

इस चरण को चलने में कितना समय लगा.

यदि सेट नहीं किया गया है, तो चरण पूर्ण स्थिति पर सेट होने पर इसे निर्माण समय और पूर्णता समय के बीच अंतर पर सेट किया जाता है। कुछ मामलों में, इस मान को अलग से सेट करना उचित है: उदाहरण के लिए, यदि कोई चरण बनाया गया है, लेकिन यह जिस ऑपरेशन का प्रतिनिधित्व करता है उसे निष्पादित होने से पहले कुछ मिनटों के लिए कतारबद्ध किया गया है, तो कतार में बिताए गए समय को इसमें शामिल नहीं करना उचित होगा runDuration.

यदि कोई ऐसे चरण पर रन अवधि सेट करने का प्रयास करता है जिसमें यह फ़ील्ड पहले से ही सेट है तो PRECONDITION_FAILED लौटाया जाएगा।

  • प्रत्युत्तर में: यदि पहले से निर्धारित है तो उपस्थित रहें; हमेशा पूर्ण चरण पर मौजूद रहें
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: वैकल्पिक
deviceUsageDuration

object ( Duration )

परीक्षण करने के लिए डिवाइस संसाधन का कितना उपयोग किया जाता है।

यह बिलिंग उद्देश्य के लिए उपयोग किया जाने वाला डिवाइस उपयोग है, जो रनड्यूरेशन से अलग है, उदाहरण के लिए, डिवाइस उपयोग के लिए बुनियादी ढांचे की विफलता का शुल्क नहीं लिया जाएगा।

यदि कोई डिवाइस_उपयोग को ऐसे चरण पर सेट करने का प्रयास करता है जिसमें यह फ़ील्ड पहले से ही सेट है तो PRECONDITION_FAILED लौटाया जाएगा।

  • प्रत्युत्तर में: यदि पहले से सेट है तो उपस्थित रहें।
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: वैकल्पिक
multiStep

object ( MultiStep )

विवरण जब एक समूह के समान कॉन्फ़िगरेशन के साथ एकाधिक चरण चलाए जाते हैं। इन विवरणों का उपयोग यह पहचानने के लिए किया जा सकता है कि यह चरण किस समूह का हिस्सा है। यह समूह के 'प्राथमिक चरण' की भी पहचान करता है जो समूह के सभी सदस्यों को अनुक्रमित करता है।

  • प्रत्युत्तर में: यदि पहले से सेट है तो उपस्थित रहें।
  • क्रिएट रिक्वेस्ट में: वैकल्पिक, सेट करें कि क्या यह चरण एक से अधिक बार निष्पादित किया गया था।
  • अद्यतन अनुरोध में: वैकल्पिक

संघ क्षेत्र step .

step निम्न में से केवल एक हो सकता है:

testExecutionStep

object ( TestExecutionStep )

एक परीक्षण धावक का निष्पादन.

toolExecutionStep

object ( ToolExecutionStep )

किसी टूल का निष्पादन (उन चरणों के लिए उपयोग किया जाता है जिनका हम स्पष्ट रूप से समर्थन नहीं करते हैं)।

परीक्षण निष्पादन चरण

एक कदम जो चल रहे परीक्षणों का प्रतिनिधित्व करता है।

यह ant-junit xml फ़ाइलों को स्वीकार करता है जिन्हें सेवा द्वारा संरचित परीक्षण परिणामों में पार्स किया जाएगा। अधिक फ़ाइलें जोड़ने के लिए Xml फ़ाइल पथ अद्यतन किए जाते हैं, हालाँकि उन्हें हटाया नहीं जा सकता।

उपयोगकर्ता test_result फ़ील्ड का उपयोग करके मैन्युअल रूप से भी परीक्षण परिणाम जोड़ सकते हैं।

JSON प्रतिनिधित्व
{
  "testSuiteOverviews": [
    {
      object (TestSuiteOverview)
    }
  ],
  "toolExecution": {
    object (ToolExecution)
  },
  "testIssues": [
    {
      object (TestIssue)
    }
  ],
  "testTiming": {
    object (TestTiming)
  }
}
खेत
testSuiteOverviews[]

object ( TestSuiteOverview )

परीक्षण सुइट अवलोकन सामग्री की सूची. इसे सर्वर द्वारा xUnit XML लॉग से पार्स किया जा सकता है, या सीधे उपयोगकर्ता द्वारा अपलोड किया जा सकता है। यह संदर्भ केवल तभी कॉल किया जाना चाहिए जब परीक्षण सूट पूरी तरह से पार्स या अपलोड किए गए हों।

प्रति चरण परीक्षण सूट अवलोकन की अधिकतम अनुमत संख्या 1000 है।

  • जवाब में: हमेशा सेट
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: कभी नहीं (इसके बजायpublishXunitXmlFiles कस्टम विधि का उपयोग करें)
toolExecution

object ( ToolExecution )

परीक्षण धावक के निष्पादन का प्रतिनिधित्व करता है.

इस टूल के एग्जिट कोड का उपयोग यह निर्धारित करने के लिए किया जाएगा कि परीक्षा उत्तीर्ण हुई या नहीं।

  • जवाब में: हमेशा सेट
  • निर्माण/अद्यतन अनुरोध में: वैकल्पिक
testIssues[]

object ( TestIssue )

परीक्षण निष्पादन के दौरान देखी गई समस्याएं.

उदाहरण के लिए, यदि परीक्षण के तहत मोबाइल ऐप परीक्षण के दौरान क्रैश हो जाता है, तो डिबगिंग में सहायता के लिए त्रुटि संदेश और स्टैक ट्रेस सामग्री को यहां रिकॉर्ड किया जा सकता है।

  • प्रतिक्रिया में: यदि क्रिएट या अपडेट द्वारा सेट किया गया है तो प्रस्तुत करें
  • निर्माण/अद्यतन अनुरोध में: वैकल्पिक
testTiming

object ( TestTiming )

परीक्षण निष्पादन का समय टूटना।

  • प्रतिक्रिया में: यदि क्रिएट या अपडेट द्वारा सेट किया गया है तो प्रस्तुत करें
  • निर्माण/अद्यतन अनुरोध में: वैकल्पिक

उपकरण निष्पादन

एक मनमाना उपकरण का निष्पादन. यह एक परीक्षण धावक या कलाकृतियों की प्रतिलिपि बनाने वाला या कोड तैनात करने वाला उपकरण हो सकता है।

JSON प्रतिनिधित्व
{
  "commandLineArguments": [
    string
  ],
  "toolLogs": [
    {
      object (FileReference)
    }
  ],
  "exitCode": {
    object (ToolExitCode)
  },
  "toolOutputs": [
    {
      object (ToolOutputReference)
    }
  ]
}
खेत
commandLineArguments[]

string

प्रोग्राम नाम सहित पूर्ण टोकनयुक्त कमांड लाइन (सी प्रोग्राम में argv के बराबर)।

  • प्रत्युत्तर में: यदि क्रिएट अनुरोध द्वारा सेट किया गया है तो प्रस्तुत करें
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: कभी सेट न करें
toolLogs[]

object ( FileReference )

किसी भी सादे पाठ लॉग का संदर्भ उपकरण निष्पादन को आउटपुट करता है।

टूल के चलने के दौरान लॉग के लाइव दृश्य तक पहुंच प्राप्त करने में सक्षम होने के लिए टूल के बाहर निकलने से पहले इस फ़ील्ड को सेट किया जा सकता है।

प्रति चरण टूल लॉग की अधिकतम अनुमत संख्या 1000 है।

  • प्रत्युत्तर में: यदि क्रिएट/अपडेट अनुरोध द्वारा सेट किया गया है तो प्रस्तुत करें
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: वैकल्पिक, प्रदान किया गया कोई भी मूल्य मौजूदा सूची में जोड़ा जाएगा
exitCode

object ( ToolExitCode )

उपकरण निष्पादन निकास कोड. टूल से बाहर निकलने के बाद यह फ़ील्ड सेट हो जाएगी।

  • प्रत्युत्तर में: यदि क्रिएट/अपडेट अनुरोध द्वारा सेट किया गया है तो प्रस्तुत करें
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: वैकल्पिक, यदि एक्ज़िटकोड पहले से सेट है तो एक FAILED_PRECONDITION त्रुटि लौटा दी जाएगी।
toolOutputs[]

object ( ToolOutputReference )

टूल निष्पादन द्वारा किसी भी प्रारूप आउटपुट की अपारदर्शी फ़ाइलों का संदर्भ।

प्रति चरण टूल आउटपुट की अधिकतम अनुमत संख्या 1000 है।

  • प्रत्युत्तर में: यदि क्रिएट/अपडेट अनुरोध द्वारा सेट किया गया है तो प्रस्तुत करें
  • अनुरोध बनाने में: वैकल्पिक
  • अद्यतन अनुरोध में: वैकल्पिक, प्रदान किया गया कोई भी मूल्य मौजूदा सूची में जोड़ा जाएगा

टूलएक्सिटकोड

टूल निष्पादन से कोड से बाहर निकलें।

JSON प्रतिनिधित्व
{
  "number": integer
}
खेत
number

integer

उपकरण निष्पादन निकास कोड. 0 के मान का अर्थ है कि निष्पादन सफल रहा।

  • जवाब में: हमेशा सेट
  • क्रिएट/अपडेट अनुरोध में: हमेशा सेट करें

टेस्टइश्यू

परीक्षण निष्पादन के दौरान एक समस्या उत्पन्न होने का पता चला।

JSON प्रतिनिधित्व
{
  "errorMessage": string,
  "stackTrace": {
    object (StackTrace)
  },
  "warning": {
    object (Any)
  },
  "severity": enum (Severity),
  "type": enum (Type),
  "category": enum (Category)
}
खेत
errorMessage

string

समस्या का वर्णन करने वाला एक संक्षिप्त मानव-पठनीय संदेश। आवश्यक।

stackTrace
(deprecated)

object ( StackTrace )

विशिष्ट चेतावनियों के अंदर स्टैक ट्रेस फ़ील्ड के पक्ष में बहिष्कृत।

warning

object ( Any )

समस्या के अतिरिक्त विवरण के साथ चेतावनी संदेश. हमेशा com.google.devtools.toolresults.v1.warnings से एक संदेश होना चाहिए

severity

enum ( Severity )

मुद्दे की गंभीरता. आवश्यक।

type

enum ( Type )

मुद्दे का प्रकार. आवश्यक।

category

enum ( Category )

मुद्दे की श्रेणी. आवश्यक।

कोई

Any में एक यूआरएल के साथ एक मनमाना क्रमबद्ध प्रोटोकॉल बफर संदेश होता है जो क्रमबद्ध संदेश के प्रकार का वर्णन करता है।

प्रोटोबफ़ लाइब्रेरी उपयोगिता कार्यों या किसी भी प्रकार के अतिरिक्त उत्पन्न तरीकों के रूप में किसी भी मूल्य को पैक/अनपैक करने के लिए सहायता प्रदान करती है।

उदाहरण 1: किसी संदेश को C++ में पैक और अनपैक करें।

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

उदाहरण 2: जावा में एक संदेश को पैक और अनपैक करें।

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

उदाहरण 3: पायथन में एक संदेश को पैक और अनपैक करें।

foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...

उदाहरण 4: गो में संदेश को पैक और अनपैक करें

 foo := &pb.Foo{...}
 any, err := ptypes.MarshalAny(foo)
 ...
 foo := &pb.Foo{}
 if err := ptypes.UnmarshalAny(any, foo); err != nil {
   ...
 }

प्रोटोबफ लाइब्रेरी द्वारा प्रदान की गई पैक विधियाँ डिफ़ॉल्ट रूप से प्रकार URL के रूप में 'type.googleapis.com/full.type.name' का उपयोग करेंगी और अनपैक विधियाँ प्रकार URL में अंतिम '/' के बाद केवल पूर्णतः योग्य प्रकार नाम का उपयोग करेंगी, उदाहरण के लिए "foo.bar.com/x/yz" प्रकार का नाम "yz" प्राप्त होगा।

JSON

Any मान का JSON प्रतिनिधित्व एक अतिरिक्त फ़ील्ड @type के साथ डीसेरिएलाइज़्ड, एम्बेडेड संदेश के नियमित प्रतिनिधित्व का उपयोग करता है जिसमें टाइप यूआरएल होता है। उदाहरण:

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 जोड़कर एम्बेड किया जाएगा जिसमें @type फ़ील्ड के अतिरिक्त कस्टम JSON होता है। उदाहरण (संदेश google.protobuf.Duration के लिए):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}
JSON प्रतिनिधित्व
{
  "typeUrl": string,
  "value": string
}
खेत
typeUrl

string

एक यूआरएल/संसाधन नाम जो विशिष्ट रूप से क्रमबद्ध प्रोटोकॉल बफर संदेश के प्रकार की पहचान करता है। इस स्ट्रिंग में कम से कम एक "/" अक्षर होना चाहिए। यूआरएल के पथ के अंतिम खंड को प्रकार के पूर्णतः योग्य नाम का प्रतिनिधित्व करना चाहिए (जैसा कि path/google.protobuf.Duration में)। नाम विहित रूप में होना चाहिए (उदाहरण के लिए, अग्रणी "।" स्वीकार नहीं किया जाता है)।

व्यवहार में, टीमें आम तौर पर उन सभी प्रकारों को बाइनरी में प्रीकंपाइल करती हैं जिनकी वे किसी भी संदर्भ में उपयोग करने की अपेक्षा करती हैं। हालाँकि, उन यूआरएल के लिए जो योजना http , https , या कोई योजना का उपयोग नहीं करते हैं, कोई वैकल्पिक रूप से एक प्रकार का सर्वर सेट कर सकता है जो निम्नानुसार संदेश परिभाषाओं के लिए प्रकार यूआरएल को मैप करता है:

  • यदि कोई योजना प्रदान नहीं की गई है, https मान लिया जाता है।
  • URL पर HTTP GET को बाइनरी प्रारूप में google.protobuf.Type मान उत्पन्न करना चाहिए, या एक त्रुटि उत्पन्न करनी चाहिए।
  • एप्लिकेशन को URL के आधार पर लुकअप परिणामों को कैश करने की अनुमति है, या किसी भी लुकअप से बचने के लिए उन्हें बाइनरी में पूर्व-संकलित किया गया है। इसलिए, प्रकारों में परिवर्तन पर बाइनरी संगतता को संरक्षित करने की आवश्यकता है। (ब्रेकिंग परिवर्तनों को प्रबंधित करने के लिए संस्करणबद्ध प्रकार के नामों का उपयोग करें।)

ध्यान दें: यह कार्यक्षमता वर्तमान में आधिकारिक प्रोटोबफ़ रिलीज़ में उपलब्ध नहीं है, और इसका उपयोग type.googleapis.com से शुरू होने वाले प्रकार के URL के लिए नहीं किया जाता है।

http , https (या खाली योजना) के अलावा अन्य योजनाओं का उपयोग कार्यान्वयन विशिष्ट शब्दार्थ के साथ किया जा सकता है।

value

string ( bytes format)

उपरोक्त निर्दिष्ट प्रकार का एक वैध क्रमबद्ध प्रोटोकॉल बफ़र होना चाहिए।

एक बेस64-एन्कोडेड स्ट्रिंग।

तीव्रता

मुद्दों की गंभीरता.

एनम्स
unspecifiedSeverity डिफ़ॉल्ट अनिर्दिष्ट गंभीरता. उपयोग नहीं करो। केवल संस्करणीकरण के लिए.
info गैर गंभीर समस्या, उपयोगकर्ताओं को परीक्षण चलाने के बारे में कुछ जानकारी प्रदान करना।
suggestion गैर-महत्वपूर्ण मुद्दा, उपयोगकर्ताओं को उनके परीक्षण अनुभव को बेहतर बनाने के लिए कुछ संकेत प्रदान करना, उदाहरण के लिए, गेम लूप्स का उपयोग करने का सुझाव देना।
warning संभावित रूप से गंभीर मुद्दा.
severe गंभीर समस्या।

प्रकार

मुद्दों के प्रकार.

एनम्स
unspecifiedType डिफ़ॉल्ट अनिर्दिष्ट प्रकार. उपयोग नहीं करो। केवल संस्करणीकरण के लिए.
fatalException मुद्दा एक घातक अपवाद है.
nativeCrash मुद्दा एक मूल दुर्घटना है.
anr समस्या एक ANR क्रैश है.
unusedRoboDirective समस्या एक अप्रयुक्त रोबो निर्देश है।
compatibleWithOrchestrator मुद्दा ऑर्केस्ट्रेटर का उपयोग करने का एक सुझाव है।
launcherActivityNotFound लॉन्चर गतिविधि ढूंढने में समस्या
startActivityNotFound किसी गतिविधि को शुरू करने के लिए उपयोगकर्ता द्वारा प्रदत्त इरादे को हल करने में समस्या
incompleteRoboScriptExecution रोबो स्क्रिप्ट पूरी तरह निष्पादित नहीं हुई थी.
completeRoboScriptExecution एक रोबो स्क्रिप्ट पूरी तरह और सफलतापूर्वक निष्पादित की गई।
failedToInstall एपीके इंस्टॉल करने में विफल रहा.
nonSdkApiUsageViolation ऐप ने एक गैर-एसडीके एपीआई तक पहुंच बनाई।
nonSdkApiUsageReport ऐप ने एक गैर-एसडीके एपीआई तक पहुंच बनाई (नई विस्तृत रिपोर्ट)
encounteredNonAndroidUiWidgetScreen रोबो क्रॉल को कम से कम एक स्क्रीन में ऐसे तत्वों का सामना करना पड़ा जो एंड्रॉइड यूआई विजेट नहीं हैं।
encounteredLoginScreen रोबो क्रॉल को कम से कम एक संभावित लॉगिन स्क्रीन का सामना करना पड़ा।
performedGoogleLogin रोबो ने Google के साथ साइन इन किया।
iosException iOS ऐप एक अपवाद के साथ क्रैश हो गया.
iosCrash iOS ऐप बिना किसी अपवाद के क्रैश हो गया (जैसे मारा गया)।
performedMonkeyActions रोबो क्रॉल में बंदरों की कुछ हरकतें करना शामिल था।
usedRoboDirective रोबो क्रॉल ने रोबो निर्देश का उपयोग किया।
usedRoboIgnoreDirective रोबो क्रॉल ने यूआई तत्व को अनदेखा करने के लिए रोबो निर्देश का उपयोग किया।
insufficientCoverage रोबो ने ऐप के कुछ संभावित महत्वपूर्ण हिस्सों को क्रॉल नहीं किया।
inAppPurchases रोबो क्रॉल में कुछ इन-ऐप खरीदारी शामिल थी।
crashDialogError परीक्षण निष्पादन के दौरान क्रैश संवाद का पता चला
uiElementsTooDeep यूआई तत्व की गहराई सीमा से अधिक है
blankScreen रोबो क्रॉल में खाली स्क्रीन पाई जाती है
overlappingUiElements रोबो क्रॉल में ओवरलैपिंग यूआई तत्व पाए जाते हैं
unityException एक अनकहा यूनिटी अपवाद का पता चला (ये ऐप्स क्रैश नहीं होते हैं)।
deviceOutOfMemory डिवाइस की मेमोरी ख़त्म होने का पता चला
logcatCollectionError लॉगकैट एकत्र करते समय समस्याओं का पता चला
detectedAppSplashScreen रोबो ने ऐप द्वारा प्रदान की गई स्प्लैश स्क्रीन (बनाम एंड्रॉइड ओएस स्प्लैश स्क्रीन) का पता लगाया।

वर्ग

मुद्दों की श्रेणियाँ.

एनम्स
unspecifiedCategory डिफ़ॉल्ट अनिर्दिष्ट श्रेणी. उपयोग नहीं करो। केवल संस्करणीकरण के लिए.
common समस्या किसी विशेष परीक्षण प्रकार (उदाहरण के लिए, एक मूल दुर्घटना) के लिए विशिष्ट नहीं है।
robo समस्या रोबो रन के लिए विशिष्ट है।

टेस्टटाइमिंग

चरणों को जानने के लिए परीक्षण का समय टूट जाता है।

JSON प्रतिनिधित्व
{
  "testProcessDuration": {
    object (Duration)
  }
}
खेत
testProcessDuration

object ( Duration )

परीक्षण प्रक्रिया को चलाने में कितना समय लगा.

  • प्रत्युत्तर में: यदि पहले से सेट है तो उपस्थित रहें।
  • निर्माण/अद्यतन अनुरोध में: वैकल्पिक

उपकरण निष्पादन चरण

बायनेरिज़ के लिए उपयोग किए जाने वाले जेनेरिक टूल चरण का हम स्पष्ट रूप से समर्थन नहीं करते हैं। उदाहरण के लिए: कलाकृतियों को एक स्थान से दूसरे स्थान पर कॉपी करने के लिए सीपी चलाना।

JSON प्रतिनिधित्व
{
  "toolExecution": {
    object (ToolExecution)
  }
}
खेत
toolExecution

object ( ToolExecution )

एक उपकरण निष्पादन.

  • प्रत्युत्तर में: यदि क्रिएट/अपडेट अनुरोध द्वारा सेट किया गया है तो प्रस्तुत करें
  • निर्माण/अद्यतन अनुरोध में: वैकल्पिक

बहु - चरण

विवरण जब एक समूह के समान कॉन्फ़िगरेशन के साथ एकाधिक चरण चलाए जाते हैं।

JSON प्रतिनिधित्व
{
  "primaryStepId": string,
  "multistepNumber": integer,
  "primaryStep": {
    object (PrimaryStep)
  }
}
खेत
primaryStepId

string

प्राथमिक (मूल) चरण की चरण आईडी, जो यह चरण हो सकता है।

multistepNumber

integer

प्रत्येक चरण के लिए अद्वितीय पूर्णांक दिया गया है। 0 (समावेशी) से लेकर चरणों की कुल संख्या (अनन्य) तक। प्राथमिक चरण 0 है.

primaryStep

object ( PrimaryStep )

यदि यह प्राथमिक (मूल) कदम है तो प्रस्तुत करें।

प्राथमिक चरण

एक समूह के रूप में चलाए गए कई चरणों की रोलअप परीक्षण स्थिति और प्रत्येक व्यक्तिगत चरण के परिणाम को संग्रहीत करता है।

JSON प्रतिनिधित्व
{
  "rollUp": enum (OutcomeSummary),
  "individualOutcome": [
    {
      object (IndividualOutcome)
    }
  ]
}
खेत
rollUp

enum ( OutcomeSummary )

एक समूह के समान कॉन्फ़िगरेशन के साथ चलाए गए एकाधिक चरणों की रोलअप परीक्षण स्थिति।

individualOutcome[]

object ( IndividualOutcome )

चरण आईडी और प्रत्येक व्यक्तिगत चरण का परिणाम।

व्यक्तिगत परिणाम

चरण आईडी और प्रत्येक व्यक्तिगत चरण का परिणाम जो समान कॉन्फ़िगरेशन वाले अन्य चरणों के साथ एक समूह के रूप में चलाया गया था।

JSON प्रतिनिधित्व
{
  "stepId": string,
  "outcomeSummary": enum (OutcomeSummary),
  "multistepNumber": integer,
  "runDuration": {
    object (Duration)
  }
}
खेत
stepId

string

outcomeSummary

enum ( OutcomeSummary )

multistepNumber

integer

प्रत्येक चरण के लिए अद्वितीय पूर्णांक दिया गया है। 0 (समावेशी) से लेकर चरणों की कुल संख्या (अनन्य) तक। प्राथमिक चरण 0 है.

runDuration

object ( Duration )

इस चरण को चलने में कितना समय लगा.

तरीकों

accessibilityClusters

किसी दिए गए चरण के लिए पहुंच-योग्यता क्लस्टरों को सूचीबद्ध करता है

निम्नलिखित में से कोई भी विहित त्रुटि कोड लौटा सकता है:

  • PERMISSION_DENIED - यदि उपयोगकर्ता प्रोजेक्ट पढ़ने के लिए अधिकृत नहीं है
  • INVALID_ARGUMENT - यदि अनुरोध विकृत है
  • FAILED_PRECONDITION - यदि अनुरोध में कोई तर्क अमान्य होता है; उदाहरण के लिए

create

एक कदम बनाता है.

get

एक कदम मिलता है.

getPerfMetricsSummary

एक PerfMetricsसारांश पुनर्प्राप्त करता है।

list

किसी दिए गए निष्पादन के चरणों को सूचीबद्ध करता है।

patch

आपूर्ति की गई आंशिक इकाई के साथ मौजूदा चरण को अद्यतन करता है।

publishXunitXmlFiles

किसी मौजूदा चरण में xml फ़ाइलें प्रकाशित करें।