REST Resource: projects.testMatrices

সম্পদ: টেস্টম্যাট্রিক্স

TestMatrix একটি পরীক্ষা সম্পর্কে সমস্ত বিবরণ ক্যাপচার করে। এতে পরিবেশ কনফিগারেশন, টেস্ট স্পেসিফিকেশন, টেস্ট এক্সিকিউশন এবং সামগ্রিক অবস্থা এবং ফলাফল রয়েছে।

JSON প্রতিনিধিত্ব
{
  "testMatrixId": string,
  "projectId": string,
  "clientInfo": {
    object (ClientInfo)
  },
  "testSpecification": {
    object (TestSpecification)
  },
  "environmentMatrix": {
    object (EnvironmentMatrix)
  },
  "testExecutions": [
    {
      object (TestExecution)
    }
  ],
  "resultStorage": {
    object (ResultStorage)
  },
  "state": enum (TestState),
  "timestamp": string,
  "invalidMatrixDetails": enum (InvalidMatrixDetails),
  "flakyTestAttempts": integer,
  "outcomeSummary": enum (OutcomeSummary),
  "failFast": boolean
}
ক্ষেত্র
testMatrixId

string

শুধুমাত্র আউটপুট। পরিষেবা দ্বারা সেট করা অনন্য আইডি।

projectId

string

ক্লাউড প্রজেক্ট যা টেস্ট ম্যাট্রিক্সের মালিক।

clientInfo

object ( ClientInfo )

ক্লায়েন্ট সম্পর্কে তথ্য যা পরীক্ষা শুরু করেছে।

testSpecification

object ( TestSpecification )

প্রয়োজন। কিভাবে পরীক্ষা চালাতে হয়।

environmentMatrix

object ( EnvironmentMatrix )

প্রয়োজন। যে ডিভাইসগুলিতে পরীক্ষাগুলি চালানো হচ্ছে।

testExecutions[]

object ( TestExecution )

শুধুমাত্র আউটপুট। পরিসেবা এই ম্যাট্রিক্সের জন্য তৈরি করা পরীক্ষার এক্সিকিউশনের তালিকা।

resultStorage

object ( ResultStorage )

প্রয়োজন। যেখানে ম্যাট্রিক্সের ফলাফল লেখা আছে।

state

enum ( TestState )

শুধুমাত্র আউটপুট। পরীক্ষার ম্যাট্রিক্সের বর্তমান অগ্রগতি নির্দেশ করে।

timestamp

string ( Timestamp format)

শুধুমাত্র আউটপুট। এই পরীক্ষার ম্যাট্রিক্স প্রাথমিকভাবে তৈরি করা হয়েছিল সময়।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

invalidMatrixDetails

enum ( InvalidMatrixDetails )

শুধুমাত্র আউটপুট। ম্যাট্রিক্স কেন অবৈধ বলে বিবেচিত হয় তা বর্ণনা করে। শুধুমাত্র অবৈধ অবস্থায় ম্যাট্রিক্সের জন্য উপযোগী।

flakyTestAttempts

integer

একটি টেস্ট এক্সিকিউশন কতবার পুনরায় চেষ্টা করা উচিত যদি এর এক বা একাধিক পরীক্ষার ক্ষেত্রে কোনো কারণে ব্যর্থ হয়। অনুমোদিত সর্বোচ্চ সংখ্যা 10টি।

ডিফল্ট হল 0, যা বোঝায় কোনো পুনঃরান নয়।

outcomeSummary

enum ( OutcomeSummary )

শুধুমাত্র আউটপুট। পরীক্ষার সামগ্রিক ফলাফল। পরীক্ষার ম্যাট্রিক্স অবস্থা শেষ হলে শুধুমাত্র সেট করুন।

failFast

boolean

সত্য হলে, ম্যাট্রিক্সে প্রতিটি এক্সিকিউশন/শার্ড চালানোর জন্য সর্বাধিক শুধুমাত্র একটি প্রচেষ্টা করা হবে। ফ্ল্যাকি পরীক্ষার প্রচেষ্টা প্রভাবিত হয় না।

সাধারণত, 2 বা তার বেশি প্রচেষ্টা করা হয় যদি একটি সম্ভাব্য অবকাঠামো সমস্যা সনাক্ত করা হয়।

এই বৈশিষ্ট্যটি লেটেন্সি সংবেদনশীল কাজের চাপের জন্য। কার্যকরী ব্যর্থতার ঘটনাগুলি ব্যর্থ-দ্রুত ম্যাট্রিক্সের জন্য উল্লেখযোগ্যভাবে বেশি হতে পারে এবং সেই প্রত্যাশার কারণে সমর্থন আরও সীমিত।

ক্লায়েন্ট ইনফো

ক্লায়েন্ট সম্পর্কে তথ্য যা পরীক্ষা শুরু করেছে।

JSON প্রতিনিধিত্ব
{
  "name": string,
  "clientInfoDetails": [
    {
      object (ClientInfoDetail)
    }
  ]
}
ক্ষেত্র
name

string

প্রয়োজন। ক্লায়েন্টের নাম, যেমন gcloud.

clientInfoDetails[]

object ( ClientInfoDetail )

ক্লায়েন্ট সম্পর্কে বিস্তারিত তথ্যের তালিকা।

ক্লায়েন্ট ইনফো ডিটেইল

ক্লায়েন্ট সম্পর্কে বিস্তারিত তথ্যের মূল-মূল্যের জোড়া যা পরীক্ষা শুরু করেছে। উদাহরণ: {'সংস্করণ', '1.0'}, {'রিলিজ ট্র্যাক', 'বিটা'}।

JSON প্রতিনিধিত্ব
{
  "key": string,
  "value": string
}
ক্ষেত্র
key

string

প্রয়োজন। ক্লায়েন্টের বিস্তারিত তথ্যের চাবিকাঠি।

value

string

প্রয়োজন। ক্লায়েন্টের বিস্তারিত তথ্যের মান।

টেস্ট স্পেসিফিকেশন

পরীক্ষা চালানোর একটি বিবরণ.

JSON প্রতিনিধিত্ব
{
  "testTimeout": string,
  "disableVideoRecording": boolean,
  "disablePerformanceMetrics": boolean,

  // Union field setup can be only one of the following:
  "testSetup": {
    object (TestSetup)
  },
  "iosTestSetup": {
    object (IosTestSetup)
  }
  // End of list of possible types for union field setup.

  // Union field test can be only one of the following:
  "androidInstrumentationTest": {
    object (AndroidInstrumentationTest)
  },
  "androidRoboTest": {
    object (AndroidRoboTest)
  },
  "androidTestLoop": {
    object (AndroidTestLoop)
  },
  "iosXcTest": {
    object (IosXcTest)
  },
  "iosTestLoop": {
    object (IosTestLoop)
  }
  // End of list of possible types for union field test.
}
ক্ষেত্র
testTimeout

string ( Duration format)

স্বয়ংক্রিয়ভাবে বাতিল হওয়ার আগে সর্বোচ্চ সময় একটি পরীক্ষা সম্পাদন চালানোর অনুমতি দেওয়া হয়। ডিফল্ট মান 5 মিনিট।

নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' s ' দিয়ে শেষ হয়৷ উদাহরণ: "3.5s"

disableVideoRecording

boolean

ভিডিও রেকর্ডিং অক্ষম করে। পরীক্ষার বিলম্ব কমাতে পারে।

disablePerformanceMetrics

boolean

কর্মক্ষমতা মেট্রিক্স রেকর্ডিং অক্ষম করে। পরীক্ষার বিলম্ব কমাতে পারে।

ইউনিয়ন ফিল্ড setup । পরীক্ষা সেটআপ প্রয়োজনীয়তা. setup নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
testSetup

object ( TestSetup )

অ্যান্ড্রয়েডের জন্য পরীক্ষা সেটআপ প্রয়োজনীয়তা যেমন ইনস্টল করার জন্য ফাইল, বুটস্ট্র্যাপ স্ক্রিপ্ট।

iosTestSetup

object ( IosTestSetup )

iOS এর জন্য সেটআপ প্রয়োজনীয়তা পরীক্ষা করুন।

ইউনিয়ন মাঠ test । প্রয়োজন। পরীক্ষা চালানোর ধরন। test নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
androidInstrumentationTest

object ( AndroidInstrumentationTest )

একটি অ্যান্ড্রয়েড ইন্সট্রুমেন্টেশন পরীক্ষা।

androidRoboTest

object ( AndroidRoboTest )

একটি অ্যান্ড্রয়েড রোবো পরীক্ষা।

androidTestLoop

object ( AndroidTestLoop )

একটি টেস্ট লুপ সহ একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন।

iosXcTest

object ( IosXcTest )

একটি iOS XCTest, একটি .xctestrun ফাইলের মাধ্যমে।

iosTestLoop

object ( IosTestLoop )

একটি পরীক্ষা লুপ সহ একটি iOS অ্যাপ্লিকেশন।

টেস্টসেটআপ

পরীক্ষা চালানোর আগে কীভাবে Android ডিভাইস সেট আপ করবেন তার একটি বিবরণ।

JSON প্রতিনিধিত্ব
{
  "filesToPush": [
    {
      object (DeviceFile)
    }
  ],
  "directoriesToPull": [
    string
  ],
  "additionalApks": [
    {
      object (Apk)
    }
  ],
  "account": {
    object (Account)
  },
  "networkProfile": string,
  "environmentVariables": [
    {
      object (EnvironmentVariable)
    }
  ],
  "systrace": {
    object (SystraceSetup)
  },
  "dontAutograntPermissions": boolean
}
ক্ষেত্র
filesToPush[]

object ( DeviceFile )

পরীক্ষা শুরু করার আগে ডিভাইসে পুশ করার জন্য ফাইলগুলির তালিকা৷

directoriesToPull[]

string

পরীক্ষা শেষে GCS-এ আপলোড করার জন্য ডিভাইসে থাকা ডিরেক্টরিগুলির তালিকা; সেগুলি অবশ্যই /sdcard, /storage বা /data/local/tmp এর অধীনে পরম পাথ হতে হবে। পথের নামগুলি AZ AZ 0-9 _ - অক্ষরের মধ্যে সীমাবদ্ধ। + এবং /

দ্রষ্টব্য: পাথ /sdcard এবং /data উপলব্ধ করা হবে এবং অন্তর্নিহিত পাথ প্রতিস্থাপন হিসাবে গণ্য করা হবে। উদাহরণস্বরূপ, যদি একটি নির্দিষ্ট ডিভাইসে /sdcard বাহ্যিক সঞ্চয়স্থানে ম্যাপ না করে, তবে সিস্টেমটি সেই ডিভাইসের জন্য বহিরাগত স্টোরেজ পাথ উপসর্গ দিয়ে প্রতিস্থাপন করবে।

additionalApks[]

object ( Apk )

সরাসরি পরীক্ষিত এপিকে ছাড়াও ইনস্টল করার জন্য। বর্তমানে 100 এ সীমাবদ্ধ।

account

object ( Account )

ডিভাইসটি পরীক্ষার সময়কালের জন্য এই অ্যাকাউন্টে লগ ইন করা হবে।

networkProfile

string

পরীক্ষা চালানোর জন্য ব্যবহৃত নেটওয়ার্ক ট্রাফিক প্রোফাইল। TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog এ কল করার সময় উপলব্ধ নেটওয়ার্ক প্রোফাইলগুলি NETWORK_CONFIGURATION পরিবেশের ধরন ব্যবহার করে জিজ্ঞাসা করা যেতে পারে৷

environmentVariables[]

object ( EnvironmentVariable )

পরীক্ষার জন্য সেট করার জন্য পরিবেশের ভেরিয়েবল (শুধুমাত্র ইন্সট্রুমেন্টেশন পরীক্ষার জন্য প্রযোজ্য)।

systrace
(deprecated)

object ( SystraceSetup )

রানের জন্য সিস্ট্রেস কনফিগারেশন। বাতিল করা হয়েছে: সিস্ট্রেস Python 2 ব্যবহার করেছে যা 2020-01-01 তারিখে সূর্যাস্ত হয়েছিল। ক্লাউড টেস্টিং API-এ Systrace আর সমর্থিত নয় এবং ফলাফলে কোনো Systrace ফাইল দেওয়া হবে না।

dontAutograntPermissions

boolean

অ্যাপ্লিকেশান ইন্সটল করার সময় সমস্ত রানটাইম অনুমতিগুলিকে আটকাতে হবে কিনা৷

ডিভাইস ফাইল

একটি একক ডিভাইস ফাইলের বিবরণ।

JSON প্রতিনিধিত্ব
{

  // Union field device_file can be only one of the following:
  "obbFile": {
    object (ObbFile)
  },
  "regularFile": {
    object (RegularFile)
  }
  // End of list of possible types for union field device_file.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড device_file । প্রয়োজন। device_file নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
obbFile

object ( ObbFile )

একটি অস্বচ্ছ বাইনারি ব্লব ফাইলের একটি রেফারেন্স।

regularFile

object ( RegularFile )

একটি নিয়মিত ফাইলের একটি রেফারেন্স।

ObbFile

পরীক্ষা শুরু হওয়ার আগে ডিভাইসে ইনস্টল করার জন্য একটি অস্বচ্ছ বাইনারি ব্লব ফাইল।

JSON প্রতিনিধিত্ব
{
  "obbFileName": string,
  "obb": {
    object (FileReference)
  }
}
ক্ষেত্র
obbFileName

string

প্রয়োজন। OBB ফাইলের নাম যা অবশ্যই Android দ্বারা নির্দিষ্ট করা ফর্ম্যাটের সাথে সঙ্গতিপূর্ণ হতে হবে যেমন [main|patch].0300110.com.example.android.obb যা <shared-storage>/Android/obb/<package-name>/ এ ইনস্টল করা হবে ডিভাইসে

obb

object ( FileReference )

প্রয়োজন। ডিভাইসে ইনস্টল করার জন্য অস্বচ্ছ বাইনারি ব্লব (OBB) ফাইল(গুলি)৷

ফাইলের রেফারেন্স

ব্যবহারকারীর ইনপুটগুলির জন্য ব্যবহৃত একটি ফাইলের একটি রেফারেন্স।

JSON প্রতিনিধিত্ব
{

  // Union field file can be only one of the following:
  "gcsPath": string
  // End of list of possible types for union field file.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড file । প্রয়োজন। ফাইলের রেফারেন্স। file নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
gcsPath

string

Google ক্লাউড স্টোরেজের একটি ফাইলের পথ। উদাহরণ: gs://build-app-1414623860166/app%40debug-unaligned.apk এই পাথগুলি ইউআরএল এনকোড করা হবে বলে আশা করা হচ্ছে (শতাংশ এনকোডিং)

নিয়মিত ফাইল

পরীক্ষা শুরু হওয়ার আগে ডিভাইসে ইনস্টল করার জন্য একটি ফাইল বা ডিরেক্টরি।

JSON প্রতিনিধিত্ব
{
  "content": {
    object (FileReference)
  },
  "devicePath": string
}
ক্ষেত্র
content

object ( FileReference )

প্রয়োজন। উৎস ফাইল।

devicePath

string

প্রয়োজন। ডিভাইসে কন্টেন্ট কোথায় রাখবেন। একটি সম্পূর্ণ, অনুমোদিত পথ হতে হবে। ফাইলটি বিদ্যমান থাকলে, এটি প্রতিস্থাপন করা হবে। নিম্নলিখিত ডিভাইস-সাইড ডিরেক্টরি এবং তাদের যেকোনো সাব-ডিরেক্টরি অনুমোদিত তালিকাভুক্ত:

${EXTERNAL_STORAGE}, /sdcard, অথবা /storage

${ANDROID_DATA}/local/tmp, অথবা /data/local/tmp

এই ডিরেক্টরি গাছের বাইরে একটি পথ নির্দিষ্ট করা অবৈধ।

পাথ /sdcard এবং /data উপলব্ধ করা হবে এবং অন্তর্নিহিত পাথ প্রতিস্থাপন হিসাবে গণ্য করা হবে। উদাহরণস্বরূপ যদি একটি নির্দিষ্ট ডিভাইসে /sdcard বাহ্যিক সঞ্চয়স্থানে ম্যাপ না করে, তবে সিস্টেমটি সেই ডিভাইসের জন্য বহিরাগত স্টোরেজ পাথ উপসর্গ দিয়ে প্রতিস্থাপন করবে এবং সেখানে ফাইলটি অনুলিপি করবে।

পোর্টেবল উপায়ে ডিভাইসে ফাইল অ্যাক্সেস করার জন্য অ্যাপে এনভায়রনমেন্ট এপিআই এবং টেস্ট কোড ব্যবহার করার পরামর্শ দেওয়া হচ্ছে।

Apk

ইনস্টল করার জন্য একটি অ্যান্ড্রয়েড প্যাকেজ ফাইল।

JSON প্রতিনিধিত্ব
{
  "location": {
    object (FileReference)
  },
  "packageName": string
}
ক্ষেত্র
location

object ( FileReference )

পরীক্ষা শুরু হওয়ার আগে ডিভাইসে ইনস্টল করা APK-এর পথ।

packageName

string

APK ইনস্টল করার জন্য java প্যাকেজ। আবেদনের ম্যানিফেস্ট পরীক্ষা করে মূল্য নির্ধারণ করা হয়।

হিসাব

একটি অ্যাকাউন্ট শনাক্ত করে এবং কীভাবে এতে লগ ইন করতে হয়।

JSON প্রতিনিধিত্ব
{

  // Union field account_type can be only one of the following:
  "googleAuto": {
    object (GoogleAuto)
  }
  // End of list of possible types for union field account_type.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড account_type । প্রয়োজন। অ্যাকাউন্টের ধরন, এটি কিসের জন্য (যেমন Google) এবং এর লগইন প্রক্রিয়া কী (যেমন ব্যবহারকারীর নাম এবং পাসওয়ার্ড) এর উপর ভিত্তি করে। account_type নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
googleAuto

object ( GoogleAuto )

একটি স্বয়ংক্রিয় গুগল লগইন অ্যাকাউন্ট।

GoogleAuto

স্বয়ংক্রিয় Google অ্যাকাউন্ট লগইন সক্ষম করে। সেট করা থাকলে, পরিষেবাটি স্বয়ংক্রিয়ভাবে একটি Google পরীক্ষা অ্যাকাউন্ট তৈরি করে এবং পরীক্ষাটি চালানোর আগে এটি ডিভাইসে যোগ করে। নোট করুন যে পরীক্ষার অ্যাকাউন্টগুলি পুনরায় ব্যবহার করা যেতে পারে। ডিভাইসে একটি অ্যাকাউন্ট উপস্থিত থাকলে অনেক অ্যাপ্লিকেশন তাদের কার্যকারিতার সম্পূর্ণ সেট দেখায়। এই তৈরি করা অ্যাকাউন্টগুলির সাথে ডিভাইসে লগ ইন করা আরও কার্যকারিতা পরীক্ষা করার অনুমতি দেয়৷

পরিবেশ সূচক

একটি মূল-মান জোড়া পরীক্ষায় পরিবেশ পরিবর্তনশীল হিসাবে পাস করেছে।

JSON প্রতিনিধিত্ব
{
  "key": string,
  "value": string
}
ক্ষেত্র
key

string

পরিবেশ পরিবর্তনশীল জন্য কী.

value

string

পরিবেশ পরিবর্তনশীল জন্য মান.

সিস্ট্রেস সেটআপ

JSON প্রতিনিধিত্ব
{
  "durationSeconds": integer
}
ক্ষেত্র
durationSeconds
(deprecated)

integer

সেকেন্ডে Systrace সময়কাল। 1 থেকে 30 সেকেন্ডের মধ্যে হওয়া উচিত। 0 সিস্ট্রেস নিষ্ক্রিয় করে।

IosTestSetup

পরীক্ষা চালানোর আগে কীভাবে একটি iOS ডিভাইস সেট আপ করবেন তার একটি বিবরণ।

JSON প্রতিনিধিত্ব
{
  "networkProfile": string,
  "additionalIpas": [
    {
      object (FileReference)
    }
  ],
  "pushFiles": [
    {
      object (IosDeviceFile)
    }
  ],
  "pullDirectories": [
    {
      object (IosDeviceFile)
    }
  ]
}
ক্ষেত্র
networkProfile

string

পরীক্ষা চালানোর জন্য ব্যবহৃত নেটওয়ার্ক ট্রাফিক প্রোফাইল। TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog এ কল করার সময় উপলব্ধ নেটওয়ার্ক প্রোফাইলগুলি NETWORK_CONFIGURATION পরিবেশের ধরন ব্যবহার করে জিজ্ঞাসা করা যেতে পারে৷

additionalIpas[]

object ( FileReference )

iOS অ্যাপগুলি ইনস্টল করার জন্য যা সরাসরি পরীক্ষা করা হচ্ছে।

pushFiles[]

object ( IosDeviceFile )

পরীক্ষা শুরু করার আগে ডিভাইসে পুশ করার জন্য ফাইলগুলির তালিকা৷

pullDirectories[]

object ( IosDeviceFile )

পরীক্ষা শেষে ক্লাউড স্টোরেজে আপলোড করার জন্য ডিভাইসে থাকা ডিরেক্টরিগুলির তালিকা৷

ডিরেক্টরিগুলি হয় শেয়ার করা ডিরেক্টরিতে (যেমন /private/var/mobile/Media) বা বান্ডেল আইডি নির্দিষ্ট করে অ্যাপের ফাইল সিস্টেমের (যেমন /ডকুমেন্টস) ভিতরে একটি অ্যাক্সেসযোগ্য ডিরেক্টরির মধ্যে থাকা উচিত।

আইওএসডিভাইসফাইল

পরীক্ষা শুরু হওয়ার আগে ডিভাইসে ইনস্টল করার জন্য একটি ফাইল বা ডিরেক্টরি।

JSON প্রতিনিধিত্ব
{
  "content": {
    object (FileReference)
  },
  "bundleId": string,
  "devicePath": string
}
ক্ষেত্র
content

object ( FileReference )

উৎস ফাইল

bundleId

string

অ্যাপের বান্ডেল আইডি যেখানে এই ফাইলটি থাকে।

iOS অ্যাপ্লিকেশানগুলি তাদের নিজস্ব ফাইল সিস্টেম স্যান্ডবক্স করে, তাই অ্যাপ ফাইলগুলিকে অবশ্যই নির্দিষ্ট করতে হবে যে ডিভাইসে কোন অ্যাপ ইনস্টল করা আছে৷

devicePath

string

অ্যাপের স্যান্ডবক্স করা ফাইল সিস্টেমের ভিতরে ডিভাইসে ফাইলের অবস্থান

অ্যান্ড্রয়েড ইন্সট্রুমেন্টেশন টেস্ট

একটি Android অ্যাপ্লিকেশনের একটি পরীক্ষা যা একটি Android উপাদানকে তার স্বাভাবিক জীবনচক্র থেকে স্বাধীনভাবে নিয়ন্ত্রণ করতে পারে। অ্যান্ড্রয়েড ইন্সট্রুমেন্টেশন পরীক্ষাগুলি একটি অ্যাপ্লিকেশন APK চালায় এবং একটি ভার্চুয়াল বা শারীরিক AndroidDevice-এ একই প্রক্রিয়ার মধ্যে APK পরীক্ষা করে। তারা একটি টেস্ট রানার ক্লাসও নির্দিষ্ট করে, যেমন com.google.GoogleTestRunner, যা নির্বাচিত নির্দিষ্ট ইন্সট্রুমেন্টেশন ফ্রেমওয়ার্কের উপর পরিবর্তিত হতে পারে।

অ্যান্ড্রয়েড টেস্টের ধরন সম্পর্কে আরও তথ্যের জন্য https://developer.android.com/training/testing/fundamentals দেখুন।

JSON প্রতিনিধিত্ব
{
  "testApk": {
    object (FileReference)
  },
  "appPackageId": string,
  "testPackageId": string,
  "testRunnerClass": string,
  "testTargets": [
    string
  ],
  "orchestratorOption": enum (OrchestratorOption),
  "shardingOption": {
    object (ShardingOption)
  },

  // Union field app_under_test can be only one of the following:
  "appApk": {
    object (FileReference)
  },
  "appBundle": {
    object (AppBundle)
  }
  // End of list of possible types for union field app_under_test.
}
ক্ষেত্র
testApk

object ( FileReference )

প্রয়োজন। পরীক্ষার কোড সম্বলিত APK কার্যকর করা হবে।

appPackageId

string

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য জাভা প্যাকেজ। অ্যাপ্লিকেশনের ম্যানিফেস্ট পরীক্ষা করে ডিফল্ট মান নির্ধারণ করা হয়।

testPackageId

string

পরীক্ষা চালানোর জন্য জাভা প্যাকেজ। অ্যাপ্লিকেশনের ম্যানিফেস্ট পরীক্ষা করে ডিফল্ট মান নির্ধারণ করা হয়।

testRunnerClass

string

ইনস্ট্রুমেন্টেশন টেস্টরানার ক্লাস। অ্যাপ্লিকেশনের ম্যানিফেস্ট পরীক্ষা করে ডিফল্ট মান নির্ধারণ করা হয়।

testTargets[]

string

প্রতিটি লক্ষ্যকে অবশ্যই প্যাকেজের নাম বা শ্রেণির নামের সাথে সম্পূর্ণরূপে যোগ্য হতে হবে, এই বিন্যাসের একটিতে:

  • "প্যাকেজ প্যাকেজের নাম"
  • "class packageName.class_name"
  • "class packageName.class_name#method_name"

খালি থাকলে, মডিউলের সমস্ত লক্ষ্যগুলি চালানো হবে।

orchestratorOption

enum ( OrchestratorOption )

অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটরের সাথে যন্ত্রের নিজস্ব আহ্বানের মধ্যে প্রতিটি পরীক্ষা চালানোর বিকল্প। ** অর্কেস্ট্রেটর শুধুমাত্র AndroidJUnitRunner 1.1 বা উচ্চতর সংস্করণের সাথে সামঞ্জস্যপূর্ণ! ** অর্কেস্ট্রেটর নিম্নলিখিত সুবিধাগুলি অফার করে:

  • কোন ভাগ করা রাষ্ট্র
  • ক্র্যাশগুলি বিচ্ছিন্ন
  • লগ পরীক্ষা প্রতি স্কোপ করা হয়

Android টেস্ট অর্কেস্ট্রেটর সম্পর্কে আরও তথ্যের জন্য https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator দেখুন৷

যদি সেট না করা হয়, তবে অর্কেস্ট্রেটর ছাড়াই পরীক্ষা চালানো হবে।

shardingOption

object ( ShardingOption )

সমান্তরালভাবে একাধিক শার্ডে পরীক্ষা চালানোর বিকল্প।

ইউনিয়ন ফিল্ড app_under_test । প্রয়োজন। app_under_test নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
appApk

object ( FileReference )

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য APK।

appBundle

object ( AppBundle )

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য একটি মাল্টি-এপিকে অ্যাপ বান্ডিল।

অ্যাপবান্ডেল

একটি Android App Bundle ফাইল বিন্যাস, যাতে একটি BundleConfig.pb ফাইল, একটি বেস মডিউল ডিরেক্টরি, শূন্য বা আরও গতিশীল বৈশিষ্ট্য মডিউল ডিরেক্টরি রয়েছে৷

অ্যাপ বান্ডেল তৈরির বিষয়ে নির্দেশনার জন্য https://developer.android.com/guide/app-bundle/build দেখুন।

JSON প্রতিনিধিত্ব
{

  // Union field bundle can be only one of the following:
  "bundleLocation": {
    object (FileReference)
  }
  // End of list of possible types for union field bundle.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড bundle । প্রয়োজন। বান্ডিল অবস্থান তথ্য. bundle নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
bundleLocation

object ( FileReference )

.aab ফাইল পরীক্ষার অধীনে অ্যাপ বান্ডেল প্রতিনিধিত্ব করে।

অর্কেস্ট্রেটর বিকল্প

কিভাবে পরীক্ষা চালানো যায় তা উল্লেখ করে।

Enums
ORCHESTRATOR_OPTION_UNSPECIFIED ডিফল্ট মান: সার্ভার মোড নির্বাচন করবে। বর্তমানে পরীক্ষাটি অর্কেস্ট্রেটর ছাড়াই চলবে। ভবিষ্যতে, সমস্ত ইন্সট্রুমেন্টেশন পরীক্ষা অর্কেস্ট্রেটরের সাথে চালানো হবে। অর্কেস্ট্রেটর ব্যবহার করা অত্যন্ত উত্সাহিত হয় কারণ এটি অফার করে এমন সমস্ত সুবিধার জন্য৷
USE_ORCHESTRATOR অর্কেস্ট্রেটর ব্যবহার করে পরীক্ষা চালান। ** শুধুমাত্র AndroidJUnitRunner 1.1 বা উচ্চতর সংস্করণের সাথে সামঞ্জস্যপূর্ণ! ** প্রস্তাবিত.
DO_NOT_USE_ORCHESTRATOR অর্কেস্ট্রেটর ব্যবহার না করে পরীক্ষা চালান।

Sharding অপশন

শর্ডিং সক্ষম করার জন্য বিকল্প।

JSON প্রতিনিধিত্ব
{

  // Union field option can be only one of the following:
  "uniformSharding": {
    object (UniformSharding)
  },
  "manualSharding": {
    object (ManualSharding)
  },
  "smartSharding": {
    object (SmartSharding)
  }
  // End of list of possible types for union field option.
}
ক্ষেত্র

ইউনিয়ন ক্ষেত্রের option

option নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

uniformSharding

object ( UniformSharding )

মোট শার্ড সংখ্যা দেওয়া অভিন্নভাবে শার্ড পরীক্ষার কেস।

manualSharding

object ( ManualSharding )

প্যাকেজ, ক্লাস, এবং/অথবা পদ্ধতির নির্দিষ্ট গোষ্ঠীতে শার্ডগুলি পরীক্ষা করে।

smartSharding

object ( SmartSharding )

আগের টেস্ট কেস টাইমিং রেকর্ডের উপর ভিত্তি করে Shards পরীক্ষা।

ইউনিফর্মশার্ডিং

মোট শার্ড সংখ্যা দেওয়া অভিন্নভাবে শার্ড পরীক্ষার কেস।

ইন্সট্রুমেন্টেশন পরীক্ষার জন্য, এটি "-e numShard" এবং "-e shardIndex" AndroidJUnitRunner আর্গুমেন্টে অনুবাদ করা হবে। ইউনিফর্ম শার্ডিং সক্ষম করার সাথে, environmentVariables মাধ্যমে এই শার্ডিং আর্গুমেন্টগুলির যে কোনো একটি নির্দিষ্ট করা অবৈধ।

AndroidJUnitRunner যে শার্ডিং মেকানিজম ব্যবহার করে তার উপর ভিত্তি করে, পরীক্ষার কেসগুলি সমস্ত শার্ডগুলিতে সমানভাবে বিতরণ করা হবে এমন কোনও গ্যারান্টি নেই৷

JSON প্রতিনিধিত্ব
{
  "numShards": integer
}
ক্ষেত্র
numShards

integer

প্রয়োজন। মোট কতগুলি শার্ড তৈরি করতে হবে৷ এটি অবশ্যই সর্বদা একটি ধনাত্মক সংখ্যা হতে হবে যা পরীক্ষার ক্ষেত্রে মোট সংখ্যার চেয়ে বেশি নয়। আপনি যখন এক বা একাধিক ভৌত ডিভাইস নির্বাচন করেন, তখন শার্ডের সংখ্যা অবশ্যই <= 50 হতে হবে। যখন আপনি এক বা একাধিক ARM ভার্চুয়াল ডিভাইস নির্বাচন করেন, তখন এটি অবশ্যই <= 200 হবে। যখন আপনি শুধুমাত্র x86 ভার্চুয়াল ডিভাইস নির্বাচন করেন, তখন তা অবশ্যই <= 500 হতে হবে। .

ম্যানুয়াল শার্ডিং

প্যাকেজ, ক্লাস, এবং/অথবা পদ্ধতির নির্দিষ্ট গোষ্ঠীতে শার্ডগুলি পরীক্ষা করে।

ম্যানুয়াল শার্ডিং সক্ষম করে, এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে বা ইনস্ট্রুমেন্টেশন টেস্টে পরীক্ষার লক্ষ্য নির্দিষ্ট করা অবৈধ।

JSON প্রতিনিধিত্ব
{
  "testTargetsForShard": [
    {
      object (TestTargetsForShard)
    }
  ]
}
ক্ষেত্র
testTargetsForShard[]

object ( TestTargetsForShard )

প্রয়োজন। প্যাকেজ গ্রুপ, ক্লাস, এবং/অথবা পরীক্ষা পদ্ধতি প্রতিটি ম্যানুয়ালি তৈরি শার্ডের জন্য চালানো হবে। এই ক্ষেত্রটি উপস্থিত থাকলে আপনাকে অবশ্যই কমপক্ষে একটি শার্ড নির্দিষ্ট করতে হবে৷ আপনি যখন এক বা একাধিক ফিজিক্যাল ডিভাইস নির্বাচন করেন, বারবার টেস্ট টার্গেটসফরশার্ডের সংখ্যা অবশ্যই <= 50 হতে হবে। যখন আপনি এক বা একাধিক ARM ভার্চুয়াল ডিভাইস নির্বাচন করেন, তখন এটি অবশ্যই <= 200 হতে হবে। যখন আপনি শুধুমাত্র x86 ভার্চুয়াল ডিভাইস নির্বাচন করেন, তখন এটি অবশ্যই <= হতে হবে। 500।

TestTargetsForShard

একটি শার্ড জন্য পরীক্ষা লক্ষ্যবস্তু.

JSON প্রতিনিধিত্ব
{
  "testTargets": [
    string
  ]
}
ক্ষেত্র
testTargets[]

string

প্যাকেজ গ্রুপ, ক্লাস, এবং/অথবা পরীক্ষা পদ্ধতি প্রতিটি শার্ডের জন্য চালানো হবে। লক্ষ্যগুলিকে AndroidJUnitRunner আর্গুমেন্ট ফরম্যাটে উল্লেখ করতে হবে। উদাহরণস্বরূপ, "প্যাকেজ com.my.packages" "class com.my.package.MyClass"।

টেস্ট টার্গেটের সংখ্যা অবশ্যই 0-এর বেশি হতে হবে।

স্মার্টশার্ডিং

আগের টেস্ট কেস টাইমিং রেকর্ডের উপর ভিত্তি করে Shards পরীক্ষা।

JSON প্রতিনিধিত্ব
{
  "targetedShardDuration": string
}
ক্ষেত্র
targetedShardDuration

string ( Duration format)

একটি শার্ডের মধ্যে পরীক্ষার সময় পরিমাণ নিতে হবে।

ডিফল্ট: 300 সেকেন্ড (5 মিনিট)। সর্বনিম্ন অনুমোদিত: 120 সেকেন্ড (2 মিনিট)।

শার্ড গণনা গতিশীলভাবে সময়ের উপর ভিত্তি করে সেট করা হয়, সর্বোচ্চ শার্ড সীমা পর্যন্ত (নীচে বর্ণিত)। প্রতিটি শার্ডের জন্য অন্তত একটি টেস্ট কেস গ্যারান্টি দিতে, শার্ডের সংখ্যা টেস্ট কেসের সংখ্যার বেশি হবে না। শার্ড সময়কাল অতিক্রম করা হবে যদি:

  • শার্ডের সর্বোচ্চ সীমা পৌঁছে গেছে এবং শার্ডে বরাদ্দ করার জন্য আরও গণনা করা পরীক্ষার সময় বাকি আছে।
  • যে কোনো স্বতন্ত্র পরীক্ষা লক্ষ্যযুক্ত শার্ড সময়কালের চেয়ে দীর্ঘ বলে অনুমান করা হয়।

শার্ডের সময়কাল নিশ্চিত নয় কারণ স্মার্ট শার্ডিং পরীক্ষার কেস ইতিহাস এবং ডিফল্ট সময়কাল ব্যবহার করে যা সঠিক নাও হতে পারে। টেস্ট কেস টাইমিং রেকর্ড খোঁজার নিয়ম হল:

  • যদি পরিষেবাটি গত 30 দিনের মধ্যে একটি টেস্ট কেস প্রক্রিয়া করে থাকে, তবে সর্বশেষ সফল টেস্ট কেসের রেকর্ড ব্যবহার করা হবে।
  • নতুন পরীক্ষার ক্ষেত্রে, অন্যান্য পরিচিত পরীক্ষার ক্ষেত্রে গড় সময়কাল ব্যবহার করা হবে।
  • যদি পূর্ববর্তী কোনো টেস্ট কেস টাইমিং রেকর্ড উপলব্ধ না থাকে, ডিফল্ট টেস্ট কেস সময়কাল 15 সেকেন্ড।

যেহেতু প্রকৃত শার্ড সময়কাল লক্ষ্যযুক্ত শার্ড সময়কাল অতিক্রম করতে পারে, তাই আমরা সুপারিশ করি যে আপনি সর্বোচ্চ অনুমোদিত পরীক্ষার সময়সীমার (ভৌত ডিভাইসের জন্য 45 মিনিট এবং ভার্চুয়ালের জন্য 60 মিনিট) থেকে কমপক্ষে 5 মিনিট কম লক্ষ্যযুক্ত মান সেট করুন বা আপনি কাস্টম ব্যবহার করুন৷ পরীক্ষার সময়সীমার মান যা আপনি সেট করেছেন। সমস্ত পরীক্ষা শেষ হওয়ার আগে এই পদ্ধতিটি শার্ড বাতিল করা এড়ায়।

উল্লেখ্য যে সর্বোচ্চ সংখ্যক শার্ডের একটি সীমা রয়েছে। আপনি যখন এক বা একাধিক ভৌত ডিভাইস নির্বাচন করেন, তখন শার্ডের সংখ্যা অবশ্যই <= 50 হতে হবে। যখন আপনি এক বা একাধিক ARM ভার্চুয়াল ডিভাইস নির্বাচন করেন, তখন এটি অবশ্যই <= 200 হবে। যখন আপনি শুধুমাত্র x86 ভার্চুয়াল ডিভাইস নির্বাচন করেন, তখন তা অবশ্যই <= 500 হতে হবে। প্রতি শার্ডের জন্য অন্তত একটি টেস্ট কেস গ্যারান্টি দিতে, শার্ডের সংখ্যা টেস্ট কেসের সংখ্যার বেশি হবে না৷ প্রতিটি শার্ড দৈনিক পরীক্ষার কোটার দিকে গণনা করে।

নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' s ' দিয়ে শেষ হয়৷ উদাহরণ: "3.5s"

AndroidRoboTest

একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনের একটি পরীক্ষা যা একটি ভার্চুয়াল বা শারীরিক অ্যান্ড্রয়েড ডিভাইসে অ্যাপ্লিকেশনটিকে অন্বেষণ করে, অপরাধীদের খুঁজে বের করে এবং এটি যাওয়ার সাথে সাথে ক্র্যাশ করে৷

JSON প্রতিনিধিত্ব
{
  "appPackageId": string,
  "appInitialActivity": string,
  "maxDepth": integer,
  "maxSteps": integer,
  "roboDirectives": [
    {
      object (RoboDirective)
    }
  ],
  "roboMode": enum (RoboMode),
  "roboScript": {
    object (FileReference)
  },
  "startingIntents": [
    {
      object (RoboStartingIntent)
    }
  ],

  // Union field app_under_test can be only one of the following:
  "appApk": {
    object (FileReference)
  },
  "appBundle": {
    object (AppBundle)
  }
  // End of list of possible types for union field app_under_test.
}
ক্ষেত্র
appPackageId

string

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য জাভা প্যাকেজ। অ্যাপ্লিকেশনের ম্যানিফেস্ট পরীক্ষা করে ডিফল্ট মান নির্ধারণ করা হয়।

appInitialActivity

string

প্রাথমিক কার্যকলাপ যা অ্যাপটি শুরু করতে ব্যবহার করা উচিত।

maxDepth
(deprecated)

integer

ট্র্যাভার্সাল স্ট্যাকের সর্বাধিক গভীরতা রোবো অন্বেষণ করতে পারে। Robo অ্যাপটিকে প্রথম ক্রিয়াকলাপের বাইরে অন্বেষণ করতে কমপক্ষে 2 হতে হবে। ডিফল্ট 50।

maxSteps
(deprecated)

integer

Robo যতগুলো ধাপ চালাতে পারে তার সর্বোচ্চ সংখ্যা। ডিফল্ট কোন সীমা নেই.

roboDirectives[]

object ( RoboDirective )

ক্রল করার সময় Robo-এর নির্দেশাবলীর একটি সেট প্রয়োগ করা উচিত। এটি ব্যবহারকারীদের ক্রল কাস্টমাইজ করার অনুমতি দেয়। উদাহরণস্বরূপ, একটি পরীক্ষার অ্যাকাউন্টের জন্য ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রদান করা যেতে পারে।

roboMode

enum ( RoboMode )

যে মোডে Robo চালানো উচিত। বেশিরভাগ ক্লায়েন্টদের সার্ভারকে এই ক্ষেত্রটি স্বয়ংক্রিয়ভাবে পপুলেট করার অনুমতি দেওয়া উচিত।

roboScript

object ( FileReference )

ক্রিয়াগুলির একটি ক্রম সহ একটি JSON ফাইল রোবোকে ক্রল করার প্রস্তাবনা হিসাবে সম্পাদন করা উচিত।

startingIntents[]

object ( RoboStartingIntent )

ইন্টেন্টগুলি ক্রল করার জন্য অ্যাপটি চালু করতে ব্যবহৃত হয়। যদি কোনটি প্রদান করা না হয়, তাহলে প্রধান লঞ্চার কার্যকলাপ চালু করা হয়। যদি কিছু প্রদান করা হয়, তবে শুধুমাত্র প্রদত্তগুলি চালু করা হয় (প্রধান লঞ্চার কার্যকলাপ স্পষ্টভাবে প্রদান করা আবশ্যক)।

ইউনিয়ন ফিল্ড app_under_test । প্রয়োজন। app_under_test নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
appApk

object ( FileReference )

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য APK।

appBundle

object ( AppBundle )

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য একটি মাল্টি-এপিকে অ্যাপ বান্ডিল।

RoboDirective

রোবোকে একটি নির্দিষ্ট UI উপাদানের সাথে ইন্টারঅ্যাক্ট করার নির্দেশ দেয় যদি এটি ক্রল করার সময় সম্মুখীন হয়। বর্তমানে, Robo টেক্সট এন্ট্রি বা এলিমেন্ট ক্লিক করতে পারে।

JSON প্রতিনিধিত্ব
{
  "resourceName": string,
  "inputText": string,
  "actionType": enum (RoboActionType)
}
ক্ষেত্র
resourceName

string

প্রয়োজন। লক্ষ্য UI উপাদানের android সম্পদের নাম। উদাহরণস্বরূপ, জাভাতে: xml: @string/foo-এ R.string.foo শুধুমাত্র "foo" অংশটি প্রয়োজন। রেফারেন্স ডক: https://developer.android.com/guide/topics/resources/accessing-resources.html

inputText

string

টেক্সট যে Robo সেট করতে নির্দেশিত হয়. যদি খালি রাখা হয়, তাহলে নির্দেশিকাটিকে রিসোর্সনামের সাথে মিলে যাওয়া উপাদানের উপর একটি ক্লিক হিসাবে গণ্য করা হবে।

actionType

enum ( RoboActionType )

প্রয়োজন। নির্দিষ্ট উপাদানে Robo যে ধরনের ক্রিয়া সম্পাদন করবে।

রোবোঅ্যাকশন টাইপ

UI উপাদানগুলিতে Robo সঞ্চালন করতে পারে এমন ক্রিয়া।

Enums
ACTION_TYPE_UNSPECIFIED ব্যবহার করবেন না. শুধুমাত্র প্রোটো সংস্করণের জন্য।
SINGLE_CLICK নির্দিষ্ট উপাদানে ক্লিক করতে সরাসরি Robo. না-অপ যদি নির্দিষ্ট উপাদান ক্লিকযোগ্য না হয়.
ENTER_TEXT নির্দিষ্ট উপাদানে পাঠ্য লিখতে সরাসরি Robo. না-অপ যদি নির্দিষ্ট উপাদান সক্রিয় না হয় বা পাঠ্য প্রবেশের অনুমতি না দেয়।
IGNORE একটি নির্দিষ্ট উপাদানের সাথে মিথস্ক্রিয়া উপেক্ষা করতে সরাসরি Robo.

রোবোমোড

যে মোডে Robo চালানো উচিত।

Enums
ROBO_MODE_UNSPECIFIED এর মানে হল যে সার্ভারের মোড নির্বাচন করা উচিত। প্রস্তাবিত.
ROBO_VERSION_1 অ্যাপ পদত্যাগ না করেই UIAutomator-শুধু মোডে Robo চালায়
ROBO_VERSION_2 ইউআইএঅটোমেটর ফলব্যাক সহ স্ট্যান্ডার্ড এসপ্রেসোতে রোবো চালায়

RoboStartingIntent

ক্রল করার জন্য সূচনা কার্যক্রম নির্দিষ্ট করার জন্য বার্তা।

JSON প্রতিনিধিত্ব
{
  "timeout": string,

  // Union field starting_intent can be only one of the following:
  "launcherActivity": {
    object (LauncherActivityIntent)
  },
  "startActivity": {
    object (StartActivityIntent)
  }
  // End of list of possible types for union field starting_intent.
}
ক্ষেত্র
timeout

string ( Duration format)

প্রতিটি অভিপ্রায়ের জন্য সেকেন্ডে সময়সীমা।

নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' s ' দিয়ে শেষ হয়৷ উদাহরণ: "3.5s"

ইউনিয়ন ক্ষেত্র starting_intent । প্রয়োজন। একটি কার্যকলাপ শুরু করার অভিপ্রায় বিশদ. starting_intent নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
launcherActivity

object ( LauncherActivityIntent )

একটি অভিপ্রায় যা প্রধান লঞ্চার কার্যকলাপ শুরু করে।

startActivity

object ( StartActivityIntent )

একটি অভিপ্রায় যা নির্দিষ্ট বিবরণ সহ একটি কার্যকলাপ শুরু করে।

লঞ্চার অ্যাক্টিভিটি ইন্টেন্ট

একটি অভিপ্রায় নির্দিষ্ট করে যা প্রধান লঞ্চার কার্যকলাপ শুরু করে।

StartActivityIntent

একটি ক্রিয়া, uri, এবং বিভাগ দ্বারা নির্দিষ্ট করা একটি শুরুর অভিপ্রায়৷

JSON প্রতিনিধিত্ব
{
  "action": string,
  "uri": string,
  "categories": [
    string
  ]
}
ক্ষেত্র
action

string

কর্মের নাম। START_ACTIVITY এর জন্য প্রয়োজনীয়৷

uri

string

কর্মের জন্য URI.

categories[]

string

অভিপ্রায় শ্রেণীতে অভিপ্রায় সেট.

AndroidTestLoop

একটি টেস্ট লুপ সহ একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনের একটি পরীক্ষা৷ অভিপ্রায় <ইন্টেন্ট-নাম> পরোক্ষভাবে যোগ করা হবে, যেহেতু গেম এই এপিআই-এর একমাত্র ব্যবহারকারী, আপাতত।

JSON প্রতিনিধিত্ব
{
  "appPackageId": string,
  "scenarios": [
    integer
  ],
  "scenarioLabels": [
    string
  ],

  // Union field app_under_test can be only one of the following:
  "appApk": {
    object (FileReference)
  },
  "appBundle": {
    object (AppBundle)
  }
  // End of list of possible types for union field app_under_test.
}
ক্ষেত্র
appPackageId

string

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য জাভা প্যাকেজ। অ্যাপ্লিকেশনের ম্যানিফেস্ট পরীক্ষা করে ডিফল্ট নির্ধারণ করা হয়।

scenarios[]

integer

পরীক্ষার সময় চালানো উচিত এমন পরিস্থিতির তালিকা। ডিফল্ট হল সমস্ত পরীক্ষার লুপ, অ্যাপ্লিকেশনের ম্যানিফেস্ট থেকে প্রাপ্ত।

scenarioLabels[]

string

পরিস্থিতি লেবেলের তালিকা যা পরীক্ষার সময় চালানো উচিত। দৃশ্যের লেবেলগুলিকে অ্যাপ্লিকেশনের ম্যানিফেস্টে সংজ্ঞায়িত লেবেলে ম্যাপ করা উচিত৷ উদাহরণস্বরূপ, player_experience এবং com.google.test.loops.player_experience ম্যানিফেস্টে com.google.test.loops.player_experience নামের সাথে লেবেল করা সমস্ত লুপগুলিকে এক্সিকিউশনে যুক্ত করে৷ দৃশ্যকল্প ক্ষেত্রেও দৃশ্যকল্প নির্দিষ্ট করা যেতে পারে।

ইউনিয়ন ফিল্ড app_under_test । প্রয়োজন। পরীক্ষা করার জন্য অ্যান্ড্রয়েড প্যাকেজ। app_under_test নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
appApk

object ( FileReference )

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য APK।

appBundle

object ( AppBundle )

পরীক্ষার অধীনে অ্যাপ্লিকেশনের জন্য একটি মাল্টি-এপিকে অ্যাপ বান্ডিল।

IosXcTest

একটি iOS অ্যাপ্লিকেশনের একটি পরীক্ষা যা XCTest ফ্রেমওয়ার্ক ব্যবহার করে। এক্সকোড "পরীক্ষার জন্য তৈরি" বিকল্পটিকে সমর্থন করে, যা একটি .xctestrun ফাইল তৈরি করে যাতে একটি পরীক্ষার স্পেসিফিকেশন (আর্গুমেন্ট, পরীক্ষার পদ্ধতি, ইত্যাদি) থাকে। এই পরীক্ষার ধরনটি একটি জিপ ফাইল গ্রহণ করে যেখানে .xctestrun ফাইল এবং বিল্ড/প্রোডাক্টস ডিরেক্টরির সংশ্লিষ্ট বিষয়বস্তু রয়েছে যাতে পরীক্ষা চালানোর জন্য প্রয়োজনীয় সমস্ত বাইনারি রয়েছে।

JSON প্রতিনিধিত্ব
{
  "testsZip": {
    object (FileReference)
  },
  "xctestrun": {
    object (FileReference)
  },
  "xcodeVersion": string,
  "appBundleId": string,
  "testSpecialEntitlements": boolean
}
ক্ষেত্র
testsZip

object ( FileReference )

প্রয়োজন। .xctestrun ফাইল এবং DerivedData/Build/Products ডিরেক্টরির বিষয়বস্তু ধারণকারী .zip। এই জিপের .xctestrun ফাইলটি উপেক্ষা করা হয় যদি xctestrun ক্ষেত্রটি নির্দিষ্ট করা থাকে।

xctestrun

object ( FileReference )

একটি .xctestrun ফাইল যা টেস্ট জিপে .xctestrun ফাইলটিকে ওভাররাইড করবে। যেহেতু .xctestrun ফাইলে এনভায়রনমেন্ট ভেরিয়েবল রয়েছে এবং পরীক্ষা পদ্ধতি চালানোর এবং/অথবা উপেক্ষা করার জন্য, এটি শার্ডিং পরীক্ষার জন্য উপযোগী হতে পারে। ডিফল্ট পরীক্ষা জিপ থেকে নেওয়া হয়.

xcodeVersion

string

এক্সকোড সংস্করণ যা পরীক্ষার জন্য ব্যবহার করা উচিত। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন। সর্বশেষ এক্সকোড সংস্করণে ডিফল্ট Firebase টেস্ট ল্যাব সমর্থন করে।

appBundleId

string

শুধুমাত্র আউটপুট। পরীক্ষার অধীনে আবেদনের জন্য বান্ডেল আইডি।

testSpecialEntitlements

boolean

বিশেষ অ্যাপ এনটাইটেলমেন্ট পরীক্ষা করার বিকল্প। এটি সেট করা একটি স্পষ্ট অ্যাপ্লিকেশন-শনাক্তকারীর সাথে বিশেষ এনটাইটেলমেন্ট সহ অ্যাপটিতে পুনরায় স্বাক্ষর করবে। বর্তমানে এপিএস-এনভায়রনমেন্ট এনটাইটেলমেন্ট টেস্টিং সমর্থন করে।

IosTestLoop

একটি iOS অ্যাপ্লিকেশনের একটি পরীক্ষা যা এক বা একাধিক গেম লুপ পরিস্থিতিতে প্রয়োগ করে। এই পরীক্ষার ধরনটি একটি আর্কাইভ করা অ্যাপ্লিকেশন (.ipa ফাইল) এবং পূর্ণসংখ্যা পরিস্থিতিগুলির একটি তালিকা গ্রহণ করে যা অ্যাপে ক্রমানুসারে কার্যকর করা হবে।

JSON প্রতিনিধিত্ব
{
  "appIpa": {
    object (FileReference)
  },
  "scenarios": [
    integer
  ],
  "appBundleId": string
}
ক্ষেত্র
appIpa

object ( FileReference )

প্রয়োজন। .ipa এর আবেদন পরীক্ষা করতে হবে।

scenarios[]

integer

পরীক্ষার সময় চালানো উচিত এমন পরিস্থিতির তালিকা। অনির্দিষ্ট থাকলে একক দৃশ্য 0-তে ডিফল্ট।

appBundleId

string

শুধুমাত্র আউটপুট। পরীক্ষার অধীনে আবেদনের জন্য বান্ডেল আইডি।

এনভায়রনমেন্ট ম্যাট্রিক্স

পরিবেশের ম্যাট্রিক্স যেখানে পরীক্ষাটি কার্যকর করা হবে।

JSON প্রতিনিধিত্ব
{

  // Union field environment_matrix can be only one of the following:
  "androidMatrix": {
    object (AndroidMatrix)
  },
  "androidDeviceList": {
    object (AndroidDeviceList)
  },
  "iosDeviceList": {
    object (IosDeviceList)
  }
  // End of list of possible types for union field environment_matrix.
}
ক্ষেত্র
ইউনিয়ন ক্ষেত্র environment_matrix । প্রয়োজন। পরিবেশ ম্যাট্রিক্স। environment_matrix নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
androidMatrix

object ( AndroidMatrix )

অ্যান্ড্রয়েড ডিভাইসের একটি ম্যাট্রিক্স।

androidDeviceList

object ( AndroidDeviceList )

অ্যান্ড্রয়েড ডিভাইসের একটি তালিকা; পরীক্ষা শুধুমাত্র নির্দিষ্ট ডিভাইসে চালানো হবে.

iosDeviceList

object ( IosDeviceList )

iOS ডিভাইসের একটি তালিকা।

অ্যান্ড্রয়েডম্যাট্রিক্স

অ্যান্ড্রয়েড ডিভাইস কনফিগারেশন পারমিউটেশনের একটি সেট প্রদত্ত অক্ষের ক্রস-প্রোডাক্ট দ্বারা সংজ্ঞায়িত করা হয়। অভ্যন্তরীণভাবে, প্রদত্ত AndroidMatrix কে AndroidDevices এর একটি সেটে প্রসারিত করা হবে।

শুধুমাত্র সমর্থিত পারমুটেশনগুলিকে ইনস্ট্যান্ট করা হবে৷ অবৈধ স্থানান্তর (যেমন, বেমানান মডেল/সংস্করণ) উপেক্ষা করা হয়।

JSON প্রতিনিধিত্ব
{
  "androidModelIds": [
    string
  ],
  "androidVersionIds": [
    string
  ],
  "locales": [
    string
  ],
  "orientations": [
    string
  ]
}
ক্ষেত্র
androidModelIds[]

string

প্রয়োজন। অ্যান্ড্রয়েড ডিভাইসের সেটের আইডি ব্যবহার করতে হবে। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

androidVersionIds[]

string

প্রয়োজন। Android OS সংস্করণের সেটের আইডি ব্যবহার করতে হবে। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

locales[]

string

প্রয়োজন। লোকেলের সেট পরীক্ষা করার জন্য পরীক্ষা ডিভাইস সক্ষম করবে। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

orientations[]

string

প্রয়োজন। সঙ্গে পরীক্ষা করার জন্য অভিযোজন সেট. সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

AndroidDeviceList

অ্যান্ড্রয়েড ডিভাইস কনফিগারেশনের একটি তালিকা যেখানে পরীক্ষাটি চালানো হবে।

JSON প্রতিনিধিত্ব
{
  "androidDevices": [
    {
      object (AndroidDevice)
    }
  ]
}
ক্ষেত্র
androidDevices[]

object ( AndroidDevice )

প্রয়োজন। অ্যান্ড্রয়েড ডিভাইসের একটি তালিকা।

অ্যান্ড্রয়েড ডিভাইস

একটি একক Android ডিভাইস।

JSON প্রতিনিধিত্ব
{
  "androidModelId": string,
  "androidVersionId": string,
  "locale": string,
  "orientation": string
}
ক্ষেত্র
androidModelId

string

প্রয়োজন। অ্যান্ড্রয়েড ডিভাইসের আইডি ব্যবহার করতে হবে। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

androidVersionId

string

প্রয়োজন। Android OS সংস্করণের আইডি ব্যবহার করতে হবে। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

locale

string

প্রয়োজন। লোকেল পরীক্ষা করার জন্য ব্যবহৃত যন্ত্রটি। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

orientation

string

প্রয়োজন। পরীক্ষার সময় ডিভাইসটি কীভাবে ওরিয়েন্টেড হয়। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

আইওএসডিভাইসলিস্ট

iOS ডিভাইস কনফিগারেশনের একটি তালিকা যেখানে পরীক্ষাটি কার্যকর করা হবে।

JSON প্রতিনিধিত্ব
{
  "iosDevices": [
    {
      object (IosDevice)
    }
  ]
}
ক্ষেত্র
iosDevices[]

object ( IosDevice )

প্রয়োজন। iOS ডিভাইসের একটি তালিকা।

আইওএসডিভাইস

একটি একক iOS ডিভাইস।

JSON প্রতিনিধিত্ব
{
  "iosModelId": string,
  "iosVersionId": string,
  "locale": string,
  "orientation": string
}
ক্ষেত্র
iosModelId

string

প্রয়োজন। আইওএস ডিভাইসের আইডি ব্যবহার করতে হবে। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

iosVersionId

string

প্রয়োজন। আইওএস প্রধান সফ্টওয়্যার সংস্করণ ব্যবহার করতে হবে. সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

locale

string

প্রয়োজন। লোকেল পরীক্ষা করার জন্য ব্যবহৃত যন্ত্রটি। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

orientation

string

প্রয়োজন। পরীক্ষার সময় ডিভাইসটি কীভাবে ওরিয়েন্টেড হয়। সমর্থিত বিকল্প পেতে TestEnvironmentDiscoveryService ব্যবহার করুন।

টেস্ট এক্সিকিউশন

একটি একক পরীক্ষা একটি একক পরিবেশে সম্পাদিত।

JSON প্রতিনিধিত্ব
{
  "id": string,
  "matrixId": string,
  "projectId": string,
  "testSpecification": {
    object (TestSpecification)
  },
  "shard": {
    object (Shard)
  },
  "environment": {
    object (Environment)
  },
  "state": enum (TestState),
  "toolResultsStep": {
    object (ToolResultsStep)
  },
  "timestamp": string,
  "testDetails": {
    object (TestDetails)
  }
}
ক্ষেত্র
id

string

শুধুমাত্র আউটপুট। পরিষেবা দ্বারা সেট করা অনন্য আইডি।

matrixId

string

শুধুমাত্র আউটপুট। TestMatrix ধারণকারী আইডি।

projectId

string

শুধুমাত্র আউটপুট। ক্লাউড প্রজেক্ট যা পরীক্ষা সম্পাদনের মালিক।

testSpecification

object ( TestSpecification )

শুধুমাত্র আউটপুট। কিভাবে পরীক্ষা চালাতে হয়।

shard

object ( Shard )

শুধুমাত্র আউটপুট। শার্ড সম্পর্কে বিস্তারিত।

environment

object ( Environment )

শুধুমাত্র আউটপুট। হোস্ট মেশিন(গুলি) কিভাবে কনফিগার করা হয়।

state

enum ( TestState )

শুধুমাত্র আউটপুট। পরীক্ষা সম্পাদনের বর্তমান অগ্রগতি নির্দেশ করে (যেমন, সমাপ্ত)।

toolResultsStep

object ( ToolResultsStep )

শুধুমাত্র আউটপুট। যেখানে এই মৃত্যুদন্ডের ফলাফল লেখা আছে।

timestamp

string ( Timestamp format)

শুধুমাত্র আউটপুট। এই পরীক্ষা নির্বাহের সময় প্রাথমিকভাবে তৈরি করা হয়েছিল।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

testDetails

object ( TestDetails )

শুধুমাত্র আউটপুট। চলমান পরীক্ষা সম্পর্কে অতিরিক্ত বিবরণ।

শার্ড

শুধুমাত্র আউটপুট। শার্ড সম্পর্কে বিস্তারিত।

JSON প্রতিনিধিত্ব
{
  "shardIndex": integer,
  "numShards": integer,
  "testTargetsForShard": {
    object (TestTargetsForShard)
  },
  "estimatedShardDuration": string
}
ক্ষেত্র
shardIndex

integer

শুধুমাত্র আউটপুট। সমস্ত শার্ডের মধ্যে শার্ডের সূচক।

numShards

integer

শুধুমাত্র আউটপুট। শার্ডের মোট সংখ্যা।

testTargetsForShard

object ( TestTargetsForShard )

শুধুমাত্র আউটপুট। প্রতিটি শার্ড জন্য পরীক্ষা লক্ষ্য. শুধুমাত্র ম্যানুয়াল শর্ডিংয়ের জন্য সেট করা হয়েছে।

estimatedShardDuration

string ( Duration format)

শুধুমাত্র আউটপুট। পূর্ববর্তী টেস্ট কেস টাইমিং রেকর্ডের উপর ভিত্তি করে আনুমানিক শর্ড সময়কাল, যদি উপলব্ধ থাকে।

নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' s ' দিয়ে শেষ হয়৷ উদাহরণ: "3.5s"

পরিবেশ

যে পরিবেশে পরীক্ষা চালানো হয়।

JSON প্রতিনিধিত্ব
{

  // Union field environment can be only one of the following:
  "androidDevice": {
    object (AndroidDevice)
  },
  "iosDevice": {
    object (IosDevice)
  }
  // End of list of possible types for union field environment.
}
ক্ষেত্র
ইউনিয়ন মাঠের environment । প্রয়োজন। পরিবেশ. environment নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
androidDevice

object ( AndroidDevice )

একটি অ্যান্ড্রয়েড ডিভাইস যা অবশ্যই একটি অ্যান্ড্রয়েড পরীক্ষার সাথে ব্যবহার করা উচিত।

iosDevice

object ( IosDevice )

একটি iOS ডিভাইস যা একটি iOS পরীক্ষার সাথে ব্যবহার করা আবশ্যক।

টেস্টস্টেট

একটি পরীক্ষা সম্পাদন বা ম্যাট্রিক্সের অবস্থা (অর্থাৎ, অগ্রগতি)।

Enums
TEST_STATE_UNSPECIFIED ব্যবহার করবেন না. শুধুমাত্র প্রোটো সংস্করণের জন্য।
VALIDATING মৃত্যুদন্ড বা ম্যাট্রিক্স বৈধ করা হচ্ছে.
PENDING এক্সিকিউশন বা ম্যাট্রিক্স সম্পদ উপলব্ধ হওয়ার জন্য অপেক্ষা করছে।
RUNNING

মৃত্যুদন্ড বর্তমানে প্রক্রিয়া করা হচ্ছে.

শুধুমাত্র একটি মৃত্যুদন্ড সেট করা যাবে.

FINISHED

এক্সিকিউশন বা ম্যাট্রিক্স স্বাভাবিকভাবে শেষ হয়ে গেছে।

একটি ম্যাট্রিক্সে এর মানে হল যে ম্যাট্রিক্স স্তরের প্রক্রিয়াকরণ স্বাভাবিকভাবে সম্পন্ন হয়েছে, কিন্তু পৃথক মৃত্যুদন্ড একটি ত্রুটি অবস্থায় থাকতে পারে।

ERROR এক্সিকিউশন বা ম্যাট্রিক্স বন্ধ হয়ে গেছে কারণ এটি একটি অবকাঠামোগত ব্যর্থতার সম্মুখীন হয়েছে।
UNSUPPORTED_ENVIRONMENT

মৃত্যুদন্ড চালানো হয়নি কারণ এটি একটি অসমর্থিত পরিবেশের সাথে সঙ্গতিপূর্ণ।

শুধুমাত্র একটি মৃত্যুদন্ড সেট করা যাবে.

INCOMPATIBLE_ENVIRONMENT

এক্সিকিউশন চালানো হয়নি কারণ প্রদত্ত ইনপুট অনুরোধ করা পরিবেশের সাথে সামঞ্জস্যপূর্ণ নয়।

উদাহরণ: অনুরোধ করা AndroidVersion APK এর minSdkVersion থেকে কম

শুধুমাত্র একটি মৃত্যুদন্ড সেট করা যাবে.

INCOMPATIBLE_ARCHITECTURE

প্রদত্ত ইনপুট অনুরোধ করা আর্কিটেকচারের সাথে বেমানান হওয়ায় এক্সিকিউশন চালানো হয়নি।

উদাহরণ: অনুরোধ করা ডিভাইস সরবরাহ করা APK-এ নেটিভ কোড চালানো সমর্থন করে না

শুধুমাত্র একটি মৃত্যুদন্ড সেট করা যাবে.

CANCELLED

ব্যবহারকারী মৃত্যুদন্ড বাতিল করেছেন।

শুধুমাত্র একটি মৃত্যুদন্ড সেট করা যাবে.

INVALID

এক্সিকিউশন বা ম্যাট্রিক্স চালানো হয়নি কারণ প্রদত্ত ইনপুটগুলি বৈধ নয়৷

উদাহরণ: ইনপুট ফাইলটি প্রত্যাশিত ধরনের নয়, বিকৃত/দুষ্ট, বা ম্যালওয়্যার হিসাবে ফ্ল্যাগ করা হয়েছে

টুল ফলাফল ধাপ

একটি টুল ফলাফল ধাপ রিসোর্স প্রতিনিধিত্ব করে।

এই একটি TestExecution ফলাফল আছে.

JSON প্রতিনিধিত্ব
{
  "projectId": string,
  "historyId": string,
  "executionId": string,
  "stepId": string
}
ক্ষেত্র
projectId

string

শুধুমাত্র আউটপুট। ক্লাউড প্রজেক্ট যা টুল ফলাফলের ধাপের মালিক।

historyId

string

শুধুমাত্র আউটপুট। একটি টুল ফলাফল ইতিহাস আইডি.

executionId

string

শুধুমাত্র আউটপুট। একটি টুল ফলাফল নির্বাহ ID.

stepId

string

শুধুমাত্র আউটপুট। একটি টুল ফলাফল ধাপ আইডি.

পরীক্ষার বিবরণ

চলমান পরীক্ষার অগ্রগতি সম্পর্কে অতিরিক্ত বিবরণ।

JSON প্রতিনিধিত্ব
{
  "progressMessages": [
    string
  ],
  "errorMessage": string
}
ক্ষেত্র
progressMessages[]

string

শুধুমাত্র আউটপুট। মানুষের পাঠযোগ্য, পরীক্ষার অগ্রগতির বিশদ বিবরণ। উদাহরণস্বরূপ: "একটি ডিভাইসের ব্যবস্থা করা", "পরীক্ষা শুরু করা"।

এক্সিকিউশন চলাকালীন প্রগতিবার্তার শেষে নতুন ডেটা যুক্ত করা যেতে পারে।

errorMessage

string

শুধুমাত্র আউটপুট। যদি TestState ERROR হয়, তাহলে এই স্ট্রিংটিতে ত্রুটি সম্পর্কে মানব-পাঠযোগ্য বিশদ থাকবে।

রেজাল্ট স্টোরেজ

অবস্থান যেখানে পরীক্ষা চালানোর ফলাফল সংরক্ষণ করা হয়.

JSON প্রতিনিধিত্ব
{
  "googleCloudStorage": {
    object (GoogleCloudStorage)
  },
  "toolResultsHistory": {
    object (ToolResultsHistory)
  },
  "toolResultsExecution": {
    object (ToolResultsExecution)
  },
  "resultsUrl": string
}
ক্ষেত্র
googleCloudStorage

object ( GoogleCloudStorage )

প্রয়োজন।

toolResultsHistory

object ( ToolResultsHistory )

টুল ফলাফলের ইতিহাস যা টুল ফলাফল এক্সিকিউশন ধারণ করে যেখানে ফলাফল লেখা হয়।

প্রদান না করা হলে, পরিষেবা একটি উপযুক্ত মান নির্বাচন করবে।

toolResultsExecution

object ( ToolResultsExecution )

শুধুমাত্র আউটপুট। টুল ফলাফল এক্সিকিউশন যে ফলাফল লেখা হয়.

resultsUrl

string

শুধুমাত্র আউটপুট। Firebase ওয়েব কনসোলে ফলাফলের URL।

GoogleCloud স্টোরেজ

Google ক্লাউড স্টোরেজ (GCS) এর মধ্যে একটি স্টোরেজ অবস্থান।

JSON প্রতিনিধিত্ব
{
  "gcsPath": string
}
ক্ষেত্র
gcsPath

string

প্রয়োজন। GCS-এ একটি ডিরেক্টরির পথ যা শেষ পর্যন্ত এই পরীক্ষার ফলাফল ধারণ করবে। অনুরোধকারী ব্যবহারকারীর অবশ্যই সরবরাহকৃত পথে বালতিতে লেখার অ্যাক্সেস থাকতে হবে।

টুল ফলাফল ইতিহাস

একটি টুল ফলাফল ইতিহাস সম্পদ প্রতিনিধিত্ব করে.

JSON প্রতিনিধিত্ব
{
  "projectId": string,
  "historyId": string
}
ক্ষেত্র
projectId

string

প্রয়োজন। ক্লাউড প্রকল্প যা টুল ফলাফলের ইতিহাসের মালিক।

historyId

string

প্রয়োজন। একটি টুল ফলাফল ইতিহাস আইডি.

টুল রেজাল্ট এক্সিকিউশন

একটি টুল ফলাফল নির্বাহ সম্পদ প্রতিনিধিত্ব করে।

এটি একটি TestMatrix এর ফলাফল আছে.

JSON প্রতিনিধিত্ব
{
  "projectId": string,
  "historyId": string,
  "executionId": string
}
ক্ষেত্র
projectId

string

শুধুমাত্র আউটপুট। ক্লাউড প্রজেক্ট যেটি টুলের ফলাফল এক্সিকিউশনের মালিক।

historyId

string

শুধুমাত্র আউটপুট। একটি টুল ফলাফল ইতিহাস আইডি.

executionId

string

শুধুমাত্র আউটপুট। একটি টুল ফলাফল নির্বাহ ID.

অবৈধ ম্যাট্রিক্সের বিবরণ

একটি ম্যাট্রিক্সকে অবৈধ বলে গণ্য করার বিস্তারিত কারণ।

Enums
INVALID_MATRIX_DETAILS_UNSPECIFIED ব্যবহার করবেন না. শুধুমাত্র প্রোটো সংস্করণের জন্য।
DETAILS_UNAVAILABLE ম্যাট্রিক্সটি অবৈধ, কিন্তু আর কোনো বিশদ উপলব্ধ নেই৷
MALFORMED_APK ইনপুট অ্যাপ APK পার্স করা যায়নি।
MALFORMED_TEST_APK ইনপুট পরীক্ষা APK পার্স করা যাবে না.
NO_MANIFEST AndroidManifest.xml খুঁজে পাওয়া যায়নি।
NO_PACKAGE_NAME APK ম্যানিফেস্ট কোনো প্যাকেজের নাম ঘোষণা করে না।
INVALID_PACKAGE_NAME APK অ্যাপ্লিকেশন আইডি (ওরফে প্যাকেজ নাম) অবৈধ৷ আরও দেখুন https://developer.android.com/build/configure-app-module#set-application-id
TEST_SAME_AS_APP পরীক্ষার প্যাকেজ এবং অ্যাপ প্যাকেজ একই।
NO_INSTRUMENTATION পরীক্ষার apk কোনো উপকরণ ঘোষণা করে না।
NO_SIGNATURE ইনপুট অ্যাপ apk-এর কোনো স্বাক্ষর নেই।
INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE ব্যবহারকারীর দ্বারা বা পরীক্ষার APK-এর ম্যানিফেস্ট ফাইলে নির্দিষ্ট করা টেস্ট রানার ক্লাস অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটরের সাথে সামঞ্জস্যপূর্ণ নয়। অর্কেস্ট্রেটর শুধুমাত্র AndroidJUnitRunner 1.1 বা উচ্চতর সংস্করণের সাথে সামঞ্জস্যপূর্ণ। DO_NOT_USE_ORCHESTRATOR OrchestratorOption ব্যবহার করে অর্কেস্ট্রেটরকে অক্ষম করা যেতে পারে৷
NO_TEST_RUNNER_CLASS

পরীক্ষার APK-এ ব্যবহারকারীর দ্বারা বা ম্যানিফেস্ট ফাইলে নির্দিষ্ট করা টেস্ট রানার ক্লাস নেই৷ এটি নিম্নলিখিত কারণে হতে পারে:

  • ব্যবহারকারী একটি রানার শ্রেণীর নাম প্রদান করেছেন যা ভুল, বা
  • টেস্ট রানারটি টেস্ট APK-এ বিল্ট করা হয়নি (এর পরিবর্তে অ্যাপ APK-এ থাকতে পারে)।
NO_LAUNCHER_ACTIVITY একটি প্রধান লঞ্চার কার্যকলাপ খুঁজে পাওয়া যায়নি.
FORBIDDEN_PERMISSIONS অ্যাপটি এক বা একাধিক অনুমতি ঘোষণা করে যা অনুমোদিত নয়।
INVALID_ROBO_DIRECTIVES প্রদত্ত রোবোডাইরেক্টিভগুলির মধ্যে একটি বিরোধ রয়েছে৷
INVALID_RESOURCE_NAME প্রদত্ত রোবো নির্দেশাবলীতে অন্তত একটি অবৈধ সম্পদের নাম রয়েছে৷
INVALID_DIRECTIVE_ACTION রোবো নির্দেশাবলীতে কর্মের অবৈধ সংজ্ঞা (যেমন একটি ক্লিক বা উপেক্ষা কর্ম একটি ইনপুট পাঠ্য ক্ষেত্র অন্তর্ভুক্ত)
TEST_LOOP_INTENT_FILTER_NOT_FOUND কোন টেস্ট লুপ ইন্টেন্ট ফিল্টার নেই, বা যেটি দেওয়া হয়েছে সেটি সঠিকভাবে ফরম্যাট করা হয়নি।
SCENARIO_LABEL_NOT_DECLARED অনুরোধটিতে একটি দৃশ্যের লেবেল রয়েছে যা ম্যানিফেস্টে ঘোষণা করা হয়নি।
SCENARIO_LABEL_MALFORMED একটি লেবেলের মান পার্স করার সময় একটি ত্রুটি ছিল৷
SCENARIO_NOT_DECLARED অনুরোধে একটি দৃশ্যকল্প নম্বর রয়েছে যা ম্যানিফেস্টে ঘোষণা করা হয়নি।
DEVICE_ADMIN_RECEIVER ডিভাইস প্রশাসক অ্যাপ্লিকেশন অনুমোদিত নয়.
MALFORMED_XC_TEST_ZIP জিপ করা XCTest বিকৃত ছিল। জিপটিতে একটি একক .xctestrun ফাইল এবং DerivedData/Build/Products ডিরেক্টরির বিষয়বস্তু ছিল না।
BUILT_FOR_IOS_SIMULATOR জিপ করা XCTest একটি ফিজিক্যাল ডিভাইসের পরিবর্তে iOS সিমুলেটরের জন্য তৈরি করা হয়েছিল।
NO_TESTS_IN_XC_TEST_ZIP .xctestrun ফাইলে কোনো পরীক্ষার লক্ষ্যমাত্রা উল্লেখ করা হয়নি।
USE_DESTINATION_ARTIFACTS .xctestrun ফাইলে সংজ্ঞায়িত এক বা একাধিক পরীক্ষার লক্ষ্য "UseDestinationArtifacts" নির্দিষ্ট করে, যা অননুমোদিত।
TEST_NOT_APP_HOSTED শারীরিক ডিভাইসে চালানো XC পরীক্ষাগুলির অবশ্যই xctestrun ফাইলে "IsAppHostedTestBundle" == "সত্য" থাকতে হবে।
PLIST_CANNOT_BE_PARSED XCTest জিপে একটি Info.plist ফাইল পার্স করা যায়নি৷
TEST_ONLY_APK

APKটিকে "TestOnly" হিসেবে চিহ্নিত করা হয়েছে। অপ্রচলিত এবং বর্তমানে ব্যবহার করা হয় না।

MALFORMED_IPA ইনপুট IPA পার্স করা যায়নি৷
MISSING_URL_SCHEME অ্যাপ্লিকেশনটি গেম লুপ URL স্কিম নিবন্ধন করে না।
MALFORMED_APP_BUNDLE iOS অ্যাপ্লিকেশন বান্ডেল (.app) প্রক্রিয়া করা যায়নি।
NO_CODE_APK APK কোন কোড নেই. এছাড়াও https://developer.android.com/guide/topics/manifest/application-element.html#code দেখুন
INVALID_INPUT_APK হয় প্রদত্ত ইনপুট APK পাথ ত্রুটিপূর্ণ ছিল, APK ফাইলটি বিদ্যমান নেই, অথবা ব্যবহারকারীর কাছে APK ফাইল অ্যাক্সেস করার অনুমতি নেই৷
INVALID_APK_PREVIEW_SDK APK একটি পূর্বরূপ SDK এর জন্য তৈরি করা হয়েছে যা অসমর্থিত
MATRIX_TOO_LARGE ম্যাট্রিক্সটি প্রসারিত হয়েছে যাতে অনেকগুলি মৃত্যুদণ্ড রয়েছে৷
TEST_QUOTA_EXCEEDED এই ম্যাট্রিক্সে মৃত্যুদন্ড চালানোর জন্য পর্যাপ্ত পরীক্ষার কোটা নেই।
SERVICE_NOT_ACTIVATED একটি প্রয়োজনীয় ক্লাউড পরিষেবা এপিআই সক্রিয় করা হয়নি৷ দেখুন: https://firebase.google.com/docs/test-lab/android/continuous#requirements
UNKNOWN_PERMISSION_ERROR এই পরীক্ষা চালানোর একটি অজানা অনুমতি সমস্যা ছিল.

ফলাফলের সারাংশ

একটি সমাপ্ত পরীক্ষার ম্যাট্রিক্সের ফলাফলের সারাংশ।

Enums
OUTCOME_SUMMARY_UNSPECIFIED ব্যবহার করবেন না. শুধুমাত্র প্রোটো সংস্করণের জন্য।
SUCCESS

টেস্ট ম্যাট্রিক্স রান সফল হয়েছে, উদাহরণস্বরূপ:

  • সব পরীক্ষায় উত্তীর্ণ হয়েছে।
  • রোবো পরীক্ষার অধীনে অ্যাপ্লিকেশনটির ক্র্যাশ সনাক্ত করতে পারেনি।
FAILURE

একটি রান ব্যর্থ হয়েছে, উদাহরণস্বরূপ:

  • এক বা একাধিক পরীক্ষার ক্ষেত্রে ব্যর্থ হয়েছে।
  • একটি পরীক্ষার সময় শেষ হয়েছে।
  • পরীক্ষার অধীনে অ্যাপ্লিকেশন ক্র্যাশ হয়েছে.
INCONCLUSIVE অপ্রত্যাশিত কিছু ঘটেছে। রানটি এখনও ব্যর্থ বলে মনে করা উচিত তবে এটি সম্ভবত একটি ক্ষণস্থায়ী সমস্যা এবং পরীক্ষাটি পুনরায় চালানো সফল হতে পারে।
SKIPPED

সমস্ত পরীক্ষা বাদ দেওয়া হয়েছিল, উদাহরণস্বরূপ:

  • সমস্ত ডিভাইস কনফিগারেশন বেমানান ছিল.

পদ্ধতি

cancel

একটি পরীক্ষা ম্যাট্রিক্সে অসমাপ্ত পরীক্ষা সম্পাদন বাতিল করে।

create

প্রদত্ত স্পেসিফিকেশন অনুযায়ী পরীক্ষার একটি ম্যাট্রিক্স তৈরি করে এবং চালায়।

get

একটি টেস্ট ম্যাট্রিক্সের স্থিতি পরীক্ষা করে এবং একবার সেগুলি তৈরি হয়ে গেলে এক্সিকিউশনগুলি পরীক্ষা করে৷