জিক্লাউড সিএলআই দিয়ে পরীক্ষা শুরু করুন

এই নির্দেশিকাটি বর্ণনা করে কিভাবে gcloud CLI ব্যবহার করে একটি ইন্সট্রুমেন্টেশন, রোবো বা গেম লুপ পরীক্ষা চালাতে হয়।

Test Lab আপনি আপনার অ্যান্ড্রয়েড অ্যাপের সাথে ব্যবহার করতে পারেন এমন gcloud কমান্ডের একটি সম্পূর্ণ তালিকার জন্য, gcloud firebase test android রেফারেন্স ডকুমেন্টেশন দেখুন।

আপনি শুরু করার আগে

যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন

ধাপ 1. gcloud CLI সেট আপ করুন

  1. Google Cloud SDK ডাউনলোড করুন
  2. এর মধ্যে রয়েছে gcloud CLI টুল।

  3. নিশ্চিত করুন যে আপনার ইনস্টলেশন আপ টু ডেট:
    gcloud components update
    
  4. আপনার Google অ্যাকাউন্ট ব্যবহার করে gcloud CLI-তে সাইন ইন করুন:
    gcloud auth login
    
  5. gcloud-এ আপনার Firebase প্রকল্প সেট করুন, যেখানে PROJECT_ID হল আপনার Firebase প্রকল্পের ID:
    gcloud config set project PROJECT_ID
    

ধাপ 2. উপলব্ধ পরীক্ষা ডিভাইস পরীক্ষা করুন

আপনার পরীক্ষার জন্য উপলব্ধ টেস্ট ডিভাইস এবং লোকেলগুলি দেখতে নিম্নলিখিত gcloud কমান্ডগুলি ব্যবহার করুন৷

একটি বিকল্প হিসাবে, আপনি এখনই কমান্ডগুলি চালানো শুরু করতে নমুনা নোটপ্যাড অ্যাপটি ডাউনলোড করতে পারেন। বাইনারি ফাইল app-debug-unaligned.apk এবং ইনস্ট্রুমেন্টেশন টেস্ট ফাইল app-debug-test-unaligned.apk ব্যবহার করুন, যা NotePad/app/build/outputs/apk/ এ অবস্থিত।

  • models list : আপনার বিরুদ্ধে পরীক্ষা করার জন্য উপলব্ধ Android ডিভাইসগুলির একটি বর্তমান তালিকা পান।

    gcloud firebase test android models list

    কমান্ড আউটপুটে:

    • কলাম MODEL_ID শনাক্তকারী রয়েছে যা আপনি পরে ডিভাইস মডেলে পরীক্ষা চালানোর জন্য ব্যবহার করতে পারেন।
    • কলাম OS_VERSION_ID ডিভাইস দ্বারা সমর্থিত অপারেটিং সিস্টেম সংস্করণ রয়েছে৷

    উদাহরণ আউটপুট

    gcloud firebase test android models list output

  • models describe : একটি নির্দিষ্ট Android MODEL_ID সম্পর্কে আরও তথ্য পান।

    gcloud firebase test android models describe MODEL_ID

    আউটপুটে ডিভাইস মডেলের ব্র্যান্ড, প্রস্তুতকারক, OS সংস্করণ, সমর্থিত API স্তর, সমর্থিত অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI), প্রকাশের তারিখ এবং ডিভাইসটি শারীরিক বা ভার্চুয়াল কিনা তা রয়েছে।

  • versions list : পরীক্ষা করার জন্য বর্তমানে উপলব্ধ ওএস সংস্করণগুলির একটি তালিকা পান।

    gcloud firebase test android versions list

    আপনি কমান্ড আউটপুটের প্রথম দুটি কলাম ( OS_VERSION_ID এবং VERSION ) থেকে একটি শনাক্তকারী ব্যবহার করতে পারেন, পরে একটি Android OS সংস্করণের বিরুদ্ধে পরীক্ষা চালানোর জন্য৷ আপনি যদি পরীক্ষা করার জন্য Android OS সংস্করণগুলি নির্দিষ্ট না করেন, তাহলে TAGS কলামের অধীনে উল্লেখ করা ডিফল্ট ব্যবহার করা হয়।

    উদাহরণ আউটপুট

    gcloud android versions list

  • locales list : পরীক্ষা করার জন্য উপলব্ধ লোকেলের বর্তমান তালিকা পান।

    gcloud firebase test android versions list

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

ধাপ 3. আপনার পরীক্ষা চালান

এখন আপনি আপনার অ্যাপ পরীক্ষা করার জন্য উপলব্ধ ডিভাইস মডেল, লোকেল এবং OS সংস্করণের পরিসর জানেন, আপনি রোবো বা উপকরণ পরীক্ষা চালানোর জন্য gcloud firebase test android run কমান্ড এবং --device পতাকা ব্যবহার করে ডিভাইসগুলি নির্দিষ্ট করতে পারেন৷

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

এমনকি আপনার কোনো ইন্সট্রুমেন্টেশন পরীক্ষা না থাকলেও, আপনি এখনও আপনার অ্যাপে বাগ খুঁজতে পারেন। আপনার অ্যাপের ইউজার ইন্টারফেসের একটি স্বয়ংক্রিয় পর্যালোচনা সম্পাদন করতে Robo পরীক্ষা ব্যবহার করুন। রোবো টেস্ট অ্যাপের ইউজার ইন্টারফেসের মাধ্যমে বিভিন্ন পাথের স্ট্যাটিক বিশ্লেষণ করে অ্যাপটিকে অনুশীলন করে এবং তারপর ক্র্যাশ এবং অন্যান্য সম্ভাব্য সমস্যাগুলি খুঁজে পেতে অ্যাপটির মাধ্যমে ক্রল করে।

একটি রোবো পরীক্ষা চালানোর জন্য, নিম্নলিখিত উদাহরণ কমান্ডটি চালান:

gcloud firebase test android run \
  --type robo \
  --app app-debug-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape \
  --timeout 90s \
  --client-details matrixLabel="Example matrix label"
  • --type robo পরামিতি অন্তর্নিহিত যদি কোনো --type মান নির্দিষ্ট করা না থাকে।
  • Firebase কনসোলে আপনার পরীক্ষার ম্যাট্রিক্স সনাক্ত করতে এবং সনাক্ত করতে সাহায্য করার জন্য, আপনি ঐচ্ছিক --client-details matrixLabel="Example matrix label" পতাকাটি আপনার পরীক্ষার ম্যাট্রিক্স লেবেল করতে ব্যবহার করতে পারেন।
  • আপনি টাইপ করে পরীক্ষা চালানোর জন্য কমান্ড লাইন বিকল্পগুলির সম্পূর্ণ সেট দেখতে পারেন: gcloud help firebase test android run

কমান্ড লাইনে এই আর্গুমেন্টগুলি নির্দিষ্ট করার বিকল্প হিসাবে, আপনি একটি YAML- ফরম্যাটেড আর্গুমেন্ট ফাইলে ঐচ্ছিকভাবে আপনার আর্গুমেন্টগুলি নির্দিষ্ট করতে পারেন৷ এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন তা শিখতে gcloud topic arg-files চালান।

রোবো পরীক্ষা থেকে পরীক্ষার ফলাফলগুলি কীভাবে তদন্ত করতে হয় তা শিখতে, আপনার পরীক্ষার ফলাফল বিশ্লেষণ দেখুন।

একটি ইন্সট্রুমেন্টেশন পরীক্ষা চালান

এখন আপনার নির্দিষ্ট অ্যান্ড্রয়েড ডিভাইস কনফিগারেশনে নোটপ্যাড অ্যাপের এসপ্রেসো পরীক্ষা চালানোর জন্য gcloud কমান্ড লাইন টুল ব্যবহার করুন। app-debug-test-unaligned.apk এ পরীক্ষা চালানোর জন্য instrumentation পরীক্ষার ধরন ব্যবহার করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app app-debug-unaligned.apk \
  --test app-debug-test-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape
  --client-details matrixLabel="Example matrix label"
  • --type ইন্সট্রুমেন্টেশন প্যারামিটার অন্তর্নিহিত যদি একটি পরীক্ষা APK --test সাথে নির্দিষ্ট করা হয়।
  • Firebase কনসোলে আপনার পরীক্ষার ম্যাট্রিক্স সনাক্ত করতে এবং সনাক্ত করতে সাহায্য করার জন্য, আপনি ঐচ্ছিক --client-details matrixLabel="Example matrix label" পতাকাটি আপনার পরীক্ষার ম্যাট্রিক্স লেবেল করতে ব্যবহার করতে পারেন।
  • আপনি gcloud help firebase test android run টাইপ করে পরীক্ষা চালানোর জন্য কমান্ড লাইন বিকল্পগুলির সম্পূর্ণ সেট দেখতে পারেন।

কমান্ড লাইনে এই আর্গুমেন্টগুলি নির্দিষ্ট করার বিকল্প হিসাবে, আপনি একটি YAML- ফরম্যাটেড আর্গুমেন্ট ফাইলে ঐচ্ছিকভাবে আপনার আর্গুমেন্টগুলি নির্দিষ্ট করতে পারেন৷ এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন তা শিখতে gcloud topic arg-files চালান।

জিক্লাউড সিএলআই অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর সমর্থন করে। অর্কেস্ট্রেটরের জন্য AndroidJUnitRunner v1.1 বা উচ্চতর প্রয়োজন। এটি সক্ষম করতে, ব্যবহার করুন gcloud firebase test android run
--use-orchestrator পতাকা। এটি নিষ্ক্রিয় করতে --no-use-orchestrator পতাকা ব্যবহার করুন।

উপরে দেখানো নয় এমন অতিরিক্ত পতাকা ব্যবহার করে Test Lab কীভাবে আপনার ইন্সট্রুমেন্টেশন পরীক্ষা চালায় তাও আপনি নিয়ন্ত্রণ করতে পারেন। উদাহরণ স্বরূপ, আপনি --test-targets পতাকা ব্যবহার করতে পারেন একটি একক ক্লাস বা আপনার পরীক্ষার APK দ্বারা ব্যবহৃত একটি ক্লাস পদ্ধতি পরীক্ষা করতে। আপনি --num-flaky-test-attempts ফ্ল্যাগ ব্যবহার করে আপনার যে পরীক্ষাটি ব্যর্থ হয়েছে তা আসলেই ফ্ল্যাকি ছিল কিনা তাও খুঁজে বের করতে পারেন, যা নির্দিষ্ট করে দেয় যে পরীক্ষার ক্ষেত্রে এক বা একাধিক পরীক্ষার ক্ষেত্রে কতবার পুনরায় চেষ্টা করা উচিত। কোনো কারণে ব্যর্থ। আরও জানতে, দেখুন gcloud firebase test android রান

