Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

এই সহায়িকার মধ্যে ব্যবহার করে একটি যন্ত্রানুষঙ্গের, 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
    

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

  • 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 বা যন্ত্রানুষঙ্গের পরীক্ষা চালানোর পতাকা।

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

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

একটি উদাহরণ কমান্ড দিয়ে শুরু করা যাক:

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- ফর্ম্যাট যুক্তি ফাইলে argumentsচ্ছিকভাবে আপনার আর্গুমেন্ট নির্দিষ্ট করতে পারেন। রান 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- ফর্ম্যাট যুক্তি ফাইলে argumentsচ্ছিকভাবে আপনার আর্গুমেন্ট নির্দিষ্ট করতে পারেন। রান gcloud topic arg-files কিভাবে এই বৈশিষ্ট্যটি ব্যবহার করতে জানতে।

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

নোট: আপনি নিয়ন্ত্রণ করতে পারেন কিভাবে টেস্ট ল্যাব অতিরিক্ত পতাকা যে উপরোক্ত দেখানো হয় না ব্যবহার করে আপনার যন্ত্রানুষঙ্গের পরীক্ষা চালানো হয়। উদাহরণস্বরূপ, যদি আপনি ব্যবহার করতে পারেন --test-targets একটি একক বর্গ অথবা আপনার পরীক্ষা করা APK দ্বারা ব্যবহৃত একটি বর্গ পদ্ধতি পরীক্ষা করার পতাকা। আপনি জানতে পারেন যে আপনার পরীক্ষাটি যে ব্যর্থ হয়েছে তা আসলে '-num-flaky-test-પ્રયત્નો' পতাকা ব্যবহার করে কিনা তা পরীক্ষা করতে পারে, যা নির্দিষ্ট করে যে পরীক্ষাটি কতবার পুন executionপ্রচেষ্টা করা উচিত তা নির্দিষ্ট করে। পরীক্ষার কারণগুলি কোনও কারণে ব্যর্থ হয়। আরো জানতে, দেখুন 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

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

  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 টেক্সট স্ট্রিং । রোবোকে নির্দিষ্ট UI উপাদান উপেক্ষা করার জন্য আপনি এই পতাকাটি ব্যবহার করতে পারেন (যেমন, "লগআউট" বোতাম)। EditText ক্ষেত্র সমর্থিত কিন্তু পাঠ্য ক্ষেত্র WebView UI উপাদান।

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

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

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

টেস্ট ল্যাব gcloud CLI- এর বেশ কয়েকটি কমান্ড এবং ফ্ল্যাগ পাওয়া যায় যা আপনাকে বিভিন্ন স্পেসিফিকেশনের সাথে পরীক্ষা চালাতে দেয়:

  • অ্যান্ড্রয়েড টেস্ট 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 সমস্ত পরীক্ষার ফাঁসি পাস।
একটি সাধারণ ব্যর্থতা ঘটেছে। সম্ভাব্য কারণগুলির মধ্যে রয়েছে: একটি ফাইলের নাম যা বিদ্যমান নেই অথবা HTTP/নেটওয়ার্ক ত্রুটি।
2 অজানা কমান্ড বা আর্গুমেন্ট প্রদান করা হওয়ায় পরীক্ষা বন্ধ হয়ে গেল।
10 একটি বা একাধিক পরীক্ষার ক্ষেত্রে (পরীক্ষিত ক্লাস বা ক্লাস পদ্ধতি) একটি পরীক্ষা কার্যকর করার মধ্যে পাস হয়নি।
15 ফায়ারবেস টেস্ট ল্যাব একটি অপ্রত্যাশিত ত্রুটির কারণে পরীক্ষা ম্যাট্রিক্স পাস বা ব্যর্থ হয়েছে কিনা তা নির্ধারণ করতে পারেনি।
18 এই পরীক্ষা চালানোর জন্য পরীক্ষার পরিবেশটি অসামঞ্জস্যপূর্ণ পরীক্ষার মাত্রার কারণে সমর্থিত নয়। নির্বাচিত অ্যান্ড্রয়েড এপিআই স্তর নির্বাচিত ডিভাইসের ধরন দ্বারা সমর্থিত না হলে এই ত্রুটি হতে পারে।
19 পরীক্ষা ম্যাট্রিক্স ব্যবহারকারী দ্বারা বাতিল করা হয়েছে।
20 একটি পরিকাঠামোর ত্রুটি ঘটেছে।