REST Resource: projects.histories.executions

المصدر: التنفيذ

يمثل التنفيذ مجموعة من الخطوات. على سبيل المثال، يمكن أن يمثل: - اختبار جوال تم تنفيذه عبر مجموعة من تكوينات الجهاز - مهمة Jenkins مع خطوة بناء متبوعة بخطوة اختبار

الحد الأقصى لحجم رسالة التنفيذ هو 1 ميجابايت.

يمكن تحديث التنفيذ حتى يتم تعيين حالته على "مكتمل" وعند هذه النقطة يصبح غير قابل للتغيير.

تمثيل جيسون
{
  "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_PRECONDITION إذا تم ضبط الحالة على COMPLETE عدة مرات.

إذا تم تعيين الحالة على "كامل"، فسيتم تعيين جميع الخطوات الجارية في التنفيذ على "كاملة". إذا لم يتم تعيين نتيجة الخطوة، فسيتم تعيين النتيجة على غير حاسمة.

  • ردا على ذلك تعيين دائما
  • في طلب الإنشاء/التحديث: اختياري
creationTime

object ( Timestamp )

الوقت الذي تم فيه إنشاء التنفيذ.

سيتم تعيين هذه القيمة تلقائيًا عند استدعاء Executions.create .

  • ردا على ذلك: تعيين دائما
  • في طلب الإنشاء/التحديث: لم يتم التعيين مطلقًا
completionTime

object ( Timestamp )

الوقت الذي تحولت فيه حالة التنفيذ إلى "مكتمل".

سيتم تعيين هذه القيمة تلقائيًا عند انتقال الحالة إلى حالة الاكتمال.

  • ردًا على ذلك: قم بتعيين ما إذا كانت حالة التنفيذ مكتملة.
  • في طلب الإنشاء/التحديث: لم يتم التعيين مطلقًا
outcome

object ( Outcome )

صنف النتيجة، على سبيل المثال، إلى نجاح أو فشل

  • ردًا على ذلك: موجود إذا تم تعيينه بواسطة طلب الإنشاء/التحديث
  • في طلب الإنشاء/التحديث: اختياري
dimensionDefinitions[]

object ( MatrixDimensionDefinition )

قد تختلف الأبعاد التي قد تختلف بها الخطوات المختلفة في هذا التنفيذ. ويجب أن يظل هذا ثابتًا طوال مدة التنفيذ.

يتم إرجاع INVALID_ARGUMENT إذا تم تعيين هذا الحقل في طلب التحديث.

يتم إرجاع INVALID_ARGUMENT في حالة ظهور نفس الاسم في أكثر من Dimension_definition واحد.

يتم إرجاع INVALID_ARGUMENT إذا كان حجم القائمة أكبر من 100.

  • ردًا على ذلك: موجود إذا تم تعيينه بواسطة الإنشاء
  • في طلب الإنشاء: اختياري
  • في طلب التحديث: لم يتم تعيينه مطلقًا
specification

object ( Specification )

معلومات خفيفة حول طلب التنفيذ.

  • ردًا على ذلك: موجود إذا تم تعيينه بواسطة الإنشاء
  • في الإنشاء: اختياري
  • في التحديث: اختياري
testExecutionMatrixId

string

معرف مصفوفة TestExecution الذي يستخدمه TestExecutionService.

  • ردًا على ذلك: موجود إذا تم تعيينه بواسطة الإنشاء
  • في الإنشاء: اختياري
  • في التحديث: لم يتم ضبطه أبدًا

تعريف المصفوفة

هذا النوع لا يحتوي على حقول.

بُعد واحد لمصفوفة المسارات المختلفة للخطوة.

تخصيص

التفاصيل حول كيفية تشغيل التنفيذ.

تمثيل جيسون
{

  // 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 للجوال.

AndroidTest

مواصفات اختبار الهاتف المحمول بنظام Android.

تمثيل جيسون
{
  "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 )

اختبار أجهزة أندرويد.

androidRoboTest

object ( AndroidRoboTest )

اختبار الروبوت الروبوت.

androidTestLoop

object ( AndroidTestLoop )

حلقة اختبار أندرويد.

AndroidAppInfo

معلومات تطبيق أندرويد.

تمثيل جيسون
{
  "name": string,
  "packageName": string,
  "versionName": string,
  "versionCode": string
}
مجالات
name

string

اسم التطبيق. خياري

packageName

string

اسم حزمة التطبيق. مطلوب.

versionName

string

اسم إصدار التطبيق. خياري.

versionCode

string

رمز الإصدار الداخلي للتطبيق. خياري.

AndroidInstrumentationTest

اختبار لتطبيق Android يمكنه التحكم في مكون Android بشكل مستقل عن دورة حياته العادية.

راجع https://developer.android.com/training/testing/fundamentals لمزيد من المعلومات حول أنواع اختبارات Android.

تمثيل جيسون
{
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "useOrchestrator": boolean
}
مجالات
testPackageId

string

حزمة جافا للاختبار الذي سيتم تنفيذه. مطلوب

testRunnerClass

string

فئة InstrumentationTestRunner. مطلوب

testTargets[]

string

يجب أن يكون كل هدف مؤهلاً بالكامل باسم الحزمة أو اسم الفئة، بأحد التنسيقات التالية: - "package packageName" - "class packageName.class_name" - "class packageName.class_name#method_name"

إذا كان فارغا، سيتم تشغيل كافة الأهداف في الوحدة.

useOrchestrator

boolean

تشير العلامة إلى ما إذا كان سيتم استخدام Android Test Orchestrator لإجراء الاختبار أم لا.

androidRoboTest

اختبار لتطبيق Android يستكشف التطبيق على جهاز Android افتراضي أو فعلي، ويبحث عن الأسباب والأعطال أثناء حدوثه.

تمثيل جيسون
{
  "appInitialActivity": string,
  "bootstrapPackageId": string,
  "bootstrapRunnerClass": string,
  "maxDepth": integer,
  "maxSteps": integer
}
مجالات
appInitialActivity

string

النشاط الأولي الذي ينبغي استخدامه لبدء التطبيق. خياري

bootstrapPackageId

string

حزمة جافا للتمهيد. خياري

bootstrapRunnerClass

string

فئة العداء للتمهيد. خياري

maxDepth

integer

أقصى عمق لمكدس الاجتياز الذي يمكن لـ Robo استكشافه. خياري

maxSteps

integer

الحد الأقصى لعدد الخطوات/الإجراءات التي يمكن لـ Robo تنفيذها. الافتراضي ليس له حدود (0). خياري

AndroidTestLoop

هذا النوع لا يحتوي على حقول.

حلقات الاختبار هي اختبارات يمكن تشغيلها بواسطة التطبيق نفسه، لتحديد وقت التشغيل من خلال الاستماع إلى الهدف.

IosTest

مواصفات اختبار iOS للجوال

تمثيل جيسون
{
  "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 XCT.

iosTestLoop

object ( IosTestLoop )

حلقة اختبار iOS.

iosRoboTest

object ( IosRoboTest )

اختبار iOS Robo.

IosAppInfo

معلومات تطبيق iOS

تمثيل جيسون
{
  "name": string
}
مجالات
name

string

اسم التطبيق. مطلوب

IosXcTest

اختبار لتطبيق iOS يستخدم إطار عمل XCTest.

تمثيل جيسون
{
  "bundleId": string,
  "xcodeVersion": string
}
مجالات
bundleId

string

معرف حزمة التطبيق

xcodeVersion

string

إصدار Xcode الذي تم تشغيل الاختبار به.

IosTestLoop

اختبار حلقة اللعبة لتطبيق iOS.

تمثيل جيسون
{
  "bundleId": string
}
مجالات
bundleId

string

معرف حزمة التطبيق

IosRoboTest

هذا النوع لا يحتوي على حقول.

اختبار Robo لتطبيق iOS.

طُرق

create

يخلق التنفيذ.

get

يحصل على التنفيذ.

list

يسرد عمليات الإعدام لتاريخ معين.

patch

يقوم بتحديث التنفيذ الحالي بالكيان الجزئي المقدم.