ইন্সট্রুমেন্টেশন পরীক্ষার জন্য কোড কভারেজ রিপোর্ট

Test Lab কোড কভারেজ রিপোর্টিং টুল EMMA এবং JaCoCo সমর্থন করে। আপনি যদি আপনার অ্যাপের জন্য বিল্ডে কোনো একটি টুল ইন্টিগ্রেটেড থাকেন, তাহলে আপনি কিছু অতিরিক্ত আর্গুমেন্ট সহ gcloud firebase test android run চালিয়ে Test Lab পরীক্ষার জন্য একটি কোড কভারেজ রিপোর্ট পেতে পারেন। যদি অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর সক্ষম না থাকে, তাহলে নিম্নলিখিতগুলি ব্যবহার করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables coverage=true,coverageFile="/sdcard/Download/coverage.ec" \
  --directories-to-pull /sdcard/Download

আপনি যদি অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর ব্যবহার করার সময় কোড কভারেজ রিপোর্ট তৈরি করেন, তাহলে আপনার পরিবেশের ভেরিয়েবলগুলি নিম্নরূপ পরিবর্তন করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables clearPackageData=true,coverage=true,coverageFilePath="/sdcard/Download/" \
  --directories-to-pull /sdcard/Download

যখন Test Lab আপনার পরীক্ষাগুলি চালানো শেষ করে, তখন Google Cloud Storage আপনার কোড কভারেজ রিপোর্টগুলি খুঁজুন:

  1. আপনার টার্মিনালে পরীক্ষার ফলাফল টেবিলের উপরে gcloud টুলটি মুদ্রিত Firebase কনসোল লিঙ্কটি খুলুন।
  2. সেই এক্সিকিউশনের বিশদ পৃষ্ঠাটি খুলতে সেই লিঙ্কের তালিকা থেকে একটি পরীক্ষা সম্পাদনে ক্লিক করুন।
  3. সেই এক্সিকিউশনের পরীক্ষার ফলাফল সহ Cloud Storage বালতিতে যেতে পরীক্ষার ফলাফলে ক্লিক করুন।
  4. আপনার কোড কভারেজ রিপোর্ট দেখতে artifacts/coverage.ec খুলুন।

আপনার পরীক্ষার ফলাফল বিশ্লেষণ করুন

কয়েক মিনিট পরে, আপনার পরীক্ষার ফলাফলের একটি প্রাথমিক সারাংশ gcloud টুল দ্বারা মুদ্রিত হয়:

Command test results

আপনার কমান্ড লাইন টেস্ট রানের আউটপুটে পরীক্ষার ফলাফল দেখার জন্য একটি লিঙ্কও রয়েছে। এই ফলাফলগুলি কীভাবে ব্যাখ্যা করতে হয় সে সম্পর্কে আরও জানতে, Android ফলাফলের জন্য Firebase Test Lab বিশ্লেষণ করা দেখুন।

রোবো পরীক্ষার সাথে কাস্টম লগইন এবং টেক্সট ইনপুট

রোবো পরীক্ষা স্বয়ংক্রিয়ভাবে সাইন-ইন স্ক্রীন সম্পূর্ণ করে যা প্রমাণীকরণের জন্য একটি Google অ্যাকাউন্ট ব্যবহার করে, যদি না আপনি --no-auto-google-login প্যারামিটার ব্যবহার করেন। এটি আপনার প্রদান করা টেস্ট অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে কাস্টম লগইন স্ক্রিনগুলিও সম্পূর্ণ করতে পারে৷ আপনি আপনার অ্যাপ দ্বারা ব্যবহৃত অন্যান্য পাঠ্য ক্ষেত্রের জন্য কাস্টম ইনপুট পাঠ্য প্রদান করতে এই প্যারামিটারটি ব্যবহার করতে পারেন।

আপনার অ্যাপে পাঠ্য ক্ষেত্রগুলি সম্পূর্ণ করতে, --robo-directives প্যারামিটার ব্যবহার করুন এবং key-value জোড়াগুলির একটি কমা-বিভাজিত তালিকা প্রদান করুন, যেখানে key লক্ষ্য UI উপাদানের Android সম্পদের নাম এবং value পাঠ্য স্ট্রিং। . এছাড়াও আপনি এই পতাকাটি ব্যবহার করতে পারেন Robo কে নির্দিষ্ট UI উপাদান (যেমন, "লগআউট" বোতাম) উপেক্ষা করতে বলতে। EditText ক্ষেত্র সমর্থিত কিন্তু WebView UI উপাদানে পাঠ্য ক্ষেত্র নয়।

উদাহরণস্বরূপ, আপনি কাস্টম লগইন করার জন্য নিম্নলিখিত প্যারামিটার ব্যবহার করতে পারেন:

--robo-directives username_resource=username,password_resource=password

উপলব্ধ কমান্ড এবং পতাকা

Test Lab জিক্লাউড সিএলআই-তে বেশ কয়েকটি কমান্ড এবং পতাকা উপলব্ধ রয়েছে যা আপনাকে বিভিন্ন নির্দিষ্টকরণের সাথে পরীক্ষা চালাতে দেয়:

  • অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর পতাকা : অর্কেস্ট্রেটরকে সক্ষম করার জন্য একটি পতাকা, একটি টুল যা আপনাকে আপনার অ্যাপের প্রতিটি পরীক্ষাকে তার নিজস্ব Instrumentation চালানোর অনুমতি দেয়৷ Test Lab সর্বদা অর্কেস্ট্রেটরের সর্বশেষ সংস্করণ চালায়।

  • গেম লুপ টেস্ট ফ্ল্যাগ : কনফিগার ফ্ল্যাগের একটি সেট যা গেম অ্যাপে প্লেয়ার অ্যাকশন অনুকরণ করতে একটি "ডেমো মোড" সক্ষম এবং নিয়ন্ত্রণ করে। Test Lab সাথে গেম লুপ পরীক্ষা চালানোর বিষয়ে আরও জানুন।

  • ইউনিফর্ম শার্ডিং ফ্ল্যাগ (বিটাতে) : একটি পতাকা যা শার্ডের সংখ্যা নির্দিষ্ট করে যাতে আপনি পরীক্ষার ক্ষেত্রে সমানভাবে বিতরণ করতে চান। শার্ডগুলি পৃথক ডিভাইসে সমান্তরালভাবে চালানো হয়।

  • ম্যানুয়াল শার্ডিং পতাকা (বিটাতে) : একটি পতাকা যা প্যাকেজ, ক্লাস এবং/অথবা টেস্ট কেসগুলির একটি গোষ্ঠীকে শার্ডে চালানোর জন্য নির্দিষ্ট করে (পরীক্ষার ক্ষেত্রের একটি গ্রুপ)। শার্ডগুলি পৃথক ডিভাইসে সমান্তরালভাবে চালানো হয়।

  • নেটওয়ার্ক ট্র্যাফিক প্রোফাইলের পতাকা (বিটাতে) : একটি পতাকা যা নির্দিষ্ট করে যে আপনার পরীক্ষাগুলি শারীরিক ডিভাইসগুলির সাথে কোন নেটওয়ার্ক প্রোফাইল ব্যবহার করবে৷ নেটওয়ার্ক প্রোফাইলগুলি বিভিন্ন নেটওয়ার্ক অবস্থার অনুকরণ করে, যা আপনাকে অবিশ্বস্ত বা অপ্রত্যাশিত নেটওয়ার্কগুলিতে আপনার অ্যাপের কর্মক্ষমতা পরীক্ষা করার অনুমতি দেয়।

Test Lab সাথে gcloud কমান্ড স্ক্রিপ্ট করা

আপনি মোবাইল অ্যাপ টেস্টিং কমান্ডগুলি স্বয়ংক্রিয় করতে শেল স্ক্রিপ্ট বা ব্যাচ ফাইল ব্যবহার করতে পারেন যা আপনি অন্যথায় gcloud কমান্ড লাইন ব্যবহার করে চালাতে পারেন। নিচের উদাহরণ ব্যাশ স্ক্রিপ্টটি দুই মিনিটের টাইমআউট সহ একটি ইন্সট্রুমেন্টেশন পরীক্ষা চালায় এবং পরীক্ষাটি সফলভাবে সম্পন্ন হলে রিপোর্ট করে:

if gcloud firebase test android run --app my-app.apk --test my-test.apk --timeout 2m
then
    echo "Test matrix successfully finished"
else
    echo "Test matrix exited abnormally with non-zero exit code: " $?
fi

স্ক্রিপ্ট প্রস্থান কোড

Test Lab বেশ কিছু এক্সিট কোড সরবরাহ করে যা আপনি স্ক্রিপ্ট বা ব্যাচ ফাইল ব্যবহার করে চালানো পরীক্ষার ফলাফলগুলি আরও ভালভাবে বুঝতে ব্যবহার করতে পারেন।

Test Lab জন্য স্ক্রিপ্টিং প্রস্থান কোড

প্রস্থান কোড নোট
0 সমস্ত পরীক্ষা মৃত্যুদন্ড পাস.
1 একটি সাধারণ ব্যর্থতা ঘটেছে. সম্ভাব্য কারণগুলির মধ্যে রয়েছে: একটি ফাইলের নাম যা বিদ্যমান নেই বা একটি HTTP/নেটওয়ার্ক ত্রুটি৷
2 অজানা কমান্ড বা আর্গুমেন্ট প্রদান করা হয়েছে বলে পরীক্ষা প্রস্থান করা হয়েছে।
10 একটি পরীক্ষা সম্পাদনের মধ্যে এক বা একাধিক পরীক্ষার ক্ষেত্রে (পরীক্ষিত ক্লাস বা ক্লাস পদ্ধতি) পাস হয়নি।
15 Firebase Test Lab একটি অপ্রত্যাশিত ত্রুটির কারণে পরীক্ষা ম্যাট্রিক্স পাস বা ব্যর্থ হয়েছে কিনা তা নির্ধারণ করতে পারেনি।
18 বেমানান পরীক্ষার মাত্রার কারণে এই পরীক্ষা সম্পাদনের জন্য পরীক্ষার পরিবেশ সমর্থিত নয়। নির্বাচিত Android API স্তর নির্বাচিত ডিভাইস প্রকার দ্বারা সমর্থিত না হলে এই ত্রুটি ঘটতে পারে৷
19 পরীক্ষা ম্যাট্রিক্স ব্যবহারকারী দ্বারা বাতিল করা হয়েছে.
20 একটি পরীক্ষা পরিকাঠামো ত্রুটি ঘটেছে.
,

এই নির্দেশিকাটি বর্ণনা করে কিভাবে gcloud CLI ব্যবহার করে একটি ইন্সট্রুমেন্টেশন, রোবো বা গেম লুপ পরীক্ষা চালাতে হয়।

Test Lab আপনি আপনার অ্যান্ড্রয়েড অ্যাপের সাথে ব্যবহার করতে পারেন এমন gcloud কমান্ডের একটি সম্পূর্ণ তালিকার জন্য, gcloud firebase test android রেফারেন্স ডকুমেন্টেশন দেখুন।

আপনি শুরু করার আগে

যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন

ধাপ 1. gcloud CLI সেট আপ করুন

  1. Google Cloud SDK ডাউনলোড করুন
  2. এর মধ্যে রয়েছে gcloud CLI টুল।

  3. নিশ্চিত করুন যে আপনার ইনস্টলেশন আপ টু ডেট:
    gcloud components update
    
  4. আপনার Google অ্যাকাউন্ট ব্যবহার করে gcloud CLI-তে সাইন ইন করুন:
    gcloud auth login
    
  5. gcloud-এ আপনার Firebase প্রকল্প সেট করুন, যেখানে PROJECT_ID হল আপনার Firebase প্রকল্পের ID:
    gcloud config set project PROJECT_ID
    

ধাপ 2. উপলব্ধ পরীক্ষা ডিভাইস পরীক্ষা করুন

আপনার পরীক্ষার জন্য উপলব্ধ টেস্ট ডিভাইস এবং লোকেলগুলি দেখতে নিম্নলিখিত gcloud কমান্ডগুলি ব্যবহার করুন৷

একটি বিকল্প হিসাবে, আপনি এখনই কমান্ডগুলি চালানো শুরু করতে নমুনা নোটপ্যাড অ্যাপটি ডাউনলোড করতে পারেন। বাইনারি ফাইল app-debug-unaligned.apk এবং ইনস্ট্রুমেন্টেশন টেস্ট ফাইল app-debug-test-unaligned.apk ব্যবহার করুন, যা NotePad/app/build/outputs/apk/ এ অবস্থিত।

  • models list : আপনার বিরুদ্ধে পরীক্ষা করার জন্য উপলব্ধ Android ডিভাইসগুলির একটি বর্তমান তালিকা পান।

    gcloud firebase test android models list

    কমান্ড আউটপুটে:

    • কলাম MODEL_ID শনাক্তকারী রয়েছে যা আপনি পরে ডিভাইস মডেলে পরীক্ষা চালানোর জন্য ব্যবহার করতে পারেন।
    • কলাম OS_VERSION_ID ডিভাইস দ্বারা সমর্থিত অপারেটিং সিস্টেম সংস্করণ রয়েছে৷

    উদাহরণ আউটপুট

    gcloud firebase test android models list output

  • models describe : একটি নির্দিষ্ট Android MODEL_ID সম্পর্কে আরও তথ্য পান।

    gcloud firebase test android models describe MODEL_ID

    আউটপুটে ডিভাইস মডেলের ব্র্যান্ড, প্রস্তুতকারক, OS সংস্করণ, সমর্থিত API স্তর, সমর্থিত অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI), প্রকাশের তারিখ এবং ডিভাইসটি শারীরিক বা ভার্চুয়াল কিনা তা রয়েছে।

  • versions list : পরীক্ষা করার জন্য বর্তমানে উপলব্ধ ওএস সংস্করণগুলির একটি তালিকা পান।

    gcloud firebase test android versions list

    আপনি কমান্ড আউটপুটের প্রথম দুটি কলাম ( OS_VERSION_ID এবং VERSION ) থেকে একটি শনাক্তকারী ব্যবহার করতে পারেন, পরে একটি Android OS সংস্করণের বিরুদ্ধে পরীক্ষা চালানোর জন্য৷ আপনি যদি পরীক্ষা করার জন্য Android OS সংস্করণগুলি নির্দিষ্ট না করেন, তাহলে TAGS কলামের অধীনে উল্লেখ করা ডিফল্ট ব্যবহার করা হয়।

    উদাহরণ আউটপুট

    gcloud android versions list

  • locales list : পরীক্ষা করার জন্য উপলব্ধ লোকেলের বর্তমান তালিকা পান।

    gcloud firebase test android versions list

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

ধাপ 3. আপনার পরীক্ষা চালান

এখন আপনি আপনার অ্যাপ পরীক্ষা করার জন্য উপলব্ধ ডিভাইস মডেল, লোকেল এবং OS সংস্করণের পরিসর জানেন, আপনি রোবো বা উপকরণ পরীক্ষা চালানোর জন্য gcloud firebase test android run কমান্ড এবং --device পতাকা ব্যবহার করে ডিভাইসগুলি নির্দিষ্ট করতে পারেন৷

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

এমনকি আপনার কোনো ইন্সট্রুমেন্টেশন পরীক্ষা না থাকলেও, আপনি এখনও আপনার অ্যাপে বাগ খুঁজতে পারেন। আপনার অ্যাপের ইউজার ইন্টারফেসের একটি স্বয়ংক্রিয় পর্যালোচনা সম্পাদন করতে Robo পরীক্ষা ব্যবহার করুন। রোবো টেস্ট অ্যাপের ইউজার ইন্টারফেসের মাধ্যমে বিভিন্ন পাথের স্ট্যাটিক বিশ্লেষণ করে অ্যাপটিকে অনুশীলন করে এবং তারপর ক্র্যাশ এবং অন্যান্য সম্ভাব্য সমস্যাগুলি খুঁজে পেতে অ্যাপটির মাধ্যমে ক্রল করে।

একটি রোবো পরীক্ষা চালানোর জন্য, নিম্নলিখিত উদাহরণ কমান্ডটি চালান:

gcloud firebase test android run \
  --type robo \
  --app app-debug-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape \
  --timeout 90s \
  --client-details matrixLabel="Example matrix label"
  • --type robo পরামিতি অন্তর্নিহিত যদি কোনো --type মান নির্দিষ্ট করা না থাকে।
  • Firebase কনসোলে আপনার পরীক্ষার ম্যাট্রিক্স সনাক্ত করতে এবং সনাক্ত করতে সাহায্য করার জন্য, আপনি ঐচ্ছিক --client-details matrixLabel="Example matrix label" পতাকাটি আপনার পরীক্ষার ম্যাট্রিক্স লেবেল করতে ব্যবহার করতে পারেন।
  • আপনি টাইপ করে পরীক্ষা চালানোর জন্য কমান্ড লাইন বিকল্পগুলির সম্পূর্ণ সেট দেখতে পারেন: gcloud help firebase test android run

কমান্ড লাইনে এই আর্গুমেন্টগুলি নির্দিষ্ট করার বিকল্প হিসাবে, আপনি একটি YAML- ফরম্যাটেড আর্গুমেন্ট ফাইলে ঐচ্ছিকভাবে আপনার আর্গুমেন্টগুলি নির্দিষ্ট করতে পারেন৷ এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন তা শিখতে gcloud topic arg-files চালান।

রোবো পরীক্ষা থেকে পরীক্ষার ফলাফলগুলি কীভাবে তদন্ত করতে হয় তা শিখতে, আপনার পরীক্ষার ফলাফল বিশ্লেষণ দেখুন।

একটি ইন্সট্রুমেন্টেশন পরীক্ষা চালান

এখন আপনার নির্দিষ্ট অ্যান্ড্রয়েড ডিভাইস কনফিগারেশনে নোটপ্যাড অ্যাপের এসপ্রেসো পরীক্ষা চালানোর জন্য gcloud কমান্ড লাইন টুল ব্যবহার করুন। app-debug-test-unaligned.apk এ পরীক্ষা চালানোর জন্য instrumentation পরীক্ষার ধরন ব্যবহার করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app app-debug-unaligned.apk \
  --test app-debug-test-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape
  --client-details matrixLabel="Example matrix label"
  • --type ইন্সট্রুমেন্টেশন প্যারামিটার অন্তর্নিহিত যদি একটি পরীক্ষা APK --test সাথে নির্দিষ্ট করা হয়।
  • Firebase কনসোলে আপনার পরীক্ষার ম্যাট্রিক্স সনাক্ত করতে এবং সনাক্ত করতে সাহায্য করার জন্য, আপনি ঐচ্ছিক --client-details matrixLabel="Example matrix label" পতাকাটি আপনার পরীক্ষার ম্যাট্রিক্স লেবেল করতে ব্যবহার করতে পারেন।
  • আপনি gcloud help firebase test android run টাইপ করে পরীক্ষা চালানোর জন্য কমান্ড লাইন বিকল্পগুলির সম্পূর্ণ সেট দেখতে পারেন।

কমান্ড লাইনে এই আর্গুমেন্টগুলি নির্দিষ্ট করার বিকল্প হিসাবে, আপনি একটি YAML- ফরম্যাটেড আর্গুমেন্ট ফাইলে ঐচ্ছিকভাবে আপনার আর্গুমেন্টগুলি নির্দিষ্ট করতে পারেন৷ এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন তা শিখতে gcloud topic arg-files চালান।

জিক্লাউড সিএলআই অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর সমর্থন করে। অর্কেস্ট্রেটরের জন্য AndroidJUnitRunner v1.1 বা উচ্চতর প্রয়োজন। এটি সক্ষম করতে, ব্যবহার করুন gcloud firebase test android run
--use-orchestrator পতাকা। এটি নিষ্ক্রিয় করতে --no-use-orchestrator পতাকা ব্যবহার করুন।

উপরে দেখানো নয় এমন অতিরিক্ত পতাকা ব্যবহার করে Test Lab কীভাবে আপনার ইন্সট্রুমেন্টেশন পরীক্ষা চালায় তাও আপনি নিয়ন্ত্রণ করতে পারেন। উদাহরণ স্বরূপ, আপনি --test-targets পতাকা ব্যবহার করতে পারেন একটি একক ক্লাস বা আপনার পরীক্ষার APK দ্বারা ব্যবহৃত একটি ক্লাস পদ্ধতি পরীক্ষা করতে। আপনি --num-flaky-test-attempts ফ্ল্যাগ ব্যবহার করে আপনার যে পরীক্ষাটি ব্যর্থ হয়েছে তা আসলেই ফ্ল্যাকি ছিল কিনা তাও খুঁজে বের করতে পারেন, যা নির্দিষ্ট করে দেয় যে পরীক্ষার ক্ষেত্রে এক বা একাধিক পরীক্ষার ক্ষেত্রে কতবার পুনরায় চেষ্টা করা উচিত। কোনো কারণে ব্যর্থ। আরও জানতে, দেখুন gcloud firebase test android রান

ইন্সট্রুমেন্টেশন পরীক্ষার জন্য কোড কভারেজ রিপোর্ট

Test Lab কোড কভারেজ রিপোর্টিং টুল EMMA এবং JaCoCo সমর্থন করে। আপনি যদি আপনার অ্যাপের জন্য বিল্ডে কোনো একটি টুল ইন্টিগ্রেটেড থাকেন, তাহলে আপনি কিছু অতিরিক্ত আর্গুমেন্ট সহ gcloud firebase test android run চালিয়ে Test Lab পরীক্ষার জন্য একটি কোড কভারেজ রিপোর্ট পেতে পারেন। যদি অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর সক্ষম না থাকে, তাহলে নিম্নলিখিতগুলি ব্যবহার করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables coverage=true,coverageFile="/sdcard/Download/coverage.ec" \
  --directories-to-pull /sdcard/Download

আপনি যদি অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর ব্যবহার করার সময় কোড কভারেজ রিপোর্ট তৈরি করেন, তাহলে আপনার পরিবেশের ভেরিয়েবলগুলি নিম্নরূপ পরিবর্তন করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables clearPackageData=true,coverage=true,coverageFilePath="/sdcard/Download/" \
  --directories-to-pull /sdcard/Download

যখন Test Lab আপনার পরীক্ষাগুলি চালানো শেষ করে, তখন Google Cloud Storage আপনার কোড কভারেজ রিপোর্টগুলি খুঁজুন:

  1. আপনার টার্মিনালে পরীক্ষার ফলাফল টেবিলের উপরে gcloud টুলটি মুদ্রিত Firebase কনসোল লিঙ্কটি খুলুন।
  2. সেই এক্সিকিউশনের বিশদ পৃষ্ঠাটি খুলতে সেই লিঙ্কের তালিকা থেকে একটি পরীক্ষা সম্পাদনে ক্লিক করুন।
  3. সেই এক্সিকিউশনের পরীক্ষার ফলাফল সহ Cloud Storage বালতিতে যেতে পরীক্ষার ফলাফলে ক্লিক করুন।
  4. আপনার কোড কভারেজ রিপোর্ট দেখতে artifacts/coverage.ec খুলুন।

আপনার পরীক্ষার ফলাফল বিশ্লেষণ করুন

কয়েক মিনিট পরে, আপনার পরীক্ষার ফলাফলের একটি প্রাথমিক সারাংশ gcloud টুল দ্বারা মুদ্রিত হয়:

Command test results

আপনার কমান্ড লাইন টেস্ট রানের আউটপুটে পরীক্ষার ফলাফল দেখার জন্য একটি লিঙ্কও রয়েছে। এই ফলাফলগুলি কীভাবে ব্যাখ্যা করতে হয় সে সম্পর্কে আরও জানতে, Android ফলাফলের জন্য Firebase Test Lab বিশ্লেষণ করা দেখুন।

রোবো পরীক্ষার সাথে কাস্টম লগইন এবং টেক্সট ইনপুট

রোবো পরীক্ষা স্বয়ংক্রিয়ভাবে সাইন-ইন স্ক্রীন সম্পূর্ণ করে যা প্রমাণীকরণের জন্য একটি Google অ্যাকাউন্ট ব্যবহার করে, যদি না আপনি --no-auto-google-login প্যারামিটার ব্যবহার করেন। এটি আপনার প্রদান করা টেস্ট অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে কাস্টম লগইন স্ক্রিনগুলিও সম্পূর্ণ করতে পারে৷ আপনি আপনার অ্যাপ দ্বারা ব্যবহৃত অন্যান্য পাঠ্য ক্ষেত্রের জন্য কাস্টম ইনপুট পাঠ্য প্রদান করতে এই প্যারামিটারটি ব্যবহার করতে পারেন।

আপনার অ্যাপে পাঠ্য ক্ষেত্রগুলি সম্পূর্ণ করতে, --robo-directives প্যারামিটার ব্যবহার করুন এবং key-value জোড়াগুলির একটি কমা-বিভাজিত তালিকা প্রদান করুন, যেখানে key লক্ষ্য UI উপাদানের Android সম্পদের নাম এবং value পাঠ্য স্ট্রিং। . এছাড়াও আপনি এই পতাকাটি ব্যবহার করতে পারেন Robo কে নির্দিষ্ট UI উপাদান (যেমন, "লগআউট" বোতাম) উপেক্ষা করতে বলতে। EditText ক্ষেত্র সমর্থিত কিন্তু WebView UI উপাদানে পাঠ্য ক্ষেত্র নয়।

উদাহরণস্বরূপ, আপনি কাস্টম লগইন করার জন্য নিম্নলিখিত প্যারামিটার ব্যবহার করতে পারেন:

--robo-directives username_resource=username,password_resource=password

উপলব্ধ কমান্ড এবং পতাকা

Test Lab জিক্লাউড সিএলআই-তে বেশ কয়েকটি কমান্ড এবং পতাকা উপলব্ধ রয়েছে যা আপনাকে বিভিন্ন নির্দিষ্টকরণের সাথে পরীক্ষা চালাতে দেয়:

  • অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর পতাকা : অর্কেস্ট্রেটরকে সক্ষম করার জন্য একটি পতাকা, একটি টুল যা আপনাকে আপনার অ্যাপের প্রতিটি পরীক্ষাকে তার নিজস্ব Instrumentation চালানোর অনুমতি দেয়৷ Test Lab সর্বদা অর্কেস্ট্রেটরের সর্বশেষ সংস্করণ চালায়।

  • গেম লুপ টেস্ট ফ্ল্যাগ : কনফিগার ফ্ল্যাগের একটি সেট যা গেম অ্যাপে প্লেয়ার অ্যাকশন অনুকরণ করতে একটি "ডেমো মোড" সক্ষম এবং নিয়ন্ত্রণ করে। Test Lab সাথে গেম লুপ পরীক্ষা চালানোর বিষয়ে আরও জানুন।

  • ইউনিফর্ম শার্ডিং পতাকা (বিটাতে) : একটি পতাকা যা শর্ডের সংখ্যা নির্দিষ্ট করে যাতে আপনি পরীক্ষার ক্ষেত্রে সমানভাবে বিতরণ করতে চান। শার্ডগুলি পৃথক ডিভাইসে সমান্তরালভাবে চালানো হয়।

  • ম্যানুয়াল শার্ডিং পতাকা (বিটাতে) : একটি পতাকা যা প্যাকেজ, ক্লাস এবং/অথবা টেস্ট কেসগুলির একটি গোষ্ঠীকে শার্ডে চালানোর জন্য নির্দিষ্ট করে (পরীক্ষার ক্ষেত্রের একটি গ্রুপ)। শার্ডগুলি পৃথক ডিভাইসে সমান্তরালভাবে চালানো হয়।

  • নেটওয়ার্ক ট্র্যাফিক প্রোফাইলের পতাকা (বিটাতে) : একটি পতাকা যা নির্দিষ্ট করে যে আপনার পরীক্ষাগুলি শারীরিক ডিভাইসগুলির সাথে কোন নেটওয়ার্ক প্রোফাইল ব্যবহার করবে৷ নেটওয়ার্ক প্রোফাইলগুলি বিভিন্ন নেটওয়ার্ক অবস্থার অনুকরণ করে, যা আপনাকে অবিশ্বস্ত বা অপ্রত্যাশিত নেটওয়ার্কগুলিতে আপনার অ্যাপের কর্মক্ষমতা পরীক্ষা করার অনুমতি দেয়।

Test Lab সাথে gcloud কমান্ড স্ক্রিপ্ট করা

আপনি মোবাইল অ্যাপ টেস্টিং কমান্ডগুলি স্বয়ংক্রিয় করতে শেল স্ক্রিপ্ট বা ব্যাচ ফাইল ব্যবহার করতে পারেন যা আপনি অন্যথায় gcloud কমান্ড লাইন ব্যবহার করে চালাতে পারেন। নিচের উদাহরণ ব্যাশ স্ক্রিপ্টটি দুই মিনিটের টাইমআউট সহ একটি ইন্সট্রুমেন্টেশন পরীক্ষা চালায় এবং পরীক্ষাটি সফলভাবে সম্পন্ন হলে রিপোর্ট করে:

if gcloud firebase test android run --app my-app.apk --test my-test.apk --timeout 2m
then
    echo "Test matrix successfully finished"
else
    echo "Test matrix exited abnormally with non-zero exit code: " $?
fi

স্ক্রিপ্ট প্রস্থান কোড

Test Lab বেশ কিছু এক্সিট কোড সরবরাহ করে যা আপনি স্ক্রিপ্ট বা ব্যাচ ফাইল ব্যবহার করে চালানো পরীক্ষার ফলাফলগুলি আরও ভালভাবে বুঝতে ব্যবহার করতে পারেন।

Test Lab জন্য স্ক্রিপ্টিং প্রস্থান কোড

প্রস্থান কোড নোট
0 সমস্ত পরীক্ষা মৃত্যুদন্ড পাস.
1 একটি সাধারণ ব্যর্থতা ঘটেছে. সম্ভাব্য কারণগুলির মধ্যে রয়েছে: একটি ফাইলের নাম যা বিদ্যমান নেই বা একটি HTTP/নেটওয়ার্ক ত্রুটি৷
2 অজানা কমান্ড বা আর্গুমেন্ট প্রদান করা হয়েছে বলে পরীক্ষা প্রস্থান করা হয়েছে।
10 একটি পরীক্ষা সম্পাদনের মধ্যে এক বা একাধিক পরীক্ষার ক্ষেত্রে (পরীক্ষিত ক্লাস বা ক্লাস পদ্ধতি) পাস হয়নি।
15 Firebase Test Lab একটি অপ্রত্যাশিত ত্রুটির কারণে পরীক্ষা ম্যাট্রিক্স পাস বা ব্যর্থ হয়েছে কিনা তা নির্ধারণ করতে পারেনি।
18 বেমানান পরীক্ষার মাত্রার কারণে এই পরীক্ষা সম্পাদনের জন্য পরীক্ষার পরিবেশ সমর্থিত নয়। নির্বাচিত Android API স্তর নির্বাচিত ডিভাইস প্রকার দ্বারা সমর্থিত না হলে এই ত্রুটি ঘটতে পারে৷
19 পরীক্ষা ম্যাট্রিক্স ব্যবহারকারী দ্বারা বাতিল করা হয়েছে.
20 একটি পরীক্ষা পরিকাঠামো ত্রুটি ঘটেছে.
,

এই নির্দেশিকাটি বর্ণনা করে কিভাবে gcloud CLI ব্যবহার করে একটি ইন্সট্রুমেন্টেশন, রোবো বা গেম লুপ পরীক্ষা চালাতে হয়।

Test Lab আপনি আপনার অ্যান্ড্রয়েড অ্যাপের সাথে ব্যবহার করতে পারেন এমন gcloud কমান্ডের একটি সম্পূর্ণ তালিকার জন্য, gcloud firebase test android রেফারেন্স ডকুমেন্টেশন দেখুন।

আপনি শুরু করার আগে

যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন

ধাপ 1. gcloud CLI সেট আপ করুন

  1. Google Cloud SDK ডাউনলোড করুন
  2. এর মধ্যে রয়েছে gcloud CLI টুল।

  3. নিশ্চিত করুন যে আপনার ইনস্টলেশন আপ টু ডেট:
    gcloud components update
    
  4. আপনার Google অ্যাকাউন্ট ব্যবহার করে gcloud CLI-তে সাইন ইন করুন:
    gcloud auth login
    
  5. gcloud-এ আপনার Firebase প্রকল্প সেট করুন, যেখানে PROJECT_ID হল আপনার Firebase প্রকল্পের ID:
    gcloud config set project PROJECT_ID
    

ধাপ 2. উপলব্ধ পরীক্ষা ডিভাইস পরীক্ষা করুন

আপনার পরীক্ষার জন্য উপলব্ধ টেস্ট ডিভাইস এবং লোকেলগুলি দেখতে নিম্নলিখিত gcloud কমান্ডগুলি ব্যবহার করুন৷

একটি বিকল্প হিসাবে, আপনি এখনই কমান্ডগুলি চালানো শুরু করতে নমুনা নোটপ্যাড অ্যাপটি ডাউনলোড করতে পারেন। বাইনারি ফাইল app-debug-unaligned.apk এবং ইনস্ট্রুমেন্টেশন টেস্ট ফাইল app-debug-test-unaligned.apk ব্যবহার করুন, যা NotePad/app/build/outputs/apk/ এ অবস্থিত।

  • models list : আপনার বিরুদ্ধে পরীক্ষা করার জন্য উপলব্ধ Android ডিভাইসগুলির একটি বর্তমান তালিকা পান।

    gcloud firebase test android models list

    কমান্ড আউটপুটে:

    • কলাম MODEL_ID শনাক্তকারী রয়েছে যা আপনি পরে ডিভাইস মডেলে পরীক্ষা চালানোর জন্য ব্যবহার করতে পারেন।
    • কলাম OS_VERSION_ID ডিভাইস দ্বারা সমর্থিত অপারেটিং সিস্টেম সংস্করণ রয়েছে৷

    উদাহরণ আউটপুট

    gcloud firebase test android models list output

  • models describe : একটি নির্দিষ্ট Android MODEL_ID সম্পর্কে আরও তথ্য পান।

    gcloud firebase test android models describe MODEL_ID

    আউটপুটে ডিভাইস মডেলের ব্র্যান্ড, প্রস্তুতকারক, OS সংস্করণ, সমর্থিত API স্তর, সমর্থিত অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI), প্রকাশের তারিখ এবং ডিভাইসটি শারীরিক বা ভার্চুয়াল কিনা তা রয়েছে।

  • versions list : পরীক্ষা করার জন্য বর্তমানে উপলব্ধ ওএস সংস্করণগুলির একটি তালিকা পান।

    gcloud firebase test android versions list

    আপনি কমান্ড আউটপুটের প্রথম দুটি কলাম ( OS_VERSION_ID এবং VERSION ) থেকে একটি শনাক্তকারী ব্যবহার করতে পারেন, পরে একটি Android OS সংস্করণের বিরুদ্ধে পরীক্ষা চালানোর জন্য৷ আপনি যদি পরীক্ষা করার জন্য Android OS সংস্করণগুলি নির্দিষ্ট না করেন, তাহলে TAGS কলামের অধীনে উল্লেখ করা ডিফল্ট ব্যবহার করা হয়।

    উদাহরণ আউটপুট

    gcloud android versions list

  • locales list : পরীক্ষা করার জন্য উপলব্ধ লোকেলের বর্তমান তালিকা পান।

    gcloud firebase test android versions list

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

ধাপ 3. আপনার পরীক্ষা চালান

এখন আপনি আপনার অ্যাপ পরীক্ষা করার জন্য উপলব্ধ ডিভাইস মডেল, লোকেল এবং OS সংস্করণের পরিসর জানেন, আপনি রোবো বা উপকরণ পরীক্ষা চালানোর জন্য gcloud firebase test android run কমান্ড এবং --device পতাকা ব্যবহার করে ডিভাইসগুলি নির্দিষ্ট করতে পারেন৷

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

এমনকি আপনার কোনো ইন্সট্রুমেন্টেশন পরীক্ষা না থাকলেও, আপনি এখনও আপনার অ্যাপে বাগ খুঁজতে পারেন। আপনার অ্যাপের ইউজার ইন্টারফেসের একটি স্বয়ংক্রিয় পর্যালোচনা সম্পাদন করতে Robo পরীক্ষা ব্যবহার করুন। রোবো টেস্ট অ্যাপের ইউজার ইন্টারফেসের মাধ্যমে বিভিন্ন পাথের স্ট্যাটিক বিশ্লেষণ করে অ্যাপটিকে অনুশীলন করে এবং তারপর ক্র্যাশ এবং অন্যান্য সম্ভাব্য সমস্যাগুলি খুঁজে পেতে অ্যাপটির মাধ্যমে ক্রল করে।

একটি রোবো পরীক্ষা চালানোর জন্য, নিম্নলিখিত উদাহরণ কমান্ডটি চালান:

gcloud firebase test android run \
  --type robo \
  --app app-debug-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape \
  --timeout 90s \
  --client-details matrixLabel="Example matrix label"
  • --type robo পরামিতি অন্তর্নিহিত যদি কোনো --type মান নির্দিষ্ট করা না থাকে।
  • Firebase কনসোলে আপনার পরীক্ষার ম্যাট্রিক্স সনাক্ত করতে এবং সনাক্ত করতে সাহায্য করার জন্য, আপনি ঐচ্ছিক --client-details matrixLabel="Example matrix label" পতাকাটি আপনার পরীক্ষার ম্যাট্রিক্স লেবেল করতে ব্যবহার করতে পারেন।
  • আপনি টাইপ করে পরীক্ষা চালানোর জন্য কমান্ড লাইন বিকল্পগুলির সম্পূর্ণ সেট দেখতে পারেন: gcloud help firebase test android run

কমান্ড লাইনে এই আর্গুমেন্টগুলি নির্দিষ্ট করার বিকল্প হিসাবে, আপনি একটি YAML- ফরম্যাটেড আর্গুমেন্ট ফাইলে ঐচ্ছিকভাবে আপনার আর্গুমেন্টগুলি নির্দিষ্ট করতে পারেন৷ এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন তা শিখতে gcloud topic arg-files চালান।

রোবো পরীক্ষা থেকে পরীক্ষার ফলাফলগুলি কীভাবে তদন্ত করতে হয় তা শিখতে, আপনার পরীক্ষার ফলাফল বিশ্লেষণ দেখুন।

একটি ইন্সট্রুমেন্টেশন পরীক্ষা চালান

এখন আপনার নির্দিষ্ট অ্যান্ড্রয়েড ডিভাইস কনফিগারেশনে নোটপ্যাড অ্যাপের এসপ্রেসো পরীক্ষা চালানোর জন্য gcloud কমান্ড লাইন টুল ব্যবহার করুন। app-debug-test-unaligned.apk এ পরীক্ষা চালানোর জন্য instrumentation পরীক্ষার ধরন ব্যবহার করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app app-debug-unaligned.apk \
  --test app-debug-test-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape
  --client-details matrixLabel="Example matrix label"
  • --type ইন্সট্রুমেন্টেশন প্যারামিটার অন্তর্নিহিত যদি একটি পরীক্ষা APK --test সাথে নির্দিষ্ট করা হয়।
  • Firebase কনসোলে আপনার পরীক্ষার ম্যাট্রিক্স সনাক্ত করতে এবং সনাক্ত করতে সাহায্য করার জন্য, আপনি ঐচ্ছিক --client-details matrixLabel="Example matrix label" পতাকাটি আপনার পরীক্ষার ম্যাট্রিক্স লেবেল করতে ব্যবহার করতে পারেন।
  • আপনি gcloud help firebase test android run টাইপ করে পরীক্ষা চালানোর জন্য কমান্ড লাইন বিকল্পগুলির সম্পূর্ণ সেট দেখতে পারেন।

কমান্ড লাইনে এই আর্গুমেন্টগুলি নির্দিষ্ট করার বিকল্প হিসাবে, আপনি একটি YAML- ফরম্যাটেড আর্গুমেন্ট ফাইলে ঐচ্ছিকভাবে আপনার আর্গুমেন্টগুলি নির্দিষ্ট করতে পারেন৷ এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন তা শিখতে gcloud topic arg-files চালান।

জিক্লাউড সিএলআই অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর সমর্থন করে। অর্কেস্ট্রেটরের জন্য AndroidJUnitRunner v1.1 বা উচ্চতর প্রয়োজন। এটি সক্ষম করতে, ব্যবহার করুন gcloud firebase test android run
--use-orchestrator পতাকা। এটি নিষ্ক্রিয় করতে --no-use-orchestrator পতাকা ব্যবহার করুন।

উপরে দেখানো নয় এমন অতিরিক্ত পতাকা ব্যবহার করে Test Lab কীভাবে আপনার ইন্সট্রুমেন্টেশন পরীক্ষা চালায় তাও আপনি নিয়ন্ত্রণ করতে পারেন। উদাহরণ স্বরূপ, আপনি --test-targets পতাকা ব্যবহার করতে পারেন একটি একক ক্লাস বা আপনার পরীক্ষার APK দ্বারা ব্যবহৃত একটি ক্লাস পদ্ধতি পরীক্ষা করতে। আপনি --num-flaky-test-attempts ফ্ল্যাগ ব্যবহার করে আপনার যে পরীক্ষাটি ব্যর্থ হয়েছে তা আসলেই ফ্ল্যাকি ছিল কিনা তাও খুঁজে বের করতে পারেন, যা নির্দিষ্ট করে দেয় যে পরীক্ষার ক্ষেত্রে এক বা একাধিক পরীক্ষার ক্ষেত্রে কতবার পুনরায় চেষ্টা করা উচিত। কোনো কারণে ব্যর্থ। আরও জানতে, দেখুন gcloud firebase test android রান

ইন্সট্রুমেন্টেশন পরীক্ষার জন্য কোড কভারেজ রিপোর্ট

Test Lab কোড কভারেজ রিপোর্টিং টুল EMMA এবং JaCoCo সমর্থন করে। আপনি যদি আপনার অ্যাপের জন্য বিল্ডে কোনো একটি টুল ইন্টিগ্রেটেড থাকেন, তাহলে আপনি কিছু অতিরিক্ত আর্গুমেন্ট সহ gcloud firebase test android run চালিয়ে Test Lab পরীক্ষার জন্য একটি কোড কভারেজ রিপোর্ট পেতে পারেন। যদি অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর সক্ষম না থাকে, তাহলে নিম্নলিখিতগুলি ব্যবহার করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables coverage=true,coverageFile="/sdcard/Download/coverage.ec" \
  --directories-to-pull /sdcard/Download

আপনি যদি অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর ব্যবহার করার সময় কোড কভারেজ রিপোর্ট তৈরি করেন, তাহলে আপনার পরিবেশের ভেরিয়েবলগুলি নিম্নরূপ পরিবর্তন করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables clearPackageData=true,coverage=true,coverageFilePath="/sdcard/Download/" \
  --directories-to-pull /sdcard/Download

যখন Test Lab আপনার পরীক্ষাগুলি চালানো শেষ করে, তখন Google Cloud Storage আপনার কোড কভারেজ রিপোর্টগুলি খুঁজুন:

  1. আপনার টার্মিনালে পরীক্ষার ফলাফল টেবিলের উপরে gcloud টুলটি মুদ্রিত Firebase কনসোল লিঙ্কটি খুলুন।
  2. সেই এক্সিকিউশনের বিশদ পৃষ্ঠাটি খুলতে সেই লিঙ্কের তালিকা থেকে একটি পরীক্ষা সম্পাদনে ক্লিক করুন।
  3. সেই এক্সিকিউশনের পরীক্ষার ফলাফল সহ Cloud Storage বালতিতে যেতে পরীক্ষার ফলাফলে ক্লিক করুন।
  4. আপনার কোড কভারেজ রিপোর্ট দেখতে artifacts/coverage.ec খুলুন।

আপনার পরীক্ষার ফলাফল বিশ্লেষণ করুন

কয়েক মিনিট পরে, আপনার পরীক্ষার ফলাফলের একটি প্রাথমিক সারাংশ gcloud টুল দ্বারা মুদ্রিত হয়:

Command test results

আপনার কমান্ড লাইন টেস্ট রানের আউটপুটে পরীক্ষার ফলাফল দেখার জন্য একটি লিঙ্কও রয়েছে। এই ফলাফলগুলি কীভাবে ব্যাখ্যা করতে হয় সে সম্পর্কে আরও জানতে, Android ফলাফলের জন্য Firebase Test Lab বিশ্লেষণ করা দেখুন।

রোবো পরীক্ষার সাথে কাস্টম লগইন এবং টেক্সট ইনপুট

রোবো পরীক্ষা স্বয়ংক্রিয়ভাবে সাইন-ইন স্ক্রীন সম্পূর্ণ করে যা প্রমাণীকরণের জন্য একটি Google অ্যাকাউন্ট ব্যবহার করে, যদি না আপনি --no-auto-google-login প্যারামিটার ব্যবহার করেন। এটি আপনার প্রদান করা টেস্ট অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে কাস্টম লগইন স্ক্রিনগুলিও সম্পূর্ণ করতে পারে৷ আপনি আপনার অ্যাপ দ্বারা ব্যবহৃত অন্যান্য পাঠ্য ক্ষেত্রের জন্য কাস্টম ইনপুট পাঠ্য প্রদান করতে এই প্যারামিটারটি ব্যবহার করতে পারেন।

আপনার অ্যাপে পাঠ্য ক্ষেত্রগুলি সম্পূর্ণ করতে, --robo-directives প্যারামিটার ব্যবহার করুন এবং key-value জোড়াগুলির একটি কমা-বিভাজিত তালিকা প্রদান করুন, যেখানে key লক্ষ্য UI উপাদানের Android সম্পদের নাম এবং value পাঠ্য স্ট্রিং। . এছাড়াও আপনি এই পতাকাটি ব্যবহার করতে পারেন Robo কে নির্দিষ্ট UI উপাদান (যেমন, "লগআউট" বোতাম) উপেক্ষা করতে বলতে। EditText ক্ষেত্র সমর্থিত কিন্তু WebView UI উপাদানে পাঠ্য ক্ষেত্র নয়।

উদাহরণস্বরূপ, আপনি কাস্টম লগইন করার জন্য নিম্নলিখিত প্যারামিটার ব্যবহার করতে পারেন:

--robo-directives username_resource=username,password_resource=password

উপলব্ধ কমান্ড এবং পতাকা

Test Lab জিক্লাউড সিএলআই-তে বেশ কয়েকটি কমান্ড এবং পতাকা উপলব্ধ রয়েছে যা আপনাকে বিভিন্ন নির্দিষ্টকরণের সাথে পরীক্ষা চালাতে দেয়:

  • অ্যান্ড্রয়েড টেস্ট অর্কেস্ট্রেটর পতাকা : অর্কেস্ট্রেটরকে সক্ষম করার জন্য একটি পতাকা, একটি টুল যা আপনাকে আপনার অ্যাপের প্রতিটি পরীক্ষাকে তার নিজস্ব Instrumentation চালানোর অনুমতি দেয়৷ Test Lab সর্বদা অর্কেস্ট্রেটরের সর্বশেষ সংস্করণ চালায়।

  • গেম লুপ টেস্ট ফ্ল্যাগ : কনফিগার ফ্ল্যাগের একটি সেট যা গেম অ্যাপে প্লেয়ার অ্যাকশন অনুকরণ করতে একটি "ডেমো মোড" সক্ষম এবং নিয়ন্ত্রণ করে। Test Lab সাথে গেম লুপ পরীক্ষা চালানোর বিষয়ে আরও জানুন।

  • ইউনিফর্ম শারডিং পতাকা (বিটাতে) : একটি পতাকা যা আপনি পরীক্ষার ক্ষেত্রে সমানভাবে বিতরণ করতে চান এমন শার্ডের সংখ্যা নির্দিষ্ট করে। শারডগুলি পৃথক ডিভাইসে সমান্তরালভাবে চালিত হয়।

  • ম্যানুয়াল শারডিং পতাকা (বিটাতে) : একটি পতাকা যা একটি শার্ডে চালানোর জন্য প্যাকেজ, ক্লাস এবং/অথবা পরীক্ষার কেসগুলির একটি গ্রুপ নির্দিষ্ট করে (পরীক্ষার ক্ষেত্রে একটি গ্রুপ)। শারডগুলি পৃথক ডিভাইসে সমান্তরালভাবে চালিত হয়।

  • নেটওয়ার্ক ট্র্যাফিক প্রোফাইলগুলি পতাকা (বিটাতে) : একটি পতাকা যা আপনার পরীক্ষাগুলি শারীরিক ডিভাইসগুলির সাথে ব্যবহার করে কোন নেটওয়ার্ক প্রোফাইল নির্দিষ্ট করে। নেটওয়ার্ক প্রোফাইলগুলি আপনাকে অবিশ্বাস্য বা অপ্রত্যাশিত নেটওয়ার্কগুলিতে আপনার অ্যাপ্লিকেশনটির কার্যকারিতা পরীক্ষা করার অনুমতি দেয়, বিভিন্ন নেটওয়ার্কের শর্তগুলি অনুকরণ করে।

Test Lab সহ জিসিএলউড কমান্ড স্ক্রিপ্টিং

আপনি মোবাইল অ্যাপ টেস্টিং কমান্ডগুলি স্বয়ংক্রিয় করতে শেল স্ক্রিপ্ট বা ব্যাচ ফাইলগুলি ব্যবহার করতে পারেন যা আপনি অন্যথায় GCLAUD কমান্ড লাইন ব্যবহার করে চালাবেন। নিম্নলিখিত উদাহরণ বাশ স্ক্রিপ্টটি একটি দুই মিনিটের সময়সীমা সহ একটি ইনস্ট্রুমেন্টেশন পরীক্ষা চালায় এবং পরীক্ষাগুলি সফলভাবে সম্পন্ন হয়েছে কিনা তা রিপোর্ট করে:

if gcloud firebase test android run --app my-app.apk --test my-test.apk --timeout 2m
then
    echo "Test matrix successfully finished"
else
    echo "Test matrix exited abnormally with non-zero exit code: " $?
fi

স্ক্রিপ্ট প্রস্থান কোড

Test Lab বেশ কয়েকটি প্রস্থান কোড সরবরাহ করে যা আপনি স্ক্রিপ্ট বা ব্যাচ ফাইলগুলি ব্যবহার করে যে পরীক্ষাগুলি চালান তার ফলাফলগুলি আরও ভালভাবে বুঝতে ব্যবহার করতে পারেন।

Test Lab জন্য স্ক্রিপ্টিং প্রস্থান কোড

প্রস্থান কোড নোট
0 সমস্ত পরীক্ষা মৃত্যুদণ্ড কার্যকর হয়েছে।
1 একটি সাধারণ ব্যর্থতা ঘটেছে। সম্ভাব্য কারণগুলির মধ্যে রয়েছে: একটি ফাইলের নাম যা বিদ্যমান নেই বা এইচটিটিপি/নেটওয়ার্ক ত্রুটি।
2 টেস্টিং বেরিয়ে এসেছিল কারণ অজানা কমান্ড বা যুক্তি সরবরাহ করা হয়েছিল।
10 একটি পরীক্ষা কার্যকর করার মধ্যে এক বা একাধিক পরীক্ষার কেস (পরীক্ষিত শ্রেণি বা শ্রেণি পদ্ধতি) পাস হয়নি।
15 অপ্রত্যাশিত ত্রুটির কারণে পরীক্ষার ম্যাট্রিক্স পাস বা ব্যর্থ হয়েছে কিনা তা Firebase Test Lab নির্ধারণ করতে পারেনি।
18 বেমানান পরীক্ষার মাত্রার কারণে এই পরীক্ষা কার্যকর করার জন্য পরীক্ষার পরিবেশ সমর্থিত নয়। নির্বাচিত অ্যান্ড্রয়েড এপিআই স্তরটি নির্বাচিত ডিভাইস প্রকারের দ্বারা সমর্থিত না হলে এই ত্রুটিটি ঘটতে পারে।
19 টেস্ট ম্যাট্রিক্স ব্যবহারকারী দ্বারা বাতিল করা হয়েছিল।
20 একটি পরীক্ষার অবকাঠামোগত ত্রুটি ঘটেছে।
,

এই গাইডটি কীভাবে কোনও উপকরণ, রোবো বা গেম লুপ পরীক্ষা চালানো যায় তা জিসিএলড সিএলআই ব্যবহার করে বর্ণনা করে।

আপনি Test Lab আপনার অ্যান্ড্রয়েড অ্যাপের সাথে ব্যবহার করতে পারেন gcloud কমান্ডের সম্পূর্ণ তালিকার জন্য, gcloud firebase test android জন্য রেফারেন্স ডকুমেন্টেশন দেখুন।

আপনি শুরু করার আগে

আপনি যদি ইতিমধ্যে না থাকেন তবে আপনার অ্যান্ড্রয়েড প্রকল্পে ফায়ারবেস যুক্ত করুন

পদক্ষেপ 1। GCloud Cli সেট আপ করুন

  1. গুগল ক্লাউড এসডিকে ডাউনলোড করুন
  2. এর মধ্যে জিসিএলড সিএলআই সরঞ্জাম অন্তর্ভুক্ত রয়েছে।

  3. আপনার ইনস্টলেশনটি আপ টু ডেট রয়েছে তা নিশ্চিত করুন:
    gcloud components update
    
  4. আপনার গুগল অ্যাকাউন্টটি ব্যবহার করে GCloud CLI এ সাইন ইন করুন:
    gcloud auth login
    
  5. আপনার ফায়ারবেস প্রকল্পটি GCloud এ সেট করুন, যেখানে PROJECT_ID আপনার ফায়ারবেস প্রকল্পের আইডি:
    gcloud config set project PROJECT_ID
    

পদক্ষেপ 2। উপলব্ধ পরীক্ষার ডিভাইসগুলি পরীক্ষা করুন

আপনার পরীক্ষার জন্য উপলভ্য পরীক্ষার ডিভাইস এবং লোকেলগুলি দেখতে নিম্নলিখিত জিসিএলউড কমান্ডগুলি ব্যবহার করুন।

বিকল্প হিসাবে, আপনি এখনই কমান্ডগুলি চালানো শুরু করতে নমুনা নোটপ্যাড অ্যাপ্লিকেশনটিও ডাউনলোড করতে পারেন। বাইনারি ফাইল app-debug-unaligned.apk এবং ইনস্ট্রুমেন্টেশন টেস্ট ফাইল app-debug-test-unaligned.apk ব্যবহার করুন, যা NotePad/app/build/outputs/apk/ এ অবস্থিত।

  • models list : আপনার বিরুদ্ধে পরীক্ষার জন্য উপলব্ধ অ্যান্ড্রয়েড ডিভাইসের একটি বর্তমান তালিকা পান।

    gcloud firebase test android models list

    কমান্ড আউটপুটে:

    • কলাম MODEL_ID আপনি পরে ডিভাইস মডেলটিতে পরীক্ষা চালাতে ব্যবহার করতে পারেন এমন সনাক্তকারী রয়েছে।
    • কলাম OS_VERSION_ID ডিভাইস দ্বারা সমর্থিত অপারেটিং সিস্টেম সংস্করণ রয়েছে।

    উদাহরণ আউটপুট

    gcloud firebase test android models list output

  • models describe : একটি নির্দিষ্ট অ্যান্ড্রয়েড MODEL_ID সম্পর্কে আরও তথ্য পান।

    gcloud firebase test android models describe MODEL_ID

    আউটপুটটিতে ডিভাইসের মডেলের ব্র্যান্ড, প্রস্তুতকারক, ওএস সংস্করণগুলি, সমর্থিত এপিআই স্তরগুলি, সমর্থিত অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (এবিআই), প্রকাশের তারিখগুলি এবং ডিভাইসটি শারীরিক বা ভার্চুয়াল কিনা তা রয়েছে।

  • versions list : পরীক্ষার জন্য বর্তমানে উপলব্ধ ওএস সংস্করণগুলির একটি তালিকা পান।

    gcloud firebase test android versions list

    আপনি পরে অ্যান্ড্রয়েড ওএস সংস্করণের বিপরীতে পরীক্ষা চালানোর জন্য কমান্ড আউটপুট ( OS_VERSION_ID এবং VERSION ) এর প্রথম দুটি কলাম থেকে একটি সনাক্তকারী ব্যবহার করতে পারেন। আপনি যদি পরীক্ষার জন্য অ্যান্ড্রয়েড ওএস সংস্করণগুলি নির্দিষ্ট না করেন তবে TAGS কলামের নীচে উল্লিখিত ডিফল্টটি ব্যবহৃত হয়।

    উদাহরণ আউটপুট

    gcloud android versions list

  • locales list : পরীক্ষার জন্য উপলভ্য লোকালগুলির বর্তমান তালিকা পান।

    gcloud firebase test android versions list

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

পদক্ষেপ 3। আপনার পরীক্ষা চালান

এখন আপনি আপনার অ্যাপ্লিকেশনটি পরীক্ষার জন্য উপলব্ধ ডিভাইস মডেল, লোকেল এবং ওএস সংস্করণগুলির পরিসীমা জানেন, আপনি gcloud firebase test android run কমান্ড ব্যবহার করে ডিভাইসগুলি নির্দিষ্ট করতে পারেন এবং রোবো বা ইনস্ট্রুমেন্টেশন পরীক্ষা চালানোর জন্য --device ফ্ল্যাগ ব্যবহার করে।

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

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

একটি রোবো পরীক্ষা চালানোর জন্য, নিম্নলিখিত উদাহরণ কমান্ডটি চালান:

gcloud firebase test android run \
  --type robo \
  --app app-debug-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape \
  --timeout 90s \
  --client-details matrixLabel="Example matrix label"
  • --type robo প্যারামিটারটি যদি কোনও --type মান নির্দিষ্ট করা থাকে তবে অন্তর্নিহিত।
  • ফায়ারবেস কনসোলে আপনার পরীক্ষার ম্যাট্রিকগুলি সনাক্ত করতে এবং সনাক্ত করতে আপনাকে সহায়তা করতে, আপনি আপনার পরীক্ষার ম্যাট্রিক্স লেবেল করতে option চ্ছিক --client-details matrixLabel="Example matrix label" পতাকা ব্যবহার করতে পারেন।
  • আপনি টাইপ করে পরীক্ষা চালানোর জন্য কমান্ড লাইন বিকল্পগুলির সম্পূর্ণ সেটটি দেখতে পারেন: gcloud help firebase test android run

কমান্ড লাইনে এই যুক্তিগুলি নির্দিষ্ট করার বিকল্প হিসাবে, আপনি YAML- ফর্ম্যাটেড আর্গুমেন্ট ফাইলে আপনার যুক্তিগুলি বিকল্পভাবে নির্দিষ্ট করতে পারেন। এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করতে হয় তা শিখতে gcloud topic arg-files চালান।

রোবো পরীক্ষা থেকে পরীক্ষার ফলাফলগুলি কীভাবে তদন্ত করতে হয় তা শিখতে, আপনার পরীক্ষার ফলাফলগুলি বিশ্লেষণ করুন

একটি উপকরণ পরীক্ষা চালান

আপনার নির্দিষ্ট অ্যান্ড্রয়েড ডিভাইস কনফিগারেশনে নোটপ্যাড অ্যাপের এস্প্রেসো পরীক্ষাগুলি চালানোর জন্য এখন gcloud কমান্ড লাইন সরঞ্জামটি ব্যবহার করুন। app-debug-test-unaligned.apk নিম্নলিখিত হিসাবে পরীক্ষাগুলি চালানোর জন্য instrumentation পরীক্ষার ধরণটি ব্যবহার করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app app-debug-unaligned.apk \
  --test app-debug-test-unaligned.apk \
  --device model=Nexus6,version=21,locale=en,orientation=portrait  \
  --device model=Nexus7,version=19,locale=fr,orientation=landscape
  --client-details matrixLabel="Example matrix label"
  • --type ইন্সট্রুমেন্টেশন প্যারামিটারটি যদি কোনও পরীক্ষার এপিকে --test সাথে নির্দিষ্ট করা থাকে তবে অন্তর্নিহিত।
  • Firebase কনসোলে আপনার পরীক্ষার ম্যাট্রিকগুলি সনাক্ত করতে এবং সনাক্ত করতে আপনাকে সহায়তা করতে, আপনি আপনার পরীক্ষার ম্যাট্রিক্স লেবেল করতে option চ্ছিক --client-details matrixLabel="Example matrix label" পতাকা ব্যবহার করতে পারেন।
  • আপনি gcloud help firebase test android run টাইপ করে পরীক্ষা চালানোর জন্য কমান্ড লাইন বিকল্পগুলির সম্পূর্ণ সেটটি দেখতে পারেন।

কমান্ড লাইনে এই যুক্তিগুলি নির্দিষ্ট করার বিকল্প হিসাবে, আপনি YAML- ফর্ম্যাটেড আর্গুমেন্ট ফাইলে আপনার যুক্তিগুলি বিকল্পভাবে নির্দিষ্ট করতে পারেন। এই বৈশিষ্ট্যটি কীভাবে ব্যবহার করতে হয় তা শিখতে gcloud topic arg-files চালান।

GCloud CLI অ্যান্ড্রয়েড টেস্ট অর্কেস্টেটরকে সমর্থন করে। অর্কেস্ট্রেটারের জন্য অ্যান্ড্রয়েডজুনিট্রুনার ভি 1.1 বা তার বেশি প্রয়োজন। এটি সক্ষম করতে, gcloud firebase test android run ব্যবহার করুন
--use-orchestrator পতাকা। এটি অক্ষম করতে --no-use-orchestrator পতাকা ব্যবহার করুন।

উপরে প্রদর্শিত হয়নি এমন অতিরিক্ত পতাকা ব্যবহার করে Test Lab কীভাবে আপনার ইনস্ট্রুমেন্টেশন পরীক্ষা চালায় তাও আপনি নিয়ন্ত্রণ করতে পারেন। উদাহরণস্বরূপ, আপনি আপনার পরীক্ষার APK দ্বারা ব্যবহৃত একক শ্রেণি বা একটি শ্রেণি পদ্ধতি পরীক্ষা করতে --test-targets পতাকাটি ব্যবহার করতে পারেন। আপনি যে পরীক্ষায় ব্যর্থ হয়েছে তা আসলে ফ্লেকযুক্ত ছিল কিনা তা আপনি খুঁজে পেতে পারেন --num-flaky-test-attempts পতাকা ব্যবহার করে, যা পরীক্ষার ক্ষেত্রে এক বা একাধিক পরীক্ষার ক্ষেত্রে যদি পরীক্ষার প্রয়োগের সংখ্যা পুনরায় গ্রহণ করা উচিত তা নির্দিষ্ট করে কোন কারণে ব্যর্থ। আরও জানতে, GCloud ফায়ারবেস পরীক্ষা অ্যান্ড্রয়েড রান দেখুন।

উপকরণ পরীক্ষার জন্য কোড কভারেজ রিপোর্ট

Test Lab কোড কভারেজ রিপোর্টিং সরঞ্জামগুলি এমা এবং জ্যাকোকো সমর্থন করে। যদি আপনার অ্যাপ্লিকেশনটির জন্য বিল্ডের সাথে একীভূত হয় তবে আপনি কিছু অতিরিক্ত যুক্তি সহ gcloud firebase test android run চালিয়ে Test Lab পরীক্ষার জন্য একটি কোড কভারেজ রিপোর্ট পেতে পারেন। যদি অ্যান্ড্রয়েড টেস্ট অর্কেস্টেটর সক্ষম না করা হয় তবে নিম্নলিখিতগুলি ব্যবহার করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables coverage=true,coverageFile="/sdcard/Download/coverage.ec" \
  --directories-to-pull /sdcard/Download

আপনি যদি অ্যান্ড্রয়েড টেস্ট অর্কেস্টেটর ব্যবহার করার সময় কোড কভারেজ প্রতিবেদনগুলি তৈরি করছেন তবে নিম্নরূপ আপনার পরিবেশের ভেরিয়েবলগুলি সংশোধন করুন:

gcloud firebase test android run \
  --type instrumentation \
  --app your-app.apk \
  --test your-app-test.apk \
  --device model=TestDevice,version=AndroidVersion  \
  --environment-variables clearPackageData=true,coverage=true,coverageFilePath="/sdcard/Download/" \
  --directories-to-pull /sdcard/Download

যখন Test Lab আপনার পরীক্ষাগুলি চালানো শেষ করে, Google Cloud Storage আপনার কোড কভারেজের প্রতিবেদনগুলি সন্ধান করুন:

  1. Firebase কনসোল লিঙ্কটি খুলুন যা আপনার টার্মিনালে পরীক্ষার ফলাফলের টেবিলের উপরে মুদ্রিত gcloud সরঞ্জামটি খুলুন।
  2. সেই লিঙ্কটিতে তালিকা থেকে একটি পরীক্ষা এক্সিকিউশন ক্লিক করুন যে কার্যকরকরণের বিশদ পৃষ্ঠাটি খুলতে।
  3. সেই কার্যকরকরণের পরীক্ষার ফলাফলগুলি সহ Cloud Storage বালতিতে যেতে পরীক্ষার ফলাফলগুলিতে ক্লিক করুন।
  4. আপনার কোড কভারেজ রিপোর্ট দেখতে artifacts/coverage.ec .

আপনার পরীক্ষার ফলাফল বিশ্লেষণ করুন

কয়েক মিনিটের পরে, আপনার পরীক্ষার ফলাফলগুলির একটি প্রাথমিক সংক্ষিপ্তসার GCloud সরঞ্জাম দ্বারা মুদ্রিত হয়:

Command test results

আপনার কমান্ড লাইন টেস্ট রানের আউটপুটটিতে পরীক্ষার ফলাফলগুলি দেখার জন্য একটি লিঙ্কও অন্তর্ভুক্ত রয়েছে। এই ফলাফলগুলি কীভাবে ব্যাখ্যা করবেন সে সম্পর্কে আরও জানতে, অ্যান্ড্রয়েড ফলাফলের জন্য Firebase Test Lab বিশ্লেষণ দেখুন।

রোবো পরীক্ষার সাথে কাস্টম লগইন এবং পাঠ্য ইনপুট

রোবো পরীক্ষা স্বয়ংক্রিয়ভাবে সাইন-ইন স্ক্রিনগুলি সম্পূর্ণ করে যা প্রমাণীকরণের জন্য গুগল অ্যাকাউন্ট ব্যবহার করে, যদি না আপনি --no-auto-google-login প্যারামিটার ব্যবহার না করেন। এটি আপনার সরবরাহিত টেস্ট অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহার করে কাস্টম লগইন স্ক্রিনগুলি সম্পূর্ণ করতে পারে। আপনি আপনার অ্যাপ্লিকেশন দ্বারা ব্যবহৃত অন্যান্য পাঠ্য ক্ষেত্রগুলির জন্য কাস্টম ইনপুট পাঠ্য সরবরাহ করতে এই প্যারামিটারটিও ব্যবহার করতে পারেন।

আপনার অ্যাপ্লিকেশনটিতে পাঠ্য ক্ষেত্রগুলি সম্পূর্ণ করতে, --robo-directives প্যারামিটারটি ব্যবহার করুন এবং key-value জোড়গুলির একটি কমা-বিচ্ছিন্ন তালিকা সরবরাহ করুন, যেখানে key লক্ষ্য ইউআই উপাদানটির অ্যান্ড্রয়েড রিসোর্স নাম, এবং value পাঠ্য স্ট্রিং . আপনি রোবোকে নির্দিষ্ট ইউআই উপাদানগুলি উপেক্ষা করতে (যেমন, "লগআউট" বোতাম) উপেক্ষা করতে এই পতাকাটিও ব্যবহার করতে পারেন। EditText ক্ষেত্রগুলি সমর্থিত তবে WebView ইউআই উপাদানগুলিতে পাঠ্য ক্ষেত্র নয়।

উদাহরণস্বরূপ, আপনি কাস্টম লগইনের জন্য নিম্নলিখিত প্যারামিটারটি ব্যবহার করতে পারেন:

--robo-directives username_resource=username,password_resource=password

উপলব্ধ কমান্ড এবং পতাকা

Test Lab GCLAUD CLI এর বেশ কয়েকটি কমান্ড এবং পতাকা উপলব্ধ রয়েছে যা আপনাকে বিভিন্ন স্পেসিফিকেশন সহ পরীক্ষা চালাতে দেয়:

  • অ্যান্ড্রয়েড টেস্ট অর্কেস্টেটর পতাকা : অর্কেস্ট্রেটর সক্ষম করার জন্য একটি পতাকা, এমন একটি সরঞ্জাম যা আপনাকে আপনার অ্যাপ্লিকেশনটির প্রতিটি পরীক্ষাগুলি তার নিজস্ব Instrumentation অনুরোধে চালানোর অনুমতি দেয়। Test Lab সর্বদা অর্কেস্ট্রেটারের সর্বশেষতম সংস্করণ চালায়।

  • গেম লুপ পরীক্ষার পতাকা : কনফিগারেশন পতাকাগুলির একটি সেট যা গেম অ্যাপ্লিকেশনগুলিতে প্লেয়ারের ক্রিয়াগুলি অনুকরণ করতে একটি "ডেমো মোড" সক্ষম করে এবং নিয়ন্ত্রণ করে। Test Lab সহ গেম লুপ পরীক্ষা চালানো সম্পর্কে আরও জানুন।

  • ইউনিফর্ম শারডিং পতাকা (বিটাতে) : একটি পতাকা যা আপনি পরীক্ষার ক্ষেত্রে সমানভাবে বিতরণ করতে চান এমন শার্ডের সংখ্যা নির্দিষ্ট করে। শারডগুলি পৃথক ডিভাইসে সমান্তরালভাবে চালিত হয়।

  • ম্যানুয়াল শারডিং পতাকা (বিটাতে) : একটি পতাকা যা একটি শার্ডে চালানোর জন্য প্যাকেজ, ক্লাস এবং/অথবা পরীক্ষার কেসগুলির একটি গ্রুপ নির্দিষ্ট করে (পরীক্ষার ক্ষেত্রে একটি গ্রুপ)। শারডগুলি পৃথক ডিভাইসে সমান্তরালভাবে চালিত হয়।

  • নেটওয়ার্ক ট্র্যাফিক প্রোফাইলগুলি পতাকা (বিটাতে) : একটি পতাকা যা আপনার পরীক্ষাগুলি শারীরিক ডিভাইসগুলির সাথে ব্যবহার করে কোন নেটওয়ার্ক প্রোফাইল নির্দিষ্ট করে। নেটওয়ার্ক প্রোফাইলগুলি আপনাকে অবিশ্বাস্য বা অপ্রত্যাশিত নেটওয়ার্কগুলিতে আপনার অ্যাপ্লিকেশনটির কার্যকারিতা পরীক্ষা করার অনুমতি দেয়, বিভিন্ন নেটওয়ার্কের শর্তগুলি অনুকরণ করে।

Test Lab সহ জিসিএলউড কমান্ড স্ক্রিপ্টিং

আপনি মোবাইল অ্যাপ টেস্টিং কমান্ডগুলি স্বয়ংক্রিয় করতে শেল স্ক্রিপ্ট বা ব্যাচ ফাইলগুলি ব্যবহার করতে পারেন যা আপনি অন্যথায় GCLAUD কমান্ড লাইন ব্যবহার করে চালাবেন। নিম্নলিখিত উদাহরণ বাশ স্ক্রিপ্টটি একটি দুই মিনিটের সময়সীমা সহ একটি ইনস্ট্রুমেন্টেশন পরীক্ষা চালায় এবং পরীক্ষাগুলি সফলভাবে সম্পন্ন হয়েছে কিনা তা রিপোর্ট করে:

if gcloud firebase test android run --app my-app.apk --test my-test.apk --timeout 2m
then
    echo "Test matrix successfully finished"
else
    echo "Test matrix exited abnormally with non-zero exit code: " $?
fi

স্ক্রিপ্ট প্রস্থান কোড

Test Lab বেশ কয়েকটি প্রস্থান কোড সরবরাহ করে যা আপনি স্ক্রিপ্ট বা ব্যাচ ফাইলগুলি ব্যবহার করে যে পরীক্ষাগুলি চালান তার ফলাফলগুলি আরও ভালভাবে বুঝতে ব্যবহার করতে পারেন।

Test Lab জন্য স্ক্রিপ্টিং প্রস্থান কোড

প্রস্থান কোড নোট
0 সমস্ত পরীক্ষা মৃত্যুদণ্ড কার্যকর হয়েছে।
1 একটি সাধারণ ব্যর্থতা ঘটেছে। সম্ভাব্য কারণগুলির মধ্যে রয়েছে: একটি ফাইলের নাম যা বিদ্যমান নেই বা এইচটিটিপি/নেটওয়ার্ক ত্রুটি।
2 টেস্টিং বেরিয়ে এসেছিল কারণ অজানা কমান্ড বা যুক্তি সরবরাহ করা হয়েছিল।
10 একটি পরীক্ষা কার্যকর করার মধ্যে এক বা একাধিক পরীক্ষার কেস (পরীক্ষিত শ্রেণি বা শ্রেণি পদ্ধতি) পাস হয়নি।
15 অপ্রত্যাশিত ত্রুটির কারণে পরীক্ষার ম্যাট্রিক্স পাস বা ব্যর্থ হয়েছে কিনা তা Firebase Test Lab নির্ধারণ করতে পারেনি।
18 বেমানান পরীক্ষার মাত্রার কারণে এই পরীক্ষা কার্যকর করার জন্য পরীক্ষার পরিবেশ সমর্থিত নয়। নির্বাচিত অ্যান্ড্রয়েড এপিআই স্তরটি নির্বাচিত ডিভাইস প্রকারের দ্বারা সমর্থিত না হলে এই ত্রুটিটি ঘটতে পারে।
19 টেস্ট ম্যাট্রিক্স ব্যবহারকারী দ্বারা বাতিল করা হয়েছিল।
20 একটি পরীক্ষার অবকাঠামোগত ত্রুটি ঘটেছে।