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

এই সহায়িকার মধ্যে ব্যবহার করে একটি যন্ত্রানুষঙ্গের, Robo, অথবা খেলা লুপ পরীক্ষা চালানো কিভাবে gcloud CLI

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

তুমি শুরু করার আগে

আপনি ইতিমধ্যে থাকে, তাহলে আপনার অ্যান্ড্রয়েড প্রকল্পের Firebase যোগ

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

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

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

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

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

একটি বিকল্প হিসাবে, আপনি নমুনা বিনামূল্যে ডাউনলোড করতে পারেন নোটপ্যাড অ্যাপ্লিকেশন কমান্ড সরাসরি চলমান শুরু। বাইনারি ফাইল ব্যবহার 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
    

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

  • 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 , শনাক্তকারী আপনি পরে যে একটি লোকেল বিরুদ্ধে পরীক্ষার চালানোর জন্য ব্যবহার করতে পারেন ধারণ করে। আপনি যদি পরীক্ষা করার জন্য লোকেলগুলি নির্দিষ্ট না করেন তবে ইংরেজি ডিফল্ট লোকেল হিসাবে ব্যবহৃত হয়।

চলমান পরীক্ষা

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

রোবো পরীক্ষা চলছে

এমনকি আপনার কোনো ইন্সট্রুমেন্টেশন পরীক্ষা না থাকলেও, আপনি আপনার অ্যাপে বাগ খুঁজতে পারেন। আপনার অ্যাপের ইউজার ইন্টারফেসের স্বয়ংক্রিয় পর্যালোচনা সম্পাদন করতে 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

--type robo প্যারামিটার অন্তর্নিহিত যদি নেই --type মান নির্দিষ্ট করা হয়েছে। আপনি টাইপিং দ্বারা পরীক্ষা চালানোর জন্য কমাণ্ড লাইন অপশন সম্বন্ধে সম্পূর্ণ সেট দেখতে পারেন: gcloud help firebase test android run । কমান্ড লাইনে এই সমস্ত আর্গুমেন্ট নির্দিষ্ট করার বিকল্প হিসাবে, আপনি একটি YAML-ফর্ম্যাটেড আর্গুমেন্ট ফাইলে ঐচ্ছিকভাবে আপনার আর্গুমেন্টগুলি নির্দিষ্ট করতে পারেন। রান gcloud topic arg-files কিভাবে এই বৈশিষ্ট্যটি ব্যবহার করতে জানতে।

দেখুন আপনার পরীক্ষার ফলাফল বিশ্লেষণ Robo পরীক্ষা থেকে পরীক্ষার ফলাফল তদন্ত করা শিখতে অধ্যায়।

আপনার ইন্সট্রুমেন্টেশন পরীক্ষা চালানো হচ্ছে

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

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

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

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

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

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

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

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/coverage.ec" \
  --directories-to-pull /sdcard

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

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

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

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

Command test results

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

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

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

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

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

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

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

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

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

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

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

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

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

টেস্ট ল্যাবের সাথে স্ক্রিপ্টিং 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

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

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

টেস্ট ল্যাবের জন্য স্ক্রিপ্টিং প্রস্থান কোড

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