Test Lab সংক্রান্ত সমস্যার সমাধান ও প্রায়শই জিজ্ঞাসিত প্রশ্ন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
এই পৃষ্ঠা থেকে আপনি Firebase Test Lab-এর মাধ্যমে টেস্ট রান করার ব্যাপারে সমস্যার সমাধান সংক্রান্ত সহায়তা ও প্রায়শই জিজ্ঞাসিত প্রশ্নের উত্তর পাবেন। পরিচিত সমস্যাগুলিও
ডকুমেন্ট করা হয়েছে। আপনি যা খুঁজছেন তা খুঁজে না পেলে বা অতিরিক্ত সাহায্যের প্রয়োজন হলে, Firebase Slack-এ #test-lab
চ্যানেলে যোগ দিন বা Firebase
সহায়তা টিমের সাথে যোগাযোগ করুন।
সমস্যার সমাধান
আমার টেস্ট রান করতে এত সময় লাগছে কেন?
Test Lab
ক্যাটালগে আপনি উচ্চ ক্ষমতা সম্পন্ন ডিভাইস বেছে নিলে, টেস্ট দ্রুত শুরু হতে পারে। কোনও ডিভাইসের
ক্যাপাসিটি কম হলে, টেস্ট রান করতে বেশি সময় লাগতে পারে। যদি
পরীক্ষার সংখ্যা বেছে নেওয়া ডিভাইসের ক্ষমতার থেকে অনেক বেশি হয়, তাহলে পরীক্ষা
শেষ হতে বেশি সময় লাগতে পারে।
যেকোনও লেভেলের ডিভাইস ক্যাপাসিটি লেভেলে চলা টেস্টের ক্ষেত্রে নিম্নলিখিত কারণে বেশি সময় লাগতে পারে:
ট্রাফিক, যা ডিভাইসের উপলভ্যতা এবং টেস্টের স্পিডকে প্রভাবিত করে।
ডিভাইস বা পরিকাঠামো সংক্রান্ত সমস্যা, যা যেকোনও সময় হতে পারে। Test Lab-এর জন্য
কোনও ইনফ্রাস্ট্রাকচার সংক্রান্ত সমস্যার অভিযোগ করা হয়েছে কিনা তা চেক করতে,
Firebase স্ট্যাটাস ড্যাশবোর্ড দেখুন।
Test Lab-এ ডিভাইসের ক্যাপাসিটি সম্পর্কে আরও জানতে, Android ও iOS-এর জন্য ডিভাইসের ক্যাপাসিটি সংক্রান্ত তথ্য দেখুন।
আমি কেন পরীক্ষার অনির্ণীত ফলাফল পাচ্ছি?
পরীক্ষার ফলাফল সাধারণত বাতিল করা টেস্ট রান বা পরিকাঠামোগত সমস্যার কারণে
অমীমাংসিত থেকে যায়।
পরিকাঠামো সংক্রান্ত সমস্যা ইন্টার্নাল Test Lab সমস্যার কারণে হয়, যেমন নেটওয়ার্ক
সমস্যা বা ডিভাইসের অপ্রত্যাশিত আচরণ। Test Lab ইন্টার্নালি টেস্ট রান বন্ধ করে দেয়
যা কোনও অনির্ণীত ফলাফল রিপোর্ট করার আগে একাধিকবার ইনফ্রাস্ট্রাকচার সংক্রান্ত এরর তৈরি করে;
তবে, আপনি failFast ব্যবহার করে এইসব রিট্রাই বন্ধ করতে পারবেন।
সমস্যার কারণ নির্ধারণ করতে, এই ধাপগুলি অনুসরণ করুন:
এটি আবার করা যাবে কিনা তা যাচাই করতে Test Lab-এ টেস্টটি আবার করুন।
প্রযোজ্য হলে, অন্য কোনও ডিভাইস বা ডিভাইসের ধরনে পরীক্ষা করে দেখুন।
সমস্যাটি থেকে গেলে, Firebase Slack-এ
#test-lab চ্যানেল-এ
Test Lab টিমের সাথে যোগাযোগ করুন।
শার্ডিংয়ের কারণে আমার টেস্ট রান করতে কেন বেশি সময় লেগেছে?
আপনার উল্লেখ করা শার্ডের সংখ্যা Test Lab-এ ব্যবহারের জন্য উপলভ্য ডিভাইসের সংখ্যা ছাড়িয়ে গেলে শার্ডিংয়ের কারণে আপনার টেস্ট রান করতে বেশি সময় লাগতে পারে। এই পরিস্থিতি এড়াতে, অন্য ডিভাইসে পাল্টে দেখুন। অন্য ডিভাইস বেছে নেওয়ার ব্যাপারে
আরও তথ্যের জন্য,
ডিভাইসের ক্ষমতা।
আমার টেস্ট শুরু হতে এত সময় লাগছে কেন?
আপনি পরীক্ষার অনুরোধ জমা দিলে, ডিভাইসে পরীক্ষা চালানোর প্রস্তুতি হিসেবে আপনার অ্যাপ প্রথমে যাচাই করা, আবার সাইন করা ইত্যাদি করা হয়। সাধারণত, এই প্রসেস সম্পূর্ণ হতে
কয়েক সেকেন্ডের কম সময় লাগে, তবে আপনার অ্যাপের সাইজের মতো বিষয়ের উপর নির্ভর করে
এটি প্রভাবিত হতে পারে।
আপনার অ্যাপ প্রস্তুত হওয়ার পরে, টেস্ট এক্সিকিউশন শিডিউল করা হয় এবং কোনও ডিভাইস এটি চালানোর জন্য প্রস্তুত না হওয়া পর্যন্ত
সেটি সারিতে থাকে। সব টেস্ট এক্সিকিউশন সম্পূর্ণ না হওয়া পর্যন্ত,
ম্যাট্রিক্স স্ট্যাটাস "বাকি আছে" হিসেবে দেখানো হবে (টেস্ট এক্সিকিউশন
সারিতে আছে নাকি অ্যাক্টিভ আছে তা নির্বিশেষে)।
আমার টেস্ট শেষ হতে এত সময় লাগছে কেন?
টেস্ট এক্সিকিউশন সম্পূর্ণ হওয়ার পরে, ডিভাইস থেকে টেস্ট আর্টিফ্যাক্ট ডাউনলোড, প্রসেস ও Cloud Storage-এ আপলোড করা হয়। এই ধাপের সময়সীমা আর্টিফ্যাক্টের পরিমাণ ও সাইজের উপর নির্ভর করে।
Android-নির্দিষ্ট সমস্যার সমাধান
অ্যাপ ডেটা ফেরত দিচ্ছে না এবং স্ক্রিনশট খুঁজে পাওয়া যাচ্ছে না
টেস্ট এক্সিকিউশন আর্টিফ্যাক্ট (যেমন স্ক্রিনশট ও লগ ফাইল)
Google Cloud Storage-এ স্টোর করা হয় এবং সরাসরি Firebase কনসোলে রেন্ডার করা হয়। আপনার
টেস্ট এক্সিকিউশন গত ৯০ দিনের মধ্যে করা হয়ে থাকলে, আপনি প্রোজেক্ট লেভেল ভূমিকা (প্রোজেক্টের মালিক, প্রোজেক্ট এডিটর বা প্রোজেক্ট দর্শক)
অ্যাসাইন করেছেন কিনা তা চেক করুন।
এছাড়াও, আপনার প্রোজেক্ট বা সংস্থার জন্য ক্লাউড অডিট লগিং চালু করা নেই তা নিশ্চিত করুন।
যদি ৯০ দিনের বেশি আগে এক্সিকিউশন করা হয়, তাহলে সম্ভবত
টেস্ট আর্টিফ্যাক্টগুলি অটোমেটিক মুছে ফেলা হয়েছে। Test Lab ড্যাশবোর্ডের
ফলাফল পরীক্ষা করুন ট্যাবে ক্লিক করে আপনি
ফলাফল বাকেট কনফিগারেশন চেক করতে পারবেন। ডিফল্ট ফলাফল
বাকেট ৯০ দিনের জন্য অবজেক্ট ধরে রাখার জন্য কনফিগার করা হয়েছে।
আপনার টেস্ট আর্টিফ্যাক্ট আরও বেশি সময় ধরে রেখে দিতে, --results-bucket ফ্ল্যাগ সহ
gcloud firebase test android run কমান্ড রান করুন এবং ফলাফল বাকেটের নাম
পাস করুন। আরও তথ্যের জন্য,
gcloud firebase test android run রেফারেন্স ডকুমেন্টেশন দেখুন।
আমি কেন আংশিক বা অনুপস্থিত ইন্সট্রুমেন্টেশন টেস্ট কেসের ফলাফল পাচ্ছি?
আপনি ইন্সট্রুমেন্টেশন টেস্ট রান করলে, টেস্ট সংক্রান্ত সমস্যা দেখতে পেতে পারেন যা আংশিক ফলাফল দেখায়।
এতে Test run failed to complete. Expected
x tests, received y (যেখানে y হল x-এর থেকে কম) মেসেজ থাকে।
এই সমস্যার অর্থ হল, Test Lab টেস্ট কেস শুরু বা শেষ হওয়ার মার্কারের জন্য logcat পার্স করতে পারেনি।
এগুলি সাধারণত AndroidJUnitRunner-এর মাধ্যমে তৈরি হয়।
এই সমস্যার সাধারণ কারণগুলি নিচে উল্লেখ করা হল:
সমস্যার বিবরণ
সম্ভাব্য সমাধান
টাইমআউট হওয়ার কারণে টেস্ট কেস রান করেনি। টেস্টের মোট সময়সীমা আপনার উল্লেখ করা টাইমআউটের চেয়ে বেশি হলে অথবা
সর্বাধিক টাইমআউট-এর চেয়ে বেশি হলে,
Test Lab বাকি টেস্ট কেস বাতিল করে দেয়।
সব টেস্ট যাতে সম্পূর্ণ হতে পারে তা নিশ্চিত করতে ম্যাট্রিক্সের টাইমআউট বাড়ান।
আপনি যদি আগে থেকে এটি না করে থাকেন, তাহলে টেস্ট শার্ড করুন, যাতে প্রতিটি শার্ড টেস্টের একটি
সাবসেট রান করে এবং কম সময়ের মধ্যে সম্পূর্ণ হয়।
আপনি আগে থেকেই শার্ডিং চালু করে থাকলে, শার্ডের সংখ্যা বাড়ান।
টেস্ট কেস সম্পূর্ণ করা যায়নি কারণ এটি সময়ের আগেই বন্ধ হয়ে গেছে বা আটকে গেছে।
আনক্যাচড এক্সেপশন বা অ্যাসারশন এররের কারণে টেস্ট কেস সময়ের আগেই বন্ধ হয়ে যেতে পারে। টেস্ট কেস ইনফিনিট লুপে আটকে যেতে পারে অথবা
এগিয়ে যেতে নাও পারে, যেমন, অ্যাপ যদি সঠিক ভিউ না দেখায় এবং
টেস্ট কেস UI-তে অ্যাকশন পারফর্ম করতে না পারে।
ভিডিও এবং logcat চেক করে দেখুন যে কোথায় পরীক্ষা
বন্ধ হয়ে গেছে।
কাস্টম টেস্ট রানার (AndroidJUnitRunner এক্সটেন্ড করা সহ) অপ্রত্যাশিতভাবে ক্র্যাশ করেছে
অথবা logcat-এ অপ্রত্যাশিত টেস্ট কেস শুরু বা শেষ হওয়ার মার্কার
লিখেছে।
আপনার টেস্ট রানার কোড চেক করুন।
logcat-এ অত্যধিক লগ লেখা হয়েছে, যা বাফারকে ওভারহোয়েল্ম করেছে
অথবা logcat প্রসেস ক্র্যাশ করেছে।
logcat-এ রাইট করার সংখ্যা কমান।
টেস্ট করা হচ্ছে এমন অ্যাপ ক্র্যাশ করেছে।
আপনার অ্যাপ ডিবাগ করুন।
প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
Test Lab-এর জন্য
ফ্রিতে কোটা কী? আমার কাছে যদি আর না থাকে তাহলে আমি কী করব?
Firebase Test Lab ডিভাইসে পরীক্ষা করা এবং Cloud API ব্যবহার করার জন্য
বিনা খরচে কোটা অফার করে। মনে রাখবেন যে টেস্টিং কোটা স্ট্যান্ডার্ড Firebase মূল্যের প্ল্যান ব্যবহার করে,
যদিও Cloud API কোটা তা করে না।
পরীক্ষা করার কোটা
পরীক্ষা চালানোর জন্য ব্যবহৃত ডিভাইসের সংখ্যা দ্বারা পরীক্ষার কোটা নির্ধারণ করা হয়।
Firebase Spark প্ল্যানে ব্যবহারকারীদের জন্য কোনও খরচ ছাড়াই একটি নির্দিষ্ট টেস্টিং কোটা রয়েছে। Blaze প্ল্যানের
ক্ষেত্রে, সময়ের সাথে সাথে আপনার Google Cloud-এর ব্যবহার বৃদ্ধি পেলে,
আপনার কোটা বৃদ্ধি পেতে পারে। আপনি টেস্টিং কোটায় পৌঁছে গেলে, পরের দিন পর্যন্ত অপেক্ষা করুন অথবা
বর্তমানে Spark প্ল্যান ব্যবহার করলে Blaze প্ল্যানে আপগ্রেড করুন।
আপনি আগে থেকেই Blaze প্ল্যান ব্যবহার করলে, কোটা বাড়ানোর অনুরোধ করতে পারবেন।
আরও তথ্যের জন্য,
কোটা পরীক্ষা করা দেখুন।
আপনি Google Cloud কনসোল থেকে আপনার টেস্টিং কোটার ব্যবহার মনিটর করতে পারবেন।
Cloud Testing API কোটা
Cloud Testing API-এর দুটি কোটা সীমা আছে: প্রোজেক্ট পিছু প্রতিদিন অনুরোধের সংখ্যা
এবং প্রোজেক্ট পিছু প্রতি ১০০ সেকেন্ডে অনুরোধের সংখ্যা। আপনি
Google Cloud কনসোল থেকে
আপনার ব্যবহার মনিটর করতে পারবেন।
Cloud Tool Results API কোটা
Cloud Tool Results API-এর দুটি কোটা সীমা আছে: প্রোজেক্ট প্রতি প্রতিদিন কোয়েরি এবং
প্রোজেক্ট প্রতি প্রতি ১০০ সেকেন্ডে কোয়েরি। আপনি
Google Cloud কনসোল থেকে
আপনার ব্যবহার মনিটর করতে পারবেন।
Google Cloud কনসোলে সরাসরি
আপনার কোটা এডিট করে
আরও বেশি কোটার জন্য অনুরোধ জমা দিন (মনে রাখবেন যে বেশিরভাগ সীমা ডিফল্ট হিসেবে
সর্বোচ্চতে সেট করা থাকে), অথবা
Google Cloud কনসোলে অনুরোধ ফর্ম পূরণ করে অথবা
Firebase সহায়তা টিমের সাথে যোগাযোগ করে
আরও বেশি API কোটার অনুরোধ করুন।
আমার ব্যাকএন্ডে পৌঁছানো ট্রাফিক
Test Lab থেকে আসছে কিনা তা আমি কীভাবে জানব?
আপনার ব্যাকএন্ড থেকে, আপনি নির্ধারণ করতে পারেন যে ট্রাফিক Firebase-হোস্ট করা
টেস্ট ডিভাইস থেকে আসছে কিনা, এর জন্য আমাদের
IP রেঞ্জ-এর সাথে সোর্স IP অ্যাড্রেস চেক করুন।
Test Lab কি
VPC-SC-এর সাথে কাজ করে?
Test Lab, VPC-SC-এর সাথে কাজ করে না, যা Test Lab-এর ইন্টার্নাল স্টোরেজ ও ব্যবহারকারীর ফলাফল বাকেটের মধ্যে অ্যাপ ও অন্যান্য টেস্ট আর্টিফ্যাক্ট কপি করা ব্লক করে।
Test Lab-এ আমি কীভাবে ফ্লেকি টেস্ট শনাক্ত করব?
আপনার টেস্টে ফ্লেকি আচরণ শনাক্ত করতে, আমরা
--num-flaky-test-attempts
বিকল্পটি ব্যবহার করার সাজেশন দিই। ডিফ্লেক রি-রান, সাধারণ টেস্ট এক্সিকিউশনের মতোই আপনার দৈনিক কোটায় বিল করা বা গণনা করা হয়।
নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
কোনও ব্যর্থতা শনাক্ত করা হলে, সম্পূর্ণ টেস্ট এক্সিকিউশন আবার রান করে। শুধুমাত্র ব্যর্থ টেস্ট কেস আবার চেষ্টা করার কোনও
সুবিধা নেই।
ডিফ্লেক রিট্রাই রান একই সময়ে রান করার জন্য শিডিউল করা হয়, তবে সমান্তরালভাবে রান করার
কোনও গ্যারান্টি নেই, যেমন, ট্রাফিক উপলভ্য ডিভাইসের সংখ্যাকে
ছাড়িয়ে গেলে।
iOS-নির্দিষ্ট প্রায়শই জিজ্ঞাসিত প্রশ্ন
Test Lab কি
Appium, Flutter/FlutterDriver, ReactNative/Jest, বা Cucumber-এ কাজ করে?
যদিও এর মধ্যে কিছু আইটেম আমাদের রোডম্যাপে আছে, তবে আমরা বর্তমানে এই টেস্টিং এবং অ্যাপ ডেভেলপমেন্ট প্ল্যাটফর্মগুলিকে সমর্থন করার প্রতিশ্রুতি দিতে পারছি না।
আমি কোথায় ডিভাইসের বিবরণ,
যেমন রেজোলিউশন ইত্যাদি দেখতে পাব?
API-এর মাধ্যমে ডিভাইসের বিস্তারিত তথ্য উপলভ্য এবং
describe কমান্ড ব্যবহার করে gcloud ক্লায়েন্ট থেকে
অ্যাক্সেস করা যেতে পারে:
gcloud firebase test ios models describe MODEL
আমি কি iOS টেস্টের সাথে শার্ডিং ব্যবহার করতে পারি?
iOS-এর জন্য Test Lab-এ শার্ডিং নেটিভভাবে কাজ করে না। তবে, iOS টেস্ট কেস শার্ড করতে আপনি
Flank ক্লায়েন্ট ব্যবহার করতে পারবেন।
এটি .xctestrun ফাইলে OnlyTestIdentifiers কী ও ভ্যালু সেট করার মাধ্যমে কাজ করে।
আরও বিবরণের জন্য xcodebuild.xctestrun-এর man পৃষ্ঠা দেখুন।
আমার iOS টেস্টের ফলাফলে ভিডিও নেই কেন?
iOS 18 বা তার পরবর্তী ভার্সনের জন্য, আমরা ফলাফলে ভিডিও দেখাতে পারব না।
Android-নির্দিষ্ট FAQ
Test Lab-এ কি
পরে থাকা যায় এমন ডিভাইস কাজ করে?
হ্যাঁ! Test Lab-এ Google Pixel Watch কাজ করে। আপনি এখন Google Pixel Watch-এ
আপনার স্ট্যান্ডঅ্যালোন Wear অ্যাপে টেস্ট চালাতে পারবেন। Test Lab ডিভাইস সম্পর্কে আরও জানতে,
উপলভ্য ডিভাইসে
পরীক্ষা করুন বিকল্প দেখুন।
Test Lab কি লেটেস্ট Google ডিভাইসে
কাজ করে?
হ্যাঁ! Test Lab-এ Google Pixel Tablet ও Google Pixel Fold কাজ করে। আপনি
আপনার স্ট্যান্ডঅ্যালোন ফিজিক্যাল ডিভাইসে টেস্ট রান করতে পারবেন।
Test Lab ডিভাইস সম্পর্কে আরও জানতে,
উপলভ্য ডিভাইসে
পরীক্ষা করুন বিকল্প দেখুন।
Test Lab-এ
আমি কীভাবে একটি রানিং টেস্ট শনাক্ত করব?
আপনি যদি Firebase-এ আপনার অ্যাপ পরীক্ষা করেন বা Play Console-এ
লঞ্চের আগের রিপোর্টের
জন্য পরীক্ষা চালান, তাহলে আপনার MainActivity ফাইলের firebase.test.lab সিস্টেম প্রপার্টি চেক করে
Firebase-হোস্ট করা ডিভাইসে পরীক্ষা চালানো হচ্ছে কিনা তা শনাক্ত করতে পারবেন। তারপর আপনি testLabSetting-এর জন্য বুলিয়ান ভ্যালুর উপর ভিত্তি করে অতিরিক্ত
স্টেটমেন্ট এক্সিকিউট করতে পারবেন। আরও তথ্যের জন্য,
পরিবর্তিত টেস্ট আচরণ
দেখুন।
Test Lab
কি Appium, Flutter/FlutterDriver, ReactNative/Jest, বা Cucumber-এ কাজ করে?
যদিও এর মধ্যে কিছু আইটেম আমাদের রোডম্যাপে আছে, তবে আমরা বর্তমানে এই টেস্টিং এবং অ্যাপ ডেভেলপমেন্ট প্ল্যাটফর্মগুলিকে সমর্থন করার প্রতিশ্রুতি দিতে পারছি না। তবে,
আপনি যদি Espresso (যেমন,
Flutter) সাপোর্ট করে এমন ফ্রেমওয়ার্ক দিয়ে অ্যাপ তৈরি করেন, তাহলে আপনি
Espresso
ব্যবহার করে ইন্সট্রুমেন্টেশন টেস্ট লিখতে পারবেন এবং তারপর Test Lab-এ টেস্ট রান করতে পারবেন।
Test Lab
কি অস্পষ্ট অ্যাপ (যেমন, ProGuard বা R8-এর মাধ্যমে) পরীক্ষা করার সুবিধা দেয়?
Test Lab-এ অবফাসকেশন বা ডিঅবফাসকেশনের জন্য কোনও স্পষ্ট সহায়তা নেই। অ্যাপটি
সম্ভবত রান করবে, তবে স্ট্যাক ট্রেসের মতো অস্পষ্ট অ্যাপ ডেটা
লগে অস্পষ্ট হিসেবেই দেখা যাবে।
Test Lab-এ টেস্ট করার সময় আমি কি আমার ফোল্ডেবল ডিভাইস বিভিন্ন ফোল্ডেবল স্টেট ও ভঙ্গিতে ব্যবহার করতে পারব?
ফোল্ড করা যায় এমন ডিভাইস বিভিন্নভাবে ফোল্ড করা অবস্থায় থাকতে পারে, যেমন FLAT (সম্পূর্ণ খোলা) বা HALF_OPENED (সম্পূর্ণ খোলা ও সম্পূর্ণ বন্ধের মাঝামাঝি)।
অন্যদিকে, ভঙ্গির মধ্যে নির্দিষ্ট ডিভাইস ওরিয়েন্টেশন ও ফোল্ডেবল
অবস্থা অন্তর্ভুক্ত। যেমন, টেবিলটপ পসচার, যা অনুভূমিক ওরিয়েন্টেশনে HALF_OPENED স্টেট বা বুক পসচার, যা উল্লম্ব ওরিয়েন্টেশনে HALF_OPENED স্টেট।
আমার কাছে অ্যাপ না থাকলে, আমি কি Test Lab ব্যবহার করে দেখতে পারি?
অন্যান্য Firebase প্রোডাক্টের মতো, Test Lab ব্যবহার করার জন্য আপনাকে Firebase SDK
যোগ করতে হবে না। আপনার কাছে আগে থেকে কোনও অ্যাপ না থাকলে, আপনি
অনলাইনে APK ডাউনলোড করতে পারেন অথবা AndroidX GitHub রিপোজিটরি-তে থাকা স্যাম্পেল থেকে
অ্যাপ ও টেস্ট APK তৈরি করতে পারেন।
মনে রাখবেন, রোবো টেস্ট চালানোর জন্য আপনার শুধু
অ্যাপের APK ফাইল প্রয়োজন, যেখানে ইন্সট্রুমেন্টেশন টেস্টের জন্য
অ্যাপ এবং টেস্ট APK দুটিই প্রয়োজন যা সোর্স কোড থেকে তৈরি করা হয়। আরও তথ্যের জন্য,
ইনস্ট্রুমেন্টেড টেস্ট সম্পর্কে পড়ুন।
স্ক্রিনশট-ডিফ টেস্টিংয়ের জন্য
কোন ডিভাইস সবচেয়ে ভালো?
স্ক্রিনশট-ডিফ টেস্টিং হল এমন একটি পদ্ধতি যেখানে টেস্ট অ্যাসার্শন, টেস্ট চালানোর সময় পাওয়া স্ক্রিন ইমেজের সাথে প্রত্যাশিত আচরণ দেখানো গোল্ডেন ইমেজের তুলনা করার উপর ভিত্তি করে করা হয়। এই ধরনের টেস্ট কিছু ডিভাইসে অন্যদের তুলনায় বেশি ভঙ্গুর হতে পারে। এই ধরনের পরীক্ষার জন্য আমরা
Arm (*.arm) এমুলেটর ডিভাইস টার্গেট করার সাজেশন দিই। Arm এমুলেটর ডিভাইস এমন ছবি ব্যবহার করে
যা Android Studio ‘জেনেরিক’ এমুলেটরের সাথে খুব মিল আছে বা একই রকম।
এছাড়াও, আমরা আপনাকে টেস্ট লাইব্রেরিগুলি তদন্ত করার সাজেশন দিই যা প্রত্যাশিত পরিবর্তনের উপস্থিতিতে স্ক্রিনশট টেস্টগুলিকে আরও শক্তিশালী করতে সাহায্য করতে পারে।
Test Lab কি ভার্চুয়াল ডিভাইস আপডেট করে?
হ্যাঁ! নিম্নলিখিত পরিবর্তন করা হলে ভার্চুয়াল ডিভাইস আপডেট করা হয়:
আগে থেকে থাকা ছবিতে আপডেট
আগের API লেভেল বন্ধ করা
নতুন Android API লেভেল যোগ করা হয়েছে
আমি কীভাবে কভারেজ রিপোর্ট চালু করব?
কভারেজ রিপোর্ট চালু করতে, coverage=true-কে
environmentVariables ফিল্ডে যোগ করুন।
আপনি Android Test Orchestrator ব্যবহার করলে, কভারেজ ফলাফল সেভ করার জন্য আপনাকে একটি ডিরেক্টরি প্রদান করতে হবে:
আমি ডিভাইসের বিবরণ, যেমন রেজোলিউশন,
সমর্থিত ABI ইত্যাদি কোথায় পাব?
API-এর মাধ্যমে ডিভাইসের বিস্তারিত তথ্য উপলভ্য এবং
describe কমান্ড ব্যবহার করে gcloud ক্লায়েন্ট থেকে
অ্যাক্সেস করা যেতে পারে:
gcloud firebase test android models describe MODEL
ফোন ছাড়া আমি কীভাবে Wear অ্যাপে লগ-ইন করব?
আপনার অ্যাপে Google Sign In কাজ করলে, এটি টেস্ট অ্যাকাউন্টের সাথে অটোমেটিক কাজ করা উচিত। অন্যথায়, আপনার অ্যাপে লগ-ইন করার জন্য সাধারণত ফোনের প্রয়োজন হলে, আপনি এমন একটি বিল্ড ভ্যারিয়েন্ট তৈরি করতে পারেন যা লগ-ইন করার ধাপটি এড়িয়ে যায় এবং আপনার টেস্ট বিল্ডে এম্বেড করা টোকেন ব্যবহার করে অথবা সাধারণত --other-files option ব্যবহার করে পুশ করা ডিস্কের ফাইল থেকে পড়ে। আরও জানতে, রোবো টেস্টের মাধ্যমে কাস্টম লগ-ইন ও টেক্সট ইনপুট দেখুন।
পরিচিত সমস্যা
সাইন-ইন ক্যাপচা
সাইন-ইন করার জন্য ক্রেডেনশিয়াল লেখার পরেও ব্যবহারকারীর অতিরিক্ত অ্যাকশন প্রয়োজন হয়,
যেমন, ক্যাপচা সম্পূর্ণ করা, এমন সাইন-ইন স্ক্রিন রোবো টেস্ট বাইপাস করতে পারে না।
iOS-নির্দিষ্ট পরিচিত সমস্যা
অটোমেটিক সাইন-ইন
iOS+ (বিটা)-এর জন্য Robo টেস্টে Google অ্যাকাউন্ট দিয়ে অটোমেটিক সাইন-ইন করার সুবিধা কাজ করে না।
Android-নির্দিষ্ট পরিচিত সমস্যা
UI ফ্রেমওয়ার্ক সংক্রান্ত সহায়তা
Android UI ফ্রেমওয়ার্কের (View, ViewGroup ও WebView
অবজেক্ট সহ) UI এলিমেন্ট ব্যবহার করে এমন অ্যাপের ক্ষেত্রে রোবো টেস্ট সবচেয়ে ভাল কাজ করে। আপনি যদি Unity গেম ইঞ্জিন ব্যবহার করে এমন অ্যাপ সহ অন্যান্য UI ফ্রেমওয়ার্ক ব্যবহার করে এমন অ্যাপের ক্ষেত্রে রোবো টেস্ট ব্যবহার করেন, তাহলে প্রথম স্ক্রিনের বাইরে এক্সপ্লোর না করেই টেস্টটি বন্ধ হয়ে যেতে পারে।