- संसाधन: TestMatrix
- ClientInfo
- ClientInfoDetail
- TestSpecification
- टेस्ट सेटअप
- DeviceFile
- Obbफ़ाइल
- फ़ाइल रेफ़रंस
- रेगुलरफ़ाइल
- ऐप्लिकेशन
- खाता
- Googleऑटो
- EnvironmentVariable
- Systraceसेटअप
- IosTestसेटअप
- IosDeviceFile
- Androidइंस्ट्रुमेंटेशनटेस्ट
- ऐप्लिकेशन बंडल
- OrchestratorOption
- शार्डिंग विकल्प
- यूनिफ़ॉर्मशार्डिंग
- मैन्युअलशरिंग
- TestTargetForShard
- स्मार्टशार्डिंग
- AndroidRoboTest
- रोबोडायरेक्टिव
- RoboActionType
- रोबोमोड
- RoboStartIntent
- LauncherActivityIntent
- StartActivityIntent
- NoActivityIntent
- AndroidTestLoop
- IosXcTest
- IosTestLoop
- IosRoboTest
- एनवायरमेंटमैट्रिक्स
- AndroidMatrix
- AndroidDeviceList
- IosDeviceList
- Iosडिवाइस
- Testएक्ज़िक्यूशन
- शार्ड
- एनवायरमेंट
- टेस्टस्टेट
- टूल के नतीजे का चरण
- टेस्ट की जानकारी
- नतीजे के तौर पर सेव किया जाने वाला स्टोरेज
- GoogleCloudStorage
- टूलनतीजे इतिहास
- टूल के नतीजे लागू करना
- अमान्यMatrixDetails
- MatrixErrorDetail
- नतीजे की खास जानकारी
- तरीके
संसाधन: TestMatrix
TestMatrix किसी जांच के बारे में पूरी जानकारी इकट्ठा करता है. इसमें एनवायरमेंट कॉन्फ़िगरेशन, टेस्ट स्पेसिफ़िकेशन, टेस्ट के तरीकों, और पूरी स्थिति के साथ-साथ नतीजे की जानकारी शामिल होती है.
JSON के काेड में दिखाना |
---|
{ "testMatrixId": string, "projectId": string, "clientInfo": { object ( |
फ़ील्ड | |
---|---|
testMatrixId |
सिर्फ़ आउटपुट के लिए. सेवा की ओर से सेट किया गया यूनीक आईडी. |
projectId |
वह क्लाउड प्रोजेक्ट जिसके पास टेस्ट मैट्रिक्स का मालिकाना हक है. |
clientInfo |
उस क्लाइंट की जानकारी जिसने जांच शुरू की है. |
testSpecification |
ज़रूरी है. टेस्ट करने का तरीका. |
environmentMatrix |
ज़रूरी है. वे डिवाइस जिन पर टेस्ट किए जा रहे हैं. |
testExecutions[] |
सिर्फ़ आउटपुट के लिए. इस मैट्रिक्स के लिए सेवा, जांच के तरीकों की सूची बनाती है. |
resultStorage |
ज़रूरी है. जहां मैट्रिक्स के लिए नतीजे लिखे जाते हैं. |
state |
सिर्फ़ आउटपुट के लिए. टेस्ट मैट्रिक्स की मौजूदा प्रोग्रेस को दिखाता है. |
timestamp |
सिर्फ़ आउटपुट के लिए. इस टेस्ट मैट्रिक्स को शुरुआत में बनाए जाने का समय. आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: |
invalidMatrixDetails |
सिर्फ़ आउटपुट के लिए. यह बताता है कि मैट्रिक्स को अमान्य क्यों माना जाता है. यह सिर्फ़ अमान्य स्थिति वाले आव्यूहों के लिए काम का है. |
extendedInvalidMatrixDetails[] |
सिर्फ़ आउटपुट के लिए. किसी मैट्रिक्स को अमान्य क्यों माना गया था, इस बारे में जानकारी. अगर एक से ज़्यादा जांच सुरक्षित तरीके से की जा सकती हैं, तो उनकी रिपोर्ट की जाएगी. हालांकि, इस सूची की लंबाई के बारे में कोई अनुमान नहीं लगाया जाना चाहिए. |
flakyTestAttempts |
अगर किसी वजह से, एक या एक से ज़्यादा टेस्ट केस फ़ेल हो जाते हैं, तो TestCancel की संख्या के लिए फिर से कोशिश की जानी चाहिए. ज़्यादा से ज़्यादा 10 बार दोहराए जा सकते हैं. डिफ़ॉल्ट वैल्यू 0 होती है, जिसका मतलब है कि डेटा फिर से नहीं चला. |
outcomeSummary |
सिर्फ़ आउटपुट के लिए. जांच का कुल नतीजा. सिर्फ़ तब सेट करें, जब टेस्ट मैट्रिक्स की स्थिति 'पूरी हो गई हो' हो. |
failFast |
अगर सही है, तो मैट्रिक्स में हर एक्ज़ीक्यूशन/शर्ड को चलाने के लिए ज़्यादा से ज़्यादा एक बार कोशिश की जाएगी. अगर जांच करने की कोशिश में कोई बदलाव नहीं होता है, तो इससे कोई असर नहीं पड़ेगा. आम तौर पर, इन्फ़्रास्ट्रक्चर से जुड़ी किसी संभावित समस्या का पता चलने पर, दो या इससे ज़्यादा बार कोशिश की जाती है. यह सुविधा, इंतज़ार के समय वाले संवेदनशील वर्कलोड के लिए है. फ़ेल-तेज़ मैट्रिक्स के लिए, प्रोग्राम पूरा नहीं होने की संभावना काफ़ी ज़्यादा हो सकती है. इस वजह से, सहायता काफ़ी सीमित हो सकती है. |
ClientInfo
उस क्लाइंट की जानकारी जिसने जांच शुरू की है.
JSON के काेड में दिखाना |
---|
{
"name": string,
"clientInfoDetails": [
{
object ( |
फ़ील्ड | |
---|---|
name |
ज़रूरी है. क्लाइंट का नाम, जैसे कि gcloud. |
clientInfoDetails[] |
क्लाइंट के बारे में ज़्यादा जानकारी की सूची. |
क्लाइंट की जानकारी
टेस्ट शुरू करने वाले क्लाइंट के बारे में ज़्यादा जानकारी वाला की-वैल्यू पेयर. उदाहरण: {'Version', '1.0'}, {'Release Track', 'BETA'}.
JSON के काेड में दिखाना |
---|
{ "key": string, "value": string } |
फ़ील्ड | |
---|---|
key |
ज़रूरी है. क्लाइंट की पूरी जानकारी की कुंजी. |
value |
ज़रूरी है. क्लाइंट की पूरी जानकारी की वैल्यू. |
टेस्ट की जानकारी
टेस्ट करने के तरीके के बारे में जानकारी.
JSON के काेड में दिखाना |
---|
{ "testTimeout": string, "disableVideoRecording": boolean, "disablePerformanceMetrics": boolean, // Union field |
फ़ील्ड | |
---|---|
testTimeout |
जांच के अपने-आप रद्द होने से पहले, जांच को पूरा करने की अनुमति देने का ज़्यादा से ज़्यादा समय. डिफ़ॉल्ट वैल्यू पांच मिनट है. सेकंड में कुल नौ दशमलव अंक, जो ' |
disableVideoRecording |
इससे वीडियो रिकॉर्ड करने की सुविधा बंद हो जाती है. इससे जांच में लगने वाला समय कम हो सकता है. |
disablePerformanceMetrics |
इससे परफ़ॉर्मेंस मेट्रिक की रिकॉर्डिंग बंद हो जाती है. इससे जांच में लगने वाला समय कम हो सकता है. |
यूनियन फ़ील्ड setup . टेस्ट सेटअप से जुड़ी ज़रूरी शर्तें. setup इनमें से सिर्फ़ एक हो सकता है: |
|
testSetup |
Android के लिए टेस्ट सेटअप से जुड़ी ज़रूरी शर्तें, जैसे कि इंस्टॉल करने के लिए फ़ाइलें, बूटस्ट्रैप स्क्रिप्ट. |
iosTestSetup |
iOS के लिए, सेटअप से जुड़ी ज़रूरी शर्तों की जांच करें. |
यूनियन फ़ील्ड test . ज़रूरी है. चलाने के लिए टेस्ट किस तरह का है. test इनमें से सिर्फ़ एक हो सकता है: |
|
androidInstrumentationTest |
Android इंस्ट्रुमेंटेशन टेस्ट. |
androidRoboTest |
एक Android रोबो टेस्ट. |
androidTestLoop |
टेस्ट लूप वाला Android ऐप्लिकेशन. |
iosXcTest |
.xctestrun फ़ाइल के ज़रिए, iOS XCTest. |
iosTestLoop |
टेस्ट लूप वाला iOS ऐप्लिकेशन. |
iosRoboTest |
iOS रोबो टेस्ट. |
टेस्ट सेटअप
टेस्ट से पहले Android डिवाइस को सेट अप करने के तरीके की जानकारी.
JSON के काेड में दिखाना |
---|
{ "filesToPush": [ { object ( |
फ़ील्ड | |
---|---|
filesToPush[] |
जांच शुरू करने से पहले, डिवाइस में पुश की जाने वाली फ़ाइलों की सूची. |
directoriesToPull[] |
टेस्ट के आखिर में, GCS (जीसीएस) पर अपलोड करने के लिए डिवाइस पर मौजूद डायरेक्ट्री की सूची; वे /sdcard, /storage या /data/local/tmp में ऐब्सलूट पाथ होने चाहिए. पाथ के नाम a-z A-Z 0-9 _ - वर्णों तक सीमित हैं. + और / ध्यान दें: पाथ /sdcard और /data उपलब्ध कराया जाएगा और इसे इंप्लिसिट पाथ के विकल्प के तौर पर माना जाएगा. उदाहरण के लिए, अगर किसी डिवाइस पर /sdcard बाहरी स्टोरेज से मैप नहीं होता है, तो सिस्टम उसे उस डिवाइस के लिए बाहरी स्टोरेज पाथ प्रीफ़िक्स से बदल देगा. |
initialSetupApks[] |
ज़रूरी नहीं. जांच में है ऐप्लिकेशन के इंस्टॉल होने से पहले, शुरुआती सेटअप वाले ऐसे APK जिन्हें इंस्टॉल किया जाना है. फ़िलहाल, 100 तक ही सीमित है. |
additionalApks[] |
ऐसे APK जिन्हें सीधे तौर पर टेस्ट किए जाने वाले APK के अलावा इंस्टॉल किया जाना चाहिए. इन्हें ऐप्लिकेशन की जांच के बाद इंस्टॉल किया जाएगा. फ़िलहाल, 100 तक ही सीमित है. |
account |
जांच के दौरान, डिवाइस इस खाते से लॉग इन रहेगा. |
networkProfile |
जांच करने के लिए इस्तेमाल की जाने वाली नेटवर्क ट्रैफ़िक प्रोफ़ाइल. TestEnvironment DiscoveryService.GetTestEnvironmentCatalog को कॉल करते समय NETWORK_CONFIGURATION एनवायरमेंट टाइप का इस्तेमाल करके उपलब्ध नेटवर्क प्रोफ़ाइलों के लिए अनुरोध किया जा सकता है. |
environmentVariables[] |
टेस्ट के लिए सेट किए जाने वाले एनवायरमेंट वैरिएबल (सिर्फ़ इंस्ट्रुमेंटेशन टेस्ट पर लागू). |
systrace |
रन के लिए सिस्ट्रेस कॉन्फ़िगरेशन. अब काम नहीं करती: Systrace ने Python 2 का इस्तेमाल किया था, जिसे 01-01-2020 को बंद कर दिया गया था. Systrace अब Cloud Testing API में काम नहीं करता. साथ ही, नतीजों में कोई भी Systrace फ़ाइल नहीं दी जाएगी. |
dontAutograntPermissions |
ऐप्लिकेशन इंस्टॉल करते समय दी जाने वाली सभी रनटाइम की अनुमतियों को रोकना है या नहीं |
डिवाइसफ़ाइल
डिवाइस में मौजूद एक फ़ाइल की जानकारी.
JSON के काेड में दिखाना |
---|
{ // Union field |
फ़ील्ड | |
---|---|
यूनियन फ़ील्ड device_file . ज़रूरी है. device_file इनमें से सिर्फ़ एक हो सकता है: |
|
obbFile |
ओपेक बाइनरी ब्लॉब फ़ाइल का संदर्भ. |
regularFile |
किसी सामान्य फ़ाइल का रेफ़रंस. |
ऑब्सफ़ाइल
जांच शुरू होने से पहले, डिवाइस पर इंस्टॉल करने के लिए, एक ओपेक बाइनरी ब्लॉब फ़ाइल.
JSON के काेड में दिखाना |
---|
{
"obbFileName": string,
"obb": {
object ( |
फ़ील्ड | |
---|---|
obbFileName |
ज़रूरी है. OBB फ़ाइल नाम, जो Android के तय किए गए फ़ॉर्मैट के मुताबिक होना चाहिए, जैसे कि [main|patch].0300110.com.example.android.obb, जिसे डिवाइस पर <shared-storage>/Android/obb/<package-name>/ में इंस्टॉल किया जाएगा. |
obb |
ज़रूरी है. डिवाइस पर इंस्टॉल करने के लिए, ओपेक बाइनरी ब्लॉब (OBB) फ़ाइल(फ़ाइलें). |
फ़ाइल रेफ़रंस
किसी फ़ाइल का रेफ़रंस, जिसका इस्तेमाल उपयोगकर्ता के इनपुट के लिए किया जाता है.
JSON के काेड में दिखाना |
---|
{ // Union field |
फ़ील्ड | |
---|---|
यूनियन फ़ील्ड file . ज़रूरी है. फ़ाइल का रेफ़रंस. file इनमें से सिर्फ़ एक हो सकता है: |
|
gcsPath |
Google Cloud Storage में मौजूद किसी फ़ाइल का पाथ. उदाहरण: gs://build-app-1414623860166/app%40debug-unaligned.apk इन पाथ के यूआरएल कोड में बदले जा सकते हैं (प्रतिशत में कोड में बदलने का तरीका) |
रेगुलरफ़ाइल
जांच शुरू होने से पहले, डिवाइस पर इंस्टॉल की जाने वाली फ़ाइल या डायरेक्ट्री.
JSON के काेड में दिखाना |
---|
{
"content": {
object ( |
फ़ील्ड | |
---|---|
content |
ज़रूरी है. सोर्स फ़ाइल. |
devicePath |
ज़रूरी है. डिवाइस पर कॉन्टेंट कहां रखें. यह एक ऐसा पाथ होना चाहिए जो सभी के लिए उपलब्ध हो और जिसे अनुमति वाली सूची में शामिल किया गया हो. अगर फ़ाइल मौजूद है, तो उसे बदल दिया जाएगा. डिवाइस से जुड़ी इन डायरेक्ट्री और उनकी सबडायरेक्ट्री को अनुमति वाली सूची में शामिल किया गया है: ${EXTERNAL_STORAGE}, /एसडीकार्ड या /स्टोरेज ${ANDROID_DATA}/local/tmp या /data/local/tmp इन डायरेक्ट्री ट्री के बाहर पाथ तय करना अमान्य है. पाथ /sdcard और /data उपलब्ध कराया जाएगा और इसे इंप्लिसिट पाथ के विकल्प के तौर पर माना जाएगा. उदाहरण के लिए, अगर किसी डिवाइस पर /sdcard बाहरी स्टोरेज से मैप नहीं होता है, तो सिस्टम उसे उस डिवाइस के बाहरी स्टोरेज पाथ प्रीफ़िक्स से बदल देगा और फ़ाइल को वहां कॉपी कर देगा. हमारा सुझाव है कि डिवाइस पर मौजूद फ़ाइलों को पोर्टेबल तरीके से ऐक्सेस करने के लिए, ऐप्लिकेशन में Environment API और टेस्ट कोड का इस्तेमाल करें. |
Apk
इंस्टॉल करने के लिए Android पैकेज फ़ाइल.
JSON के काेड में दिखाना |
---|
{
"location": {
object ( |
फ़ील्ड | |
---|---|
location |
जांच शुरू होने से पहले, डिवाइस पर इंस्टॉल किए जाने वाले APK का पाथ. |
packageName |
इंस्टॉल किए जाने वाले APK के लिए java पैकेज. वैल्यू, ऐप्लिकेशन के मेनिफ़ेस्ट की जांच करके तय की जाती है. |
खाता
खाते की पहचान करता है और उसमें लॉग इन करने का तरीका बताता है.
JSON के काेड में दिखाना |
---|
{ // Union field |
फ़ील्ड | |
---|---|
यूनियन फ़ील्ड account_type . ज़रूरी है. खाते का टाइप क्या है (जैसे कि Google) और इसका लॉगिन तरीका क्या है (जैसे कि उपयोगकर्ता नाम और पासवर्ड). account_type इनमें से सिर्फ़ एक हो सकता है: |
|
googleAuto |
एक स्वचालित google लॉगिन खाता. |
Googleऑटो
इस टाइप में कोई फ़ील्ड नहीं है.
स्वचालित Google खाता प्रवेश सक्षम करता है. अगर नीति को सेट किया जाता है, तो सेवा अपने-आप एक Google टेस्ट खाता जनरेट करती है और जांच से पहले, उसे डिवाइस पर जोड़ देती है. ध्यान दें कि टेस्ट खातों का फिर से इस्तेमाल किया जा सकता है. डिवाइस पर कोई खाता मौजूद होने पर कई ऐप्लिकेशन अपनी सुविधाओं का पूरा सेट दिखाते हैं. जनरेट किए गए इन खातों से डिवाइस में लॉग इन करने पर, ज़्यादा सुविधाओं की जांच की जा सकती है.
एनवायरमेंट वैरिएबल
एनवायरमेंट वैरिएबल के तौर पर टेस्ट में पास किया गया की-वैल्यू पेयर.
JSON के काेड में दिखाना |
---|
{ "key": string, "value": string } |
फ़ील्ड | |
---|---|
key |
एनवायरमेंट वैरिएबल के लिए कुंजी. |
value |
एनवायरमेंट वैरिएबल के लिए वैल्यू. |
सिस्ट्रेस सेटअप
JSON के काेड में दिखाना |
---|
{ "durationSeconds": integer } |
फ़ील्ड | |
---|---|
durationSeconds |
सिस्ट्रेस की अवधि (सेकंड में). यह 1 से 30 सेकंड के बीच होना चाहिए. 0 सेट करने पर, systrace की सुविधा बंद हो जाती है. |
IosTest सेटअप
टेस्ट से पहले iOS डिवाइस को सेट अप करने के तरीके की जानकारी.
JSON के काेड में दिखाना |
---|
{ "networkProfile": string, "additionalIpas": [ { object ( |
फ़ील्ड | |
---|---|
networkProfile |
जांच करने के लिए इस्तेमाल की जाने वाली नेटवर्क ट्रैफ़िक प्रोफ़ाइल. TestEnvironment DiscoveryService.GetTestEnvironmentCatalog को कॉल करते समय NETWORK_CONFIGURATION एनवायरमेंट टाइप का इस्तेमाल करके उपलब्ध नेटवर्क प्रोफ़ाइलों के लिए अनुरोध किया जा सकता है. |
additionalIpas[] |
टेस्ट किए जा रहे iOS ऐप्लिकेशन के अलावा, इन ऐप्लिकेशन को भी इंस्टॉल किया जा सकता है. |
pushFiles[] |
जांच शुरू करने से पहले, डिवाइस में पुश की जाने वाली फ़ाइलों की सूची. |
pullDirectories[] |
जांच खत्म होने पर, Cloud Storage में अपलोड करने के लिए डिवाइस पर मौजूद डायरेक्ट्री की सूची. डायरेक्ट्री, शेयर की गई किसी डायरेक्ट्री (जैसे कि /private/var/mobile/Media) या ऐप्लिकेशन के फ़ाइल सिस्टम (जैसे कि /Documents) की किसी ऐक्सेस की जा सकने वाली डायरेक्ट्री में होनी चाहिए. इसके लिए, बंडल आईडी की जानकारी देनी होगी. |
IosDeviceFile
जांच शुरू होने से पहले, डिवाइस पर इंस्टॉल की जाने वाली फ़ाइल या डायरेक्ट्री.
JSON के काेड में दिखाना |
---|
{
"content": {
object ( |
फ़ील्ड | |
---|---|
content |
सोर्स फ़ाइल |
bundleId |
उस ऐप्लिकेशन का बंडल आईडी जहां यह फ़ाइल मौजूद है. iOS ऐप्लिकेशन अपने फ़ाइल सिस्टम को सैंडबॉक्स करते हैं. इसलिए, ऐप्लिकेशन फ़ाइलों में यह बताया जाना चाहिए कि डिवाइस पर कौनसा ऐप्लिकेशन इंस्टॉल किया गया है. |
devicePath |
ऐप्लिकेशन के सैंडबॉक्स फ़ाइल सिस्टम में, डिवाइस पर फ़ाइल की जगह |
Androidइंस्ट्रुमेंटेशनटेस्ट
ऐसे Android ऐप्लिकेशन की जांच जो किसी Android कॉम्पोनेंट को उसके सामान्य लाइफ़साइकल से अलग तरीके से कंट्रोल कर सकता है. Android इंस्ट्रुमेंटेशन टेस्ट, किसी ऐप्लिकेशन APK को चलाते हैं और किसी वर्चुअल या फ़िज़िकल AndroidDevice पर उसी प्रोसेस में APK को टेस्ट करते हैं. ये टेस्ट रनर क्लास के बारे में भी बताते हैं. उदाहरण के लिए, com.google.GoogleTestRunner. ये चुने गए खास इंस्ट्रुमेंटेशन फ़्रेमवर्क के हिसाब से अलग-अलग हो सकती हैं.
Android पर अलग-अलग तरह की जांच के बारे में ज़्यादा जानने के लिए, https://developer.android.com/training/testing/fundamentals पर जाएं.
JSON के काेड में दिखाना |
---|
{ "testApk": { object ( |
फ़ील्ड | |
---|---|
testApk |
ज़रूरी है. वह APK जिसमें एक्ज़ीक्यूट किया जाने वाला टेस्ट कोड मौजूद है. |
appPackageId |
जिस ऐप्लिकेशन की जांच की जा रही है उसका Java पैकेज. ऐप्लिकेशन के मेनिफ़ेस्ट की जांच करके, डिफ़ॉल्ट वैल्यू तय की जाती है. |
testPackageId |
यह जांच करने के लिए JavaScript पैकेज का इस्तेमाल करता है. ऐप्लिकेशन के मेनिफ़ेस्ट की जांच करके, डिफ़ॉल्ट वैल्यू तय की जाती है. |
testRunnerClass |
इंस्ट्रुमेंटेशनटेस्टरनर क्लास. ऐप्लिकेशन के मेनिफ़ेस्ट की जांच करके, डिफ़ॉल्ट वैल्यू तय की जाती है. |
testTargets[] |
हर टारगेट को इनमें से किसी एक फ़ॉर्मैट में, पैकेज के नाम या क्लास के नाम के साथ पूरी तरह क्वालिफ़ाइड होना चाहिए:
अगर खाली है, तो मॉड्यूल में मौजूद सभी टारगेट को चलाया जाएगा. |
orchestratorOption |
यह विकल्प कि हर टेस्ट को Android Test Orchestrator के साथ, खुद के इंस्ट्रुमेंटेशन के साथ चलाया जा रहा है या नहीं. ** Orchestrator सिर्फ़ AndroidJUnitRunner वर्शन 1.1 या इसके बाद वाले वर्शन पर काम करता है! ** ऑर्केस्ट्रेटर के ये फ़ायदे हैं:
Android Test Orchestrator के बारे में ज़्यादा जानकारी के लिए, https://developer.android.com/training/testing/junit- परिभाषित html#used-android-test-orchestrator पर जाएं. अगर इस नीति को सेट नहीं किया जाता है, तो ऑर्केस्ट्रा के बिना ही जांच की जाएगी. |
shardingOption |
साथ-साथ कई शार्ड में टेस्ट चलाने का विकल्प. |
यूनियन फ़ील्ड app_under_test . ज़रूरी है. app_under_test इनमें से सिर्फ़ एक हो सकता है: |
|
appApk |
जिस ऐप्लिकेशन की जांच की जा रही है उसका APK. |
appBundle |
जिस ऐप्लिकेशन की जांच की जा रही है उसके लिए कई APK वाला ऐप्लिकेशन बंडल. |
ऐप्लिकेशन बंडल
एक Android ऐप्लिकेशन बंडल फ़ाइल फ़ॉर्मैट, जिसमें एक BundleConfig.pb फ़ाइल, एक बेस मॉड्यूल डायरेक्ट्री, एक शून्य या उससे ज़्यादा डाइनैमिक सुविधा वाले मॉड्यूल डायरेक्ट्री हों.
ऐप्लिकेशन बंडल बनाने के बारे में दिशा-निर्देश पाने के लिए, https://developer.android.com/guide/app-bundle/build पर जाएं.
JSON के काेड में दिखाना |
---|
{ // Union field |
फ़ील्ड | |
---|---|
यूनियन फ़ील्ड bundle . ज़रूरी है. बंडल की जगह की जानकारी. bundle इनमें से सिर्फ़ एक हो सकता है: |
|
bundleLocation |
.aab फ़ाइल, जो जांच में शामिल ऐप्लिकेशन बंडल को दिखाती है. |
ऑर्केस्ट्रेटरविकल्प
जांच करने का तरीका बताता है.
एनम्स | |
---|---|
ORCHESTRATOR_OPTION_UNSPECIFIED |
डिफ़ॉल्ट वैल्यू: सर्वर मोड चुनेगा. फ़िलहाल, ऐसे सिग्नल का इस्तेमाल करके यह देखा जा सकता है कि टेस्ट ऑर्केस्ट्रेटर के बिना किया जाएगा. आने वाले समय में, सभी इंस्ट्रुमेंटेशन टेस्ट ऑर्केस्ट्रेटर की मदद से किए जाएंगे. ऑर्केस्ट्रार के साथ मिलने वाले सभी फ़ायदों की वजह से, इसका इस्तेमाल करने का सुझाव दिया जाता है. |
USE_ORCHESTRATOR |
ऑर्केस्ट्रेटर का इस्तेमाल करके टेस्ट करें. ** सिर्फ़ AndroidJUnitRunner वर्शन 1.1 या इसके बाद वाले वर्शन के साथ काम करता है! ** सुझाया गया. |
DO_NOT_USE_ORCHESTRATOR |
ऑर्केस्ट्रेटर का इस्तेमाल किए बिना टेस्ट करें. |
शार्डिंग विकल्प
शार्डिंग चालू करने के विकल्प.
JSON के काेड में दिखाना |
---|
{ // Union field |
फ़ील्ड | |
---|---|
यूनियन फ़ील्ड
|
|
uniformSharding |
शार्ड की कुल संख्या दिए जाने पर एक समान शार्ड टेस्ट केस दिए जाते हैं. |
manualSharding |
पैकेज, क्लास, और/या तरीकों के बताए गए ग्रुप में टेस्ट केस शार्ड करता है. |
smartSharding |
शार्ड टेस्ट, टेस्ट केस के पिछले समय के रिकॉर्ड के आधार पर किया जाता है. |
यूनिफ़ॉर्मशार्डिंग
शार्ड की कुल संख्या दिए जाने पर एक समान शार्ड टेस्ट केस दिए जाते हैं.
इंस्ट्रुमेंटेशन टेस्ट के लिए, इसका अनुवाद "-e numShard" में किया जाएगा और "-e शार्डइंडेक्स" AndroidJUnitRunner तर्क. यूनिफ़ॉर्म शार्डिंग चालू होने पर, environmentVariables
के ज़रिए इनमें से किसी एक शार्डिंग तर्क को तय करना अमान्य है.
AndroidJUnitRunner में इस्तेमाल किए जाने वाले शार्ड तरीके के आधार पर, इस बात की कोई गारंटी नहीं है कि टेस्ट केस सभी शार्ड में समान रूप से बांट दिए जाएंगे.
JSON के काेड में दिखाना |
---|
{ "numShards": integer } |
फ़ील्ड | |
---|---|
numShards |
ज़रूरी है. बनाए जाने वाले शार्ड की कुल संख्या. यह हमेशा एक पॉज़िटिव संख्या होनी चाहिए. यह संख्या, टेस्ट केस की कुल संख्या से ज़्यादा नहीं होनी चाहिए. एक या उससे ज़्यादा डिवाइसों को चुनने पर, शार्ड की संख्या <= 50 होनी चाहिए. एक या इससे ज़्यादा ARM वर्चुअल डिवाइस चुनने पर, यह 200 से कम होना चाहिए. सिर्फ़ x86 वर्चुअल डिवाइस चुनने पर, यह 500 से कम होना चाहिए. |
मैन्युअलशर्डिंग
पैकेज, क्लास, और/या तरीकों के बताए गए ग्रुप में टेस्ट केस शार्ड करता है.
मैन्युअल शार्डिंग चालू होने पर, EnvironmentVariables के ज़रिए या इंस्ट्रुमेंटेशनटेस्ट में टेस्ट टारगेट तय करना अमान्य है.
JSON के काेड में दिखाना |
---|
{
"testTargetsForShard": [
{
object ( |
फ़ील्ड | |
---|---|
testTargetsForShard[] |
ज़रूरी है. मैन्युअल रूप से बनाए गए प्रत्येक शार्ड के लिए चलाए जाने वाले पैकेज, क्लास, और/या परीक्षण विधियों का समूह. अगर यह फ़ील्ड मौजूद है, तो आपको कम से कम एक शार्ड तय करना होगा. एक या उससे ज़्यादा फ़िज़िकल डिवाइसों को चुनने पर, बार-बार किए जाने वाले testTargetForShard की संख्या 50 से कम होनी चाहिए. एक या इससे ज़्यादा ARM वर्चुअल डिवाइस चुनने पर, यह 200 से कम होना चाहिए. सिर्फ़ x86 वर्चुअल डिवाइस चुनने पर, यह 500 से कम होना चाहिए. |
TesttargetForShard
शार्ड के लिए लक्ष्यों का परीक्षण करें.
JSON के काेड में दिखाना |
---|
{ "testTargets": [ string ] } |
फ़ील्ड | |
---|---|
testTargets[] |
प्रत्येक शार्ड के लिए चलाए जाने वाले पैकेज, क्लास, और/या परीक्षण विधियों का समूह. टारगेट को AndroidJUnitRunner आर्ग्युमेंट फ़ॉर्मैट में बताया जाना चाहिए. उदाहरण के लिए, "package com.my.packages" "क्लास com.my.package.MyClass". टेस्ट टारगेट की संख्या 0 से ज़्यादा होनी चाहिए. |
स्मार्टशार्डिंग
शार्ड टेस्ट, टेस्ट केस के पिछले समय के रिकॉर्ड के आधार पर किया जाता है.
JSON के काेड में दिखाना |
---|
{ "targetedShardDuration": string } |
फ़ील्ड | |
---|---|
targetedShardDuration |
एक शार्ड के अंदर परीक्षण में लगने वाला समय. डिफ़ॉल्ट: 300 सेकंड (5 मिनट). कम से कम, इसकी अनुमति है: 120 सेकंड (2 मिनट). शार्ड की संख्या को समय के आधार पर डाइनैमिक रूप से सेट किया जाता है, ताकि शार्ड की ज़्यादा से ज़्यादा सीमा तय की जा सके (नीचे बताया गया है). हर शार्ड के लिए कम से कम एक टेस्ट केस की गारंटी देने के लिए, शार्ड की संख्या टेस्ट केस की संख्या से ज़्यादा नहीं होगी. शार्ड अवधि तब पार हो जाएगी, जब:
शार्ड अवधि की गारंटी नहीं है, क्योंकि स्मार्ट शार्डिंग, टेस्ट केस के इतिहास और डिफ़ॉल्ट अवधियों का इस्तेमाल करती है, जो शायद सटीक न हों. टेस्ट केस टाइमिंग का रिकॉर्ड खोजने के नियम ये हैं:
चूंकि वास्तविक शार्ड अवधि लक्षित शार्ड अवधि से अधिक हो सकती है, इसलिए हम आपको लक्षित मान को अधिकतम स्वीकृत परीक्षण टाइमआउट (फ़िज़िकल डिवाइसों के लिए 45 मिनट और वर्चुअल के लिए 60 मिनट) से कम से कम 5 मिनट कम सेट करने या आपके द्वारा सेट किए गए कस्टम परीक्षण टाइमआउट मान का उपयोग करने का सुझाव देते हैं. यह तरीका सभी परीक्षण खत्म होने से पहले शार्ड को रद्द करने से बचाता है. ध्यान दें कि शार्ड की ज़्यादा से ज़्यादा संख्या की कोई सीमा तय है. एक या उससे ज़्यादा डिवाइसों को चुनने पर, शार्ड की संख्या <= 50 होनी चाहिए. एक या इससे ज़्यादा ARM वर्चुअल डिवाइस चुनने पर, यह 200 से कम होना चाहिए. सिर्फ़ x86 वर्चुअल डिवाइस चुनने पर, यह 500 से कम होना चाहिए. हर शार्ड के लिए कम से कम एक टेस्ट केस की गारंटी देने के लिए, शार्ड की संख्या टेस्ट केस की संख्या से ज़्यादा नहीं होगी. बनाए गए प्रत्येक शार्ड की गणना दैनिक परीक्षण कोटा में की जाती है. सेकंड में कुल नौ दशमलव अंक, जो ' |
Androidरोबोटेस्ट
ऐसे Android ऐप्लिकेशन की जांच जो वर्चुअल या फ़िज़िकल Android डिवाइस पर ऐप्लिकेशन के बारे में जानकारी हासिल करता है. साथ ही, जांच के दौरान अपराधियों को ढूंढता है और क्रैश हो जाता है.
JSON के काेड में दिखाना |
---|
{ "appPackageId": string, "appInitialActivity": string, "maxDepth": integer, "maxSteps": integer, "roboDirectives": [ { object ( |
फ़ील्ड | |
---|---|
appPackageId |
जिस ऐप्लिकेशन की जांच की जा रही है उसका Java पैकेज. ऐप्लिकेशन के मेनिफ़ेस्ट की जांच करके, डिफ़ॉल्ट वैल्यू तय की जाती है. |
appInitialActivity |
वह शुरुआती गतिविधि जिसका इस्तेमाल ऐप्लिकेशन को शुरू करने के लिए किया जाना चाहिए. |
maxDepth |
रोबो, ट्रैवर्सल स्टैक की ज़्यादा से ज़्यादा गहराई को एक्सप्लोर कर सकता है. रोबो को पहली गतिविधि के बाद ऐप्लिकेशन को एक्सप्लोर करने के लिए, कम से कम 2 होने चाहिए. डिफ़ॉल्ट संख्या 50 है. |
maxSteps |
रोबो इसे ज़्यादा से ज़्यादा कितने कदम चला सकता है. डिफ़ॉल्ट की कोई सीमा नहीं है. |
roboDirectives[] |
क्रॉल के दौरान रोबो को कुछ निर्देश लागू करने चाहिए. इससे उपयोगकर्ता अपनी पसंद के मुताबिक क्रॉल कर सकते हैं. उदाहरण के लिए, जांच खाते का उपयोगकर्ता नाम और पासवर्ड दिया जा सकता है. |
roboMode |
वह मोड जिसमें रोबो को चलना चाहिए. ज़्यादातर क्लाइंट को, सर्वर को इस फ़ील्ड को अपने-आप भरने की अनुमति देनी चाहिए. |
roboScript |
कार्रवाइयों के क्रम वाली JSON फ़ाइल, क्रॉल करने के लिए प्रस्ताव के तौर पर रोबो को परफ़ॉर्म करनी चाहिए. |
startingIntents[] |
क्रॉल करने के लिए ऐप्लिकेशन को लॉन्च करने के लिए इस्तेमाल किए गए इंटेंट. अगर कोई जानकारी नहीं दी जाती है, तो लॉन्चर की मुख्य गतिविधि को लॉन्च किया जाता है. अगर कुछ निर्देश दिए गए हैं, तो सिर्फ़ उन्हें उपलब्ध कराया जाता है. लॉन्चर की मुख्य गतिविधि साफ़ तौर पर बताई जानी चाहिए. |
यूनियन फ़ील्ड app_under_test . ज़रूरी है. app_under_test इनमें से सिर्फ़ एक हो सकता है: |
|
appApk |
जिस ऐप्लिकेशन की जांच की जा रही है उसका APK. |
appBundle |
जिस ऐप्लिकेशन की जांच की जा रही है उसके लिए कई APK वाला ऐप्लिकेशन बंडल. |
रोबोडायरेक्टिव
अगर क्रॉल के दौरान कोई खास यूज़र इंटरफ़ेस (यूआई) एलिमेंट मिलता है, तो रोबो को उसके साथ इंटरैक्ट करने को कहा जाता है. फ़िलहाल, रोबो टेक्स्ट एंट्री या एलिमेंट पर क्लिक कर सकता है.
JSON के काेड में दिखाना |
---|
{
"resourceName": string,
"inputText": string,
"actionType": enum ( |
फ़ील्ड | |
---|---|
resourceName |
ज़रूरी है. टारगेट यूज़र इंटरफ़ेस (यूआई) एलिमेंट के Android संसाधन का नाम. उदाहरण के लिए, Java में: xml में R.string.foo: @string/foo सिर्फ़ "foo" एक हिस्से की ज़रूरत होती है. रेफ़रंस दस्तावेज़: https://developer.android.com/guide/topics/resources/accessing-resources.html |
inputText |
वह टेक्स्ट जिसे रोबो को सेट करने के लिए भेजा जाता है. अगर इसे खाली छोड़ दिया जाता है, तो डायरेक्टिव को संसाधन नाम से मेल खाने वाले एलीमेंट पर क्लिक के रूप में माना जाएगा. |
actionType |
ज़रूरी है. वह कार्रवाई जो रोबो को बताए गए एलिमेंट पर करनी चाहिए. |
रोबो एक्शन टाइप
ऐसी कार्रवाइयां जो रोबो, यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर कर सकती हैं.
एनम्स | |
---|---|
ACTION_TYPE_UNSPECIFIED |
इसका इस्तेमाल न करें. केवल प्रोटो वर्शनिंग के लिए. |
SINGLE_CLICK |
रोबो को बताए गए एलिमेंट पर क्लिक करने के लिए डायरेक्ट करें. अगर बताया गया एलिमेंट क्लिक करने लायक नहीं है, तो नो-ऑप. |
ENTER_TEXT |
रोबो को बताए गए एलिमेंट पर टेक्स्ट डालने के लिए डायरेक्ट करें. अगर बताया गया एलिमेंट चालू नहीं है या टेक्स्ट डालने की अनुमति नहीं देता है, तो नो-ऑप. |
IGNORE |
रोबो को किसी खास एलिमेंट के साथ होने वाले इंटरैक्शन को अनदेखा करने के लिए कहें. |
रोबोमोड
वह मोड जिसमें रोबो को चलना चाहिए.
एनम्स | |
---|---|
ROBO_MODE_UNSPECIFIED |
इसका मतलब है कि सर्वर को मोड चुनना चाहिए. सुझाई गई. |
ROBO_VERSION_1 |
ऐप्लिकेशन को फिर से साइन किए बिना, UIAutomator-ओनली मोड में रोबो को चलाता है |
ROBO_VERSION_2 |
UIAutomator फ़ॉलबैक के साथ मानक एस्प्रेसो में रोबो को चलाता है |
रोबोस्टार्टिंग इंटेंट
क्रॉल करने के लिए शुरुआती गतिविधियां तय करने के लिए मैसेज.
JSON के काेड में दिखाना |
---|
{ "timeout": string, // Union field |
फ़ील्ड | |
---|---|
timeout |
हर इंटेंट के लिए सेकंड में टाइम आउट. सेकंड में कुल नौ दशमलव अंक, जो ' |
यूनियन फ़ील्ड starting_intent . ज़रूरी है. कोई गतिविधि शुरू करने के लिए, इंटेंट के बारे में जानकारी. starting_intent इनमें से सिर्फ़ एक हो सकता है: |
|
launcherActivity |
ऐसा इंटेंट जो लॉन्चर की मुख्य गतिविधि को शुरू करता है. |
startActivity |
ऐसा इंटेंट जो खास जानकारी के साथ कोई गतिविधि शुरू करता है. |
noActivity |
शुरुआती गतिविधि को छोड़ देता है |
LauncherActivityIntent
इस टाइप में कोई फ़ील्ड नहीं है.
इस इंटेंट के बारे में जानकारी देता है, जिससे लॉन्चर की मुख्य गतिविधि को शुरू किया जाता है.
StartActivityIntent
किसी कार्रवाई, यूआरआई, और कैटगरी के ज़रिए तय किया गया शुरुआती इंटेंट.
JSON के काेड में दिखाना |
---|
{ "action": string, "uri": string, "categories": [ string ] } |
फ़ील्ड | |
---|---|
action |
कार्रवाई का नाम. START_ACTIVITY के लिए ज़रूरी है. |
uri |
कार्रवाई का यूआरआई. |
categories[] |
इंटेंट पर सेट की जाने वाली इंटेंट कैटगरी. |
कोई गतिविधि नहीं
इस टाइप में कोई फ़ील्ड नहीं है.
शुरुआती गतिविधि को छोड़ देता है
Androidटेस्टलूप
टेस्ट लूप वाले Android ऐप्लिकेशन का टेस्ट. इंटेंट <intent-name> को स्पष्ट रूप से जोड़ दिया जाएगा, क्योंकि फ़िलहाल गेम ही इस एपीआई का इस्तेमाल करने वाला अकेला उपयोगकर्ता है.
JSON के काेड में दिखाना |
---|
{ "appPackageId": string, "scenarios": [ integer ], "scenarioLabels": [ string ], // Union field |
फ़ील्ड | |
---|---|
appPackageId |
जिस ऐप्लिकेशन की जांच की जा रही है उसका Java पैकेज. ऐप्लिकेशन के मेनिफ़ेस्ट की जांच करके डिफ़ॉल्ट रूप से यह तय किया जाता है. |
scenarios[] |
जांच के दौरान चलाई जाने वाली स्थितियों की सूची. ऐप्लिकेशन के मेनिफ़ेस्ट से मिलने वाले सभी टेस्ट लूप डिफ़ॉल्ट होते हैं. |
scenarioLabels[] |
जांच के दौरान चलाए जाने वाले स्थिति के लेबल की सूची. स्थिति के हिसाब से बनाए गए लेबल, ऐप्लिकेशन के मेनिफ़ेस्ट में बताए गए लेबल के हिसाब से होने चाहिए. उदाहरण के लिए, Player_ Experience और com.google.test.loops.player_experience के साथ मेनिफ़ेस्ट में लेबल किए गए सभी लूप को, एक्ज़ीक्यूशन के लिए com.google.test.loops.player_experience के नाम के साथ जोड़ा जाता है. स्थितियों के बारे में, सिनेरियो फ़ील्ड में भी बताया जा सकता है. |
यूनियन फ़ील्ड app_under_test . ज़रूरी है. जांच करने के लिए Android पैकेज. app_under_test इनमें से सिर्फ़ एक हो सकता है: |
|
appApk |
जिस ऐप्लिकेशन की जांच की जा रही है उसका APK. |
appBundle |
जिस ऐप्लिकेशन की जांच की जा रही है उसके लिए कई APK वाला ऐप्लिकेशन बंडल. |
आईओएसएक्ससीटेस्ट
XCTest फ़्रेमवर्क का इस्तेमाल करने वाले iOS ऐप्लिकेशन की जांच. Xcode, "जांच के लिए बनाएं" विकल्प के साथ काम करता है. यह एक ऐसी .xctestrun फ़ाइल जनरेट करता है जिसमें जांच के स्पेसिफ़िकेशन (तर्क, जांच के तरीके वगैरह) मौजूद होते हैं. इस टेस्ट टाइप में ऐसी ZIP फ़ाइल स्वीकार की जाती है जिसमें .xctestrun फ़ाइल और बिल्ड/प्रॉडक्ट डायरेक्ट्री का कॉन्टेंट होता है. इसमें, जांच करने के लिए ज़रूरी सभी बाइनरी शामिल होती हैं.
JSON के काेड में दिखाना |
---|
{ "testsZip": { object ( |
फ़ील्ड | |
---|---|
testsZip |
ज़रूरी है. वह .zip जिसमें .xctestrun फ़ाइल और DerivedData/Build/Products डायरेक्ट्री का कॉन्टेंट है. अगर xctestrun फ़ील्ड दिया गया है, तो इस ज़िप में .xctestrun फ़ाइल को अनदेखा कर दिया जाता है. |
xctestrun |
एक .xctestrun फ़ाइल जो परीक्षण ज़िप में .xctestrun फ़ाइल को बदल देगी. .xctestrun फ़ाइल में एनवायरमेंट वैरिएबल के साथ-साथ टेस्ट के तरीकों के साथ-साथ दौड़ने और/या उन्हें अनदेखा करने के तरीके भी होते हैं. इसलिए, यह शार्डिंग टेस्ट के लिए मददगार हो सकता है. डिफ़ॉल्ट तौर पर, टेस्ट ज़िप से लिया जाता है. |
xcodeVersion |
जांच के लिए इस्तेमाल किया जाने वाला Xcode वर्शन. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. डिफ़ॉल्ट रूप से, यह Xcode के उस नए वर्शन पर सेट होता है जो Firebase टेस्ट लैब के साथ काम करता है. |
appBundleId |
सिर्फ़ आउटपुट के लिए. जिस ऐप्लिकेशन की जांच की जा रही है उसका बंडल आईडी. |
testSpecialEntitlements |
ऐप्लिकेशन के खास एनटाइटलमेंट की जांच करने का विकल्प. इसे सेट करने पर, खास एनटाइटलमेंट वाले ऐप्लिकेशन को फिर से साइन किया जाएगा. ऐसा, ऐप्लिकेशन के आइडेंटिफ़ायर की जानकारी के साथ किया जाएगा. फ़िलहाल, एपीएस एनवायरमेंट के एनटाइटलमेंट की जांच की जा सकती है. |
आयोटेस्टलूप
ऐसे iOS ऐप्लिकेशन की जांच जो एक या उससे ज़्यादा गेम लूप स्थितियों को लागू करता है. इस तरह की जांच के लिए, संग्रहित किए गए ऐप्लिकेशन (.ipa फ़ाइल) और पूर्णांक की स्थिति स्वीकार की जाती है. ये ऐसे पूर्णांक होते हैं जिन्हें ऐप्लिकेशन पर क्रम से लागू किया जाएगा.
JSON के काेड में दिखाना |
---|
{
"appIpa": {
object ( |
फ़ील्ड | |
---|---|
appIpa |
ज़रूरी है. जिस ऐप्लिकेशन की जांच करनी है उसका .ipa. |
scenarios[] |
जांच के दौरान चलाई जाने वाली स्थितियों की सूची. जानकारी उपलब्ध न होने पर, डिफ़ॉल्ट तौर पर सिंगल स्थिति 0 हो जाती है. |
appBundleId |
सिर्फ़ आउटपुट के लिए. जिस ऐप्लिकेशन की जांच की जा रही है उसका बंडल आईडी. |
आईओसरोबोटेस्ट
यह ऐसी जांच है जो iOS डिवाइस पर किसी iOS ऐप्लिकेशन को एक्सप्लोर करती है.
JSON के काेड में दिखाना |
---|
{ "appIpa": { object ( |
फ़ील्ड | |
---|---|
appIpa |
ज़रूरी है. इस फ़ाइल में सेव किए गए ipa का इस्तेमाल, जांच करने के लिए किया जाना चाहिए. |
appBundleId |
ऐप्लिकेशन की जांच में लगे ऐप्लिकेशन का बंडल आईडी. इसे ऐप्लिकेशन के "Info.plist" की जांच करके तय किया जाता है फ़ाइल से लिए जाते हैं. |
roboScript |
क्रॉल को कस्टमाइज़ करने के लिए एक वैकल्पिक रोबोस्क्रिप्ट. रोबोस्क्रिप्ट के बारे में ज़्यादा जानने के लिए, https://firebase.google.com/docs/test-lab/android/robo-scripts-reference को देखें. |
एनवायरमेंट मैट्रिक्स
वातावरण का मैट्रिक्स, जिसमें टेस्ट करना है.
JSON के काेड में दिखाना |
---|
{ // Union field |
फ़ील्ड | |
---|---|
यूनियन फ़ील्ड environment_matrix . ज़रूरी है. एनवायरमेंट मैट्रिक्स. environment_matrix इनमें से सिर्फ़ एक हो सकता है: |
|
androidMatrix |
Android डिवाइसों का मैट्रिक्स. |
androidDeviceList |
Android डिवाइसों की सूची; टेस्ट सिर्फ़ बताए गए डिवाइस पर किया जाएगा. |
iosDeviceList |
iOS डिवाइसों की सूची. |
एंड्रॉयडमैट्रिक्स
Android डिवाइस कॉन्फ़िगरेशन के क्रमचयों का सेट, दी गई ऐक्सिस के क्रॉस-प्रॉडक्ट से तय होता है. आंतरिक रूप से, दिए गए AndroidMatrix को Androidडिवाइसों के सेट में विस्तार दिया जाएगा.
सिर्फ़ काम करने वाले क्रमचय को इंस्टैंशिएट किया जाएगा. अमान्य क्रमचय (उदाहरण के लिए, असंगत मॉडल/वर्शन) को अनदेखा कर दिया जाता है.
JSON के काेड में दिखाना |
---|
{ "androidModelIds": [ string ], "androidVersionIds": [ string ], "locales": [ string ], "orientations": [ string ] } |
फ़ील्ड | |
---|---|
androidModelIds[] |
ज़रूरी है. इस्तेमाल किए जाने वाले Android डिवाइस के सेट के आईडी. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. |
androidVersionIds[] |
ज़रूरी है. इस्तेमाल किए जाने वाले Android OS वर्शन के सेट के आईडी. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. |
locales[] |
ज़रूरी है. स्थान-भाषाओं का सेट, जिसे टेस्ट डिवाइस जांच के लिए चालू करेगा. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. |
orientations[] |
ज़रूरी है. परीक्षण करने के लिए ओरिएंटेशन का सेट. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. |
Androidडिवाइस सूची
Android डिवाइस कॉन्फ़िगरेशन की ऐसी सूची जिसमें टेस्ट करना है.
JSON के काेड में दिखाना |
---|
{
"androidDevices": [
{
object ( |
फ़ील्ड | |
---|---|
androidDevices[] |
ज़रूरी है. Android डिवाइसों की सूची. |
IosDeviceList
iOS डिवाइस कॉन्फ़िगरेशन की ऐसी सूची जिसमें टेस्ट करना है.
JSON के काेड में दिखाना |
---|
{
"iosDevices": [
{
object ( |
फ़ील्ड | |
---|---|
iosDevices[] |
ज़रूरी है. iOS डिवाइसों की सूची. |
Iosडिवाइस
सिर्फ़ एक iOS डिवाइस.
JSON के काेड में दिखाना |
---|
{ "iosModelId": string, "iosVersionId": string, "locale": string, "orientation": string } |
फ़ील्ड | |
---|---|
iosModelId |
ज़रूरी है. इस्तेमाल किए जाने वाले iOS डिवाइस का आईडी. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. |
iosVersionId |
ज़रूरी है. इस्तेमाल किए जाने वाले iOS के अहम सॉफ़्टवेयर वर्शन का आईडी. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. |
locale |
ज़रूरी है. जांच के लिए इस्तेमाल किए जाने वाले टेस्ट डिवाइस की स्थान-भाषा. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. |
orientation |
ज़रूरी है. टेस्ट के दौरान डिवाइस किस तरह इस्तेमाल किया जाता है. काम करने वाले विकल्प पाने के लिए, TestEnvironment DiscoveryService का इस्तेमाल करें. |
जांच करना
सिंगल एनवायरमेंट में सिंगल टेस्ट किया जाता है.
JSON के काेड में दिखाना |
---|
{ "id": string, "matrixId": string, "projectId": string, "testSpecification": { object ( |
फ़ील्ड | |
---|---|
id |
सिर्फ़ आउटपुट के लिए. सेवा की ओर से सेट किया गया यूनीक आईडी. |
matrixId |
सिर्फ़ आउटपुट के लिए. उस TestMatrix का आईडी. |
projectId |
सिर्फ़ आउटपुट के लिए. वह क्लाउड प्रोजेक्ट जिसके पास जांच का मालिकाना हक है. |
testSpecification |
सिर्फ़ आउटपुट के लिए. टेस्ट करने का तरीका. |
shard |
सिर्फ़ आउटपुट के लिए. शार्ड के बारे में विवरण. |
environment |
सिर्फ़ आउटपुट के लिए. होस्ट मशीन को कॉन्फ़िगर करने का तरीका. |
state |
सिर्फ़ आउटपुट के लिए. यह बताता है कि जांच अभी कितनी प्रोग्रेस में है (उदाहरण के लिए, समाप्त). |
toolResultsStep |
सिर्फ़ आउटपुट के लिए. जहां इस प्रोसेस के नतीजे लिखे जाते हैं. |
timestamp |
सिर्फ़ आउटपुट के लिए. इस टेस्ट के शुरू होने का समय. आरएफ़सी3339 यूटीसी "ज़ुलु" में टाइमस्टैंप फ़ॉर्मैट, नैनोसेकंड रिज़ॉल्यूशन और ज़्यादा से ज़्यादा नौ फ़्रैक्शनल अंकों के साथ हो सकता है. उदाहरण: |
testDetails |
सिर्फ़ आउटपुट के लिए. चल रहे टेस्ट के बारे में ज़्यादा जानकारी. |
शार्ड
सिर्फ़ आउटपुट के लिए. शार्ड के बारे में विवरण.
JSON के काेड में दिखाना |
---|
{
"shardIndex": integer,
"numShards": integer,
"testTargetsForShard": {
object ( |
फ़ील्ड | |
---|---|
shardIndex |
सिर्फ़ आउटपुट के लिए. सभी शार्ड के बीच शार्ड का इंडेक्स. |
numShards |
सिर्फ़ आउटपुट के लिए. शार्ड की कुल संख्या. |
testTargetsForShard |
सिर्फ़ आउटपुट के लिए. हर शार्ड के लिए टारगेट की जांच करें. इसे सिर्फ़ मैन्युअल शार्डिंग के लिए सेट किया गया है. |
estimatedShardDuration |
सिर्फ़ आउटपुट के लिए. अगर उपलब्ध हो, तो टेस्ट केस के समय के पिछले रिकॉर्ड के आधार पर शार्ड अवधि का अनुमान लगाया जाता है. सेकंड में कुल नौ दशमलव अंक, जो ' |
परिवेश
वह एनवायरमेंट जिसमें टेस्ट किया जाता है.
JSON के काेड में दिखाना |
---|
{ // Union field |
फ़ील्ड | |
---|---|
यूनियन फ़ील्ड environment . ज़रूरी है. आस-पास का माहौल. environment इनमें से सिर्फ़ एक हो सकता है: |
|
androidDevice |
ऐसा Android डिवाइस जिसका इस्तेमाल Android के टेस्ट के साथ किया जाना चाहिए. |
iosDevice |
iOS डिवाइस, जिसका इस्तेमाल iOS टेस्ट के साथ किया जाना चाहिए. |
टेस्टस्टेट
किसी जांच के निष्पादन या मैट्रिक्स की स्थिति (यानी, प्रोग्रेस).
एनम्स | |
---|---|
TEST_STATE_UNSPECIFIED |
इस्तेमाल न करें. केवल प्रोटो वर्शनिंग के लिए. |
VALIDATING |
एक्ज़ीक्यूशन या मैट्रिक्स की पुष्टि की जा रही है. |
PENDING |
निष्पादन या मैट्रिक्स संसाधनों के उपलब्ध होने का इंतज़ार कर रहा है. |
RUNNING |
अभी इसका निष्पादन प्रोसेस हो रहा है. इसे सिर्फ़ एक्ज़ीक्यूशन के दौरान सेट किया जा सकता है. |
FINISHED |
एक्ज़ीक्यूशन या मैट्रिक्स सामान्य रूप से खत्म हो गया हो. मैट्रिक्स पर इसका मतलब है कि मैट्रिक्स के लेवल की प्रोसेसिंग सामान्य रूप से पूरी हो रही है, लेकिन अलग-अलग प्रोग्राम को एक्ज़ीक्यूट करने की प्रोसेस में गड़बड़ी हो सकती है. |
ERROR |
इंफ़्रास्ट्रक्चर में गड़बड़ी की वजह से, एक्ज़ीक्यूशन या मैट्रिक्स रुक गया है. |
UNSUPPORTED_ENVIRONMENT |
यह एक्ज़ीक्यूट नहीं किया जा सका, क्योंकि यह ऐसे एनवायरमेंट से जुड़ा है जो काम नहीं करता. इसे सिर्फ़ एक्ज़ीक्यूशन के दौरान सेट किया जा सकता है. |
INCOMPATIBLE_ENVIRONMENT |
यह एक्ज़ीक्यूट नहीं किया जा सका, क्योंकि दिए गए इनपुट, अनुरोध किए गए एनवायरमेंट के साथ काम नहीं करते. उदाहरण: अनुरोध किया गया AndroidVersion, APK के minSdkVersion से कम है इसे सिर्फ़ एक्ज़ीक्यूशन के दौरान सेट किया जा सकता है. |
INCOMPATIBLE_ARCHITECTURE |
यह एक्ज़ीक्यूट नहीं किया जा सका, क्योंकि दिए गए इनपुट, अनुरोध किए गए आर्किटेक्चर के साथ काम नहीं करते. उदाहरण: अनुरोध किया गया डिवाइस, दिए गए APK में नेटिव कोड को चलाने की सुविधा नहीं देता है इसे सिर्फ़ एक्ज़ीक्यूशन के दौरान सेट किया जा सकता है. |
CANCELLED |
उपयोगकर्ता ने निष्पादन रद्द कर दिया. इसे सिर्फ़ एक्ज़ीक्यूशन के दौरान सेट किया जा सकता है. |
INVALID |
एक्ज़ीक्यूशन या मैट्रिक्स नहीं चलाया जा सका, क्योंकि दिए गए इनपुट मान्य नहीं हैं. उदाहरण: इनपुट फ़ाइल सही तरह की नहीं है, खराब है या खराब है या उसे मैलवेयर के तौर पर फ़्लैग किया गया है |
टूल के नतीजे का चरण
यह टूल के नतीजों के चरण से जुड़ा संसाधन दिखाता है.
इसमें Testएक्ज़िक्यूशन के नतीजे आते हैं.
JSON के काेड में दिखाना |
---|
{ "projectId": string, "historyId": string, "executionId": string, "stepId": string } |
फ़ील्ड | |
---|---|
projectId |
सिर्फ़ आउटपुट के लिए. वह क्लाउड प्रोजेक्ट जिसके पास टूल के नतीजों वाले चरण का मालिकाना हक होता है. |
historyId |
सिर्फ़ आउटपुट के लिए. टूल के खोज नतीजों का इतिहास आईडी. |
executionId |
सिर्फ़ आउटपुट के लिए. टूल, एक्ज़ीक्यूशन आईडी बनाता है. |
stepId |
सिर्फ़ आउटपुट के लिए. टूल नतीजों के चरण का आईडी. |
टेस्ट की जानकारी
चल रहे टेस्ट की प्रोग्रेस के बारे में ज़्यादा जानकारी.
JSON के काेड में दिखाना |
---|
{ "progressMessages": [ string ], "errorMessage": string } |
फ़ील्ड | |
---|---|
progressMessages[] |
सिर्फ़ आउटपुट के लिए. जांच की प्रोग्रेस के बारे में पूरी जानकारी, जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. उदाहरण के लिए: "डिवाइस का प्रावधान करना", "शुरुआती टेस्ट". एक्ज़ीक्यूशन के दौरानप्रोग्रेस मैसेज के आखिर में नया डेटा जोड़ा जा सकता है. |
errorMessage |
सिर्फ़ आउटपुट के लिए. अगर TestState ERROR है, तो इस स्ट्रिंग में गड़बड़ी के बारे में ऐसी जानकारी होगी जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. |
रिज़ल्ट स्टोरेज
वे जगहें जहां जांच के नतीजे सेव किए जाते हैं.
JSON के काेड में दिखाना |
---|
{ "googleCloudStorage": { object ( |
फ़ील्ड | |
---|---|
googleCloudStorage |
ज़रूरी है. |
toolResultsHistory |
टूल के नतीजों का इतिहास, जिसमें टूल के नतीजों को एक्ज़ीक्यूट करने की जानकारी शामिल होती है. इस जानकारी में, नतीजे लिखे जाते हैं. अगर यह सेवा नहीं दी जाती है, तो सेवा में सही वैल्यू चुनी जाएगी. |
toolResultsExecution |
सिर्फ़ आउटपुट के लिए. टूल के नतीजे, एक्ज़ीक्यूट होने के दौरान जनरेट होते हैं. |
resultsUrl |
सिर्फ़ आउटपुट के लिए. Firebase Web Console में नतीजों के यूआरएल. |
Google क्लाउड-स्टोरेज
Google Cloud Storage (GCS) में स्टोरेज की जगह.
JSON के काेड में दिखाना |
---|
{ "gcsPath": string } |
फ़ील्ड | |
---|---|
gcsPath |
ज़रूरी है. GCS (जीसीएस) में मौजूद उस डायरेक्ट्री का पाथ जिसमें इस जांच के नतीजे शामिल होंगे. अनुरोध करने वाले उपयोगकर्ता के पास, दिए गए पाथ में बकेट पर लिखने का ऐक्सेस होना चाहिए. |
टूल के नतीजे का इतिहास
यह टूल के नतीजों के इतिहास का संसाधन दिखाता है.
JSON के काेड में दिखाना |
---|
{ "projectId": string, "historyId": string } |
फ़ील्ड | |
---|---|
projectId |
ज़रूरी है. वह क्लाउड प्रोजेक्ट जिसके पास टूल के नतीजों के इतिहास का मालिकाना हक है. |
historyId |
ज़रूरी है. टूल के खोज नतीजों का इतिहास आईडी. |
टूल के नतीजे लागू करना
यह टूल के नतीजे लागू करने का संसाधन दिखाता है.
इसमें TestMatrix के नतीजे मौजूद हैं.
JSON के काेड में दिखाना |
---|
{ "projectId": string, "historyId": string, "executionId": string } |
फ़ील्ड | |
---|---|
projectId |
सिर्फ़ आउटपुट के लिए. वह क्लाउड प्रोजेक्ट जिसके पास टूल के नतीजों को एक्ज़ीक्यूट करने की अनुमति होती है. |
historyId |
सिर्फ़ आउटपुट के लिए. टूल के खोज नतीजों का इतिहास आईडी. |
executionId |
सिर्फ़ आउटपुट के लिए. टूल, एक्ज़ीक्यूशन आईडी बनाता है. |
अमान्यMatrixDetails
मैट्रिक्स को अमान्य मानने की पूरी वजह.
एनम्स | |
---|---|
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/studio/build/application-id भी देखें |
TEST_SAME_AS_APP |
जांच पैकेज और ऐप्लिकेशन पैकेज एक जैसे हैं. |
NO_INSTRUMENTATION |
परीक्षण apk किसी इंस्ट्रुमेंटेशन की घोषणा नहीं करता है. |
NO_SIGNATURE |
इनपुट ऐप्लिकेशन apk में हस्ताक्षर नहीं है. |
INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE |
उपयोगकर्ता की ओर से या टेस्ट APK की मेनिफ़ेस्ट फ़ाइल में बताई गई, टेस्ट रनर क्लास, Android Test Orchestrator के साथ काम नहीं करती. Orchestrator, सिर्फ़ AndroidJUnitRunner वर्शन 1.1 या इसके बाद वाले वर्शन पर काम करता है. DO_NOT_USE_ORCHESTRATOR OrchestratorOption का इस्तेमाल करके, ऑर्केस्ट्रेटर को बंद किया जा सकता है. |
NO_TEST_RUNNER_CLASS |
जांच 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 टेस्ट में "IsAppHostedTestBundle" भी होना चाहिए == "सही" xctestrun फ़ाइल में शामिल करें. |
PLIST_CANNOT_BE_PARSED |
XCTest ज़िप में एक Info.plist फ़ाइल को पार्स नहीं किया जा सका. |
TEST_ONLY_APK |
APK को "testOnly" के तौर पर मार्क किया जाता है. यह अब काम नहीं करता और फ़िलहाल इसका इस्तेमाल नहीं किया जा रहा है. |
MALFORMED_IPA |
इनपुट IPA को पार्स नहीं किया जा सका. |
MISSING_URL_SCHEME |
ऐप्लिकेशन, गेम लूप यूआरएल स्कीम को रजिस्टर नहीं करता है. |
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/consinuous#requirements |
UNKNOWN_PERMISSION_ERROR |
इस जांच को चलाने के लिए अनुमति में कोई ऐसी समस्या आई जिसकी जानकारी नहीं है. |
मैट्रिक्स एरर जानकारी
किसी मैट्रिक्स से जुड़ी एक गड़बड़ी या समस्या के बारे में बताता है.
JSON के काेड में दिखाना |
---|
{ "reason": string, "message": string } |
फ़ील्ड | |
---|---|
reason |
सिर्फ़ आउटपुट के लिए. गड़बड़ी की वजह. यह BACKUP_SNAKE_CASE में मौजूद कॉन्सटेंट वैल्यू है, जो गड़बड़ी की वजह का पता लगाती है. |
message |
सिर्फ़ आउटपुट के लिए. TestMatrix में गड़बड़ी के बारे में ऐसा मैसेज जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. ज़्यादा जानकारी और समस्या को ठीक करने के संभावित विकल्पों के साथ, |
नतीजे की खास जानकारी
खत्म हो चुके टेस्ट मैट्रिक्स के लिए नतीजे की खास जानकारी.
एनम्स | |
---|---|
OUTCOME_SUMMARY_UNSPECIFIED |
इस्तेमाल न करें. केवल प्रोटो वर्शनिंग के लिए. |
SUCCESS |
टेस्ट मैट्रिक्स चल गया, उदाहरण के लिए:
|
FAILURE |
कोई काम नहीं हुआ, उदाहरण के लिए:
|
INCONCLUSIVE |
कोई गड़बड़ी हुई. दौड़ को अब भी असफल माना जाना चाहिए, लेकिन यह एक क्षणिक समस्या हो सकती है और परीक्षण को फिर से चलाना सफल हो सकता है. |
SKIPPED |
सभी जांचों को स्किप कर दिया गया, उदाहरण के लिए:
|
तरीके |
|
---|---|
|
किसी टेस्ट मैट्रिक्स में अधूरे टेस्ट एक्ज़ीक्यूशन को रद्द करता है. |
|
यह तय किए गए निर्देशों के हिसाब से, टेस्ट का मैट्रिक्स बनाता और चलाता है. |
|
टेस्ट मैट्रिक्स बनने और उसके बनने के बाद, उसकी स्थिति की जांच की जाती है. |