এই পৃষ্ঠাটি Firebase Test Lab মাধ্যমে পরীক্ষা চালানোর বিষয়ে প্রায়শই জিজ্ঞাসিত প্রশ্নের উত্তর এবং সমস্যা সমাধানে সহায়তা প্রদান করে। জ্ঞাত সমস্যাগুলিও নথিভুক্ত করা হয়েছে। আপনি যা খুঁজছেন তা যদি খুঁজে না পান বা অতিরিক্ত সাহায্যের প্রয়োজন হয়, তাহলে Firebase Slack- এর #test-lab চ্যানেলে যোগদান করুন অথবা Firebase সহায়তার সাথে যোগাযোগ করুন।
সমস্যা সমাধান
যখন আপনি Test Lab ক্যাটালগে উচ্চ ক্ষমতা সম্পন্ন একটি ডিভাইস নির্বাচন করেন, তখন পরীক্ষাগুলি দ্রুত শুরু হতে পারে। যখন কোনও ডিভাইসের ক্ষমতা কম থাকে, তখন পরীক্ষাগুলি চালাতে বেশি সময় লাগতে পারে। যদি নির্বাচিত ডিভাইসগুলির ক্ষমতার চেয়ে বেশি পরীক্ষার সংখ্যা বেশি হয়, তাহলে পরীক্ষাগুলি শেষ হতে বেশি সময় লাগতে পারে।
যেকোনো স্তরের ডিভাইসের ক্ষমতা স্তরে পরীক্ষা চালানোর ক্ষেত্রে নিম্নলিখিত কারণগুলির কারণে বেশি সময় লাগতে পারে:
- ট্র্যাফিক, যা ডিভাইসের প্রাপ্যতা এবং পরীক্ষার গতিকে প্রভাবিত করে।
- ডিভাইস বা অবকাঠামোগত ব্যর্থতা, যা যেকোনো সময় ঘটতে পারে। Test Lab জন্য কোনও রিপোর্ট করা অবকাঠামো আছে কিনা তা পরীক্ষা করতে, Firebase স্ট্যাটাস ড্যাশবোর্ড দেখুন।
Test Lab ডিভাইসের ক্ষমতা সম্পর্কে আরও জানতে, Android এবং iOS এর জন্য ডিভাইসের ক্ষমতার তথ্য দেখুন।
অনিশ্চিত পরীক্ষার ফলাফল সাধারণত বাতিল হওয়া পরীক্ষা রান অথবা পরিকাঠামোগত ত্রুটির কারণে ঘটে।
অভ্যন্তরীণ Test Lab সমস্যা, যেমন নেটওয়ার্ক ত্রুটি বা অপ্রত্যাশিত ডিভাইস আচরণের কারণে অবকাঠামোগত ত্রুটিগুলি ঘটে। Test Lab অভ্যন্তরীণভাবে এমন পরীক্ষা রানগুলিকে অবসর দেয় যা একাধিকবার অবকাঠামোগত ত্রুটি তৈরি করে এবং কোনও অনিশ্চিত ফলাফল রিপোর্ট করে না; তবে, আপনি failFast ব্যবহার করে এই পুনঃপ্রয়াসগুলি অক্ষম করতে পারেন।
ত্রুটির কারণ নির্ধারণ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
- Firebase স্ট্যাটাস ড্যাশবোর্ডে জানা বিভ্রাটগুলি পরীক্ষা করুন।
এটি পুনরুৎপাদনযোগ্য কিনা তা যাচাই করতে Test Lab পুনরায় পরীক্ষা করে দেখুন।
প্রযোজ্য হলে, অন্য কোনও ডিভাইসে বা ডিভাইসের ধরণের উপর পরীক্ষাটি চালানোর চেষ্টা করুন।
যদি সমস্যাটি থেকে যায়, তাহলে Firebase Slack-এর #test-lab চ্যানেলে Test Lab টিমের সাথে যোগাযোগ করুন।
যখন আপনার নির্দিষ্ট করা শার্ডের সংখ্যা Test Lab ব্যবহারের জন্য উপলব্ধ ডিভাইসের সংখ্যার চেয়ে বেশি হয়, তখন শেয়ারিংয়ের ফলে আপনার পরীক্ষাগুলি দীর্ঘ সময় ধরে চলতে পারে। এই পরিস্থিতি এড়াতে, একটি ভিন্ন ডিভাইসে স্যুইচ করার চেষ্টা করুন। একটি ভিন্ন ডিভাইস নির্বাচন করার বিষয়ে আরও তথ্যের জন্য, দেখুনডিভাইসের ধারণক্ষমতা ।
যখন আপনি একটি পরীক্ষার অনুরোধ জমা দেন, তখন আপনার অ্যাপটি প্রথমে যাচাই করা হয়, পুনরায় স্বাক্ষর করা হয়, ইত্যাদি। ডিভাইসে পরীক্ষা চালানোর প্রস্তুতি হিসেবে। সাধারণত, এই প্রক্রিয়াটি কয়েক সেকেন্ডেরও কম সময়ে সম্পন্ন হয়, তবে এটি আপনার অ্যাপের আকারের মতো বিষয়গুলির দ্বারা প্রভাবিত হতে পারে।
আপনার অ্যাপ প্রস্তুত হওয়ার পর, পরীক্ষামূলক সম্পাদনের সময়সূচী নির্ধারণ করা হয় এবং একটি ডিভাইস এটি চালানোর জন্য প্রস্তুত না হওয়া পর্যন্ত একটি সারিতে থাকে। সমস্ত পরীক্ষামূলক সম্পাদন শেষ না হওয়া পর্যন্ত, ম্যাট্রিক্সের অবস্থা "মুলতুবি" থাকবে (পরীক্ষামূলক সম্পাদনগুলি সারিতে আছে নাকি সক্রিয়ভাবে চলছে তা নির্বিশেষে)।
পরীক্ষামূলক সম্পাদন শেষ হওয়ার পর, পরীক্ষামূলক শিল্পকর্মগুলি ডিভাইস থেকে ডাউনলোড করা হয়, প্রক্রিয়াজাত করা হয় এবং Cloud Storage আপলোড করা হয়। এই ধাপের সময়কাল শিল্পকর্মের পরিমাণ এবং আকারের উপর নির্ভর করতে পারে।
অ্যান্ড্রয়েড-নির্দিষ্ট সমস্যা সমাধান
টেস্ট এক্সিকিউশন আর্টিফ্যাক্টগুলি (যেমন স্ক্রিনশট এবং লগ ফাইল) Google Cloud Storage সংরক্ষণ করা হয় এবং সরাসরি Firebase কনসোলে রেন্ডার করা হয়। যদি আপনার টেস্ট এক্সিকিউশন গত 90 দিনের মধ্যে সম্পন্ন হয়ে থাকে, তাহলে পরীক্ষা করে দেখুন যে আপনি প্রোজেক্ট লেভেলের ভূমিকা (প্রজেক্ট মালিক, প্রোজেক্ট এডিটর, অথবা প্রোজেক্ট ভিউয়ার) নির্ধারণ করেছেন কিনা। অনুগ্রহ করে নিশ্চিত করুন যে আপনার প্রোজেক্ট বা আপনার প্রতিষ্ঠানের জন্য ক্লাউড অডিট লগিং সক্ষম করা নেই।
যদি এক্সিকিউশনটি 90 দিনেরও বেশি আগে করা হয়ে থাকে, তাহলে সম্ভবত পরীক্ষার আর্টিফ্যাক্টগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়েছে। আপনি Test Lab ড্যাশবোর্ডে টেস্ট ফলাফল ট্যাবে ক্লিক করে ফলাফল বাকেট কনফিগারেশন পরীক্ষা করতে পারেন। ডিফল্ট ফলাফল বাকেটটি 90 দিনের জন্য অবজেক্ট ধরে রাখার জন্য কনফিগার করা হয়।
আপনার পরীক্ষার আর্টিফ্যাক্টগুলি দীর্ঘক্ষণ ধরে রাখতে, gcloud firebase test android run কমান্ডটি --results-bucket ফ্ল্যাগ সহ চালান এবং ফলাফল বাকেটের নামে pass করুন। আরও তথ্যের জন্য, gcloud firebase test android run রেফারেন্স ডকুমেন্টেশন দেখুন।
যখন আপনি ইন্সট্রুমেন্টেশন পরীক্ষা চালান, তখন আপনি পরীক্ষার ত্রুটি দেখতে পাবেন যা আংশিক ফলাফল নির্দেশ করে যার মধ্যে Test run failed to complete. Expected x tests, received y (যেখানে y x এর চেয়ে কম)। এই ত্রুটির অর্থ হল Test Lab সাধারণত AndroidJUnitRunner দ্বারা তৈরি করা টেস্ট কেস স্টার্ট বা এন্ড মার্কারগুলির জন্য লগক্যাট পার্স করতে পারেনি।
এই সমস্যার সাধারণ কারণগুলি নিম্নরূপ:
| সমস্যার বিবরণ | সম্ভাব্য সমাধান |
|---|---|
| টাইমআউটের কারণে টেস্ট কেস চালানো হয়নি। যদি পরীক্ষার মোট সময়কাল আপনার নির্দিষ্ট টাইমআউটের চেয়ে বেশি হয় অথবা সর্বোচ্চ টাইমআউটের চেয়ে বেশি হয়, তাহলে Test Lab বাকি টেস্ট কেসগুলি বাতিল করে দেয়। |
|
| টেস্ট কেসটি সম্পূর্ণ হতে পারেনি কারণ এটি অকালে বেরিয়ে গেছে অথবা আটকে গেছে। একটি অপ্রত্যাশিত ব্যতিক্রম বা অ্যাসারশন ত্রুটির কারণে টেস্ট কেসটি অকালে বেরিয়ে যেতে পারে। টেস্ট কেসগুলি একটি অসীম লুপে আটকে যেতে পারে অথবা এগিয়ে যেতে অক্ষম হতে পারে, উদাহরণস্বরূপ, যদি অ্যাপটি সঠিক ভিউ না দেখায় এবং টেস্ট কেসটি UI তে অ্যাকশন সম্পাদন করতে না পারে। | পরীক্ষাটি কোথায় থামলো তা তদন্ত করতে ভিডিও এবং logcat দেখুন। |
একটি কাস্টম টেস্ট রানার (AndroidJUnitRunner এক্সটেন্ড করা সহ) অপ্রত্যাশিতভাবে ক্র্যাশ করেছে অথবা logcat এ অপ্রত্যাশিত টেস্ট কেস স্টার্ট বা এন্ড মার্কার লিখেছে। | আপনার টেস্ট রানার কোডটি পরীক্ষা করুন। |
logcat এ অতিরিক্ত লগ লেখা হয়েছিল, যা বাফারকে ওভারলোড করেছিল বা logcat প্রক্রিয়াটি ক্র্যাশ করেছিল। | logcat এ লেখা কমিয়ে দিন। |
| পরীক্ষাধীন অ্যাপটি ক্র্যাশ হয়ে গেছে। | আপনার অ্যাপটি ডিবাগ করুন। |
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী (FAQ)
Firebase Test Lab ডিভাইসে পরীক্ষা করার জন্য এবং ক্লাউড API ব্যবহারের জন্য বিনামূল্যে কোটা অফার করে। মনে রাখবেন যে পরীক্ষার কোটা স্ট্যান্ডার্ড Firebase মূল্য পরিকল্পনা ব্যবহার করে, যেখানে Cloud API কোটা তা করে না।
পরীক্ষার কোটা
পরীক্ষা চালানোর জন্য ব্যবহৃত ডিভাইসের সংখ্যার উপর ভিত্তি করে পরীক্ষার কোটা নির্ধারিত হয়। Firebase Spark প্ল্যানে ব্যবহারকারীদের বিনামূল্যে একটি নির্দিষ্ট পরীক্ষার কোটা রয়েছে। Blaze প্ল্যানের ক্ষেত্রে, সময়ের সাথে সাথে Google Cloud এর ব্যবহার বৃদ্ধি পেলে আপনার কোটা বাড়তে পারে। যদি আপনি আপনার পরীক্ষার কোটায় পৌঁছে যান, তাহলে পরের দিন পর্যন্ত অপেক্ষা করুন অথবা যদি আপনি বর্তমানে Spark প্ল্যানে থাকেন তাহলে Blaze প্ল্যানে আপগ্রেড করুন। যদি আপনি ইতিমধ্যেই Blaze প্ল্যানে থাকেন, তাহলে আপনি কোটা বৃদ্ধির অনুরোধ করতে পারেন। আরও তথ্যের জন্য, পরীক্ষার কোটা দেখুন।
আপনি Google Cloud কনসোলে আপনার পরীক্ষার কোটার ব্যবহার পর্যবেক্ষণ করতে পারেন।
ক্লাউড টেস্টিং এপিআই কোটা
ক্লাউড টেস্টিং এপিআই দুটি কোটার সীমা সহ আসে: প্রতি প্রকল্পের জন্য প্রতিদিন অনুরোধ এবং প্রতি প্রকল্পের জন্য প্রতি ১০০ সেকেন্ডের জন্য অনুরোধ। আপনি Google Cloud কনসোলে আপনার ব্যবহার পর্যবেক্ষণ করতে পারেন।
ক্লাউড টুল ফলাফল API কোটা
ক্লাউড টুল রেজাল্টস এপিআই দুটি কোটা সীমার সাথে আসে: প্রতি প্রকল্পের জন্য প্রতিদিন কোয়েরি এবং প্রতি প্রকল্পের জন্য প্রতি ১০০ সেকেন্ডে কোয়েরি। আপনি Google Cloud কনসোলে আপনার ব্যবহার পর্যবেক্ষণ করতে পারেন।
API সীমা সম্পর্কে আরও তথ্যের জন্য Test Lab জন্য ক্লাউড API কোটা দেখুন। যদি আপনি একটি API কোটায় পৌঁছে থাকেন:
Google Cloud কনসোলে সরাসরি আপনার কোটা সম্পাদনা করে উচ্চতর কোটার জন্য একটি অনুরোধ জমা দিন (মনে রাখবেন যে বেশিরভাগ সীমা ডিফল্টরূপে সর্বোচ্চে সেট করা থাকে), অথবা
Google Cloud কনসোলে একটি অনুরোধ ফর্ম পূরণ করে অথবা ফায়ারবেস সাপোর্টের সাথে যোগাযোগ করে উচ্চতর API কোটার জন্য অনুরোধ করুন।
আপনার ব্যাকএন্ড থেকে, আপনি আমাদের আইপি রেঞ্জের বিপরীতে সোর্স আইপি ঠিকানা পরীক্ষা করে নির্ধারণ করতে পারেন যে ফায়ারবেস-হোস্টেড টেস্ট ডিভাইস থেকে ট্র্যাফিক আসছে কিনা।
Test Lab VPC-SC এর সাথে কাজ করে না, যা Test Lab অভ্যন্তরীণ স্টোরেজ এবং ব্যবহারকারীদের ফলাফল বাকেটের মধ্যে অ্যাপ এবং অন্যান্য পরীক্ষার আর্টিফ্যাক্টের অনুলিপি ব্লক করে।
আপনার পরীক্ষায় ফ্ল্যাকি আচরণ সনাক্ত করতে, আমরা ব্যবহার করার পরামর্শ দিচ্ছি--সংখ্যা-ফ্লেকি-পরীক্ষা-প্রচেষ্টাবিকল্প। Deflake রিরানগুলি আপনার দৈনিক কোটায় বিল করা হয় বা গণনা করা হয়, সাধারণ পরীক্ষা সম্পাদনের মতোই।
নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
- কোনও ব্যর্থতা ধরা পড়লে সম্পূর্ণ পরীক্ষা সম্পাদন আবার শুরু হয়। শুধুমাত্র ব্যর্থ পরীক্ষার ক্ষেত্রে পুনরায় চেষ্টা করার কোনও সমর্থন নেই।
- Deflake retry রান একই সময়ে চালানোর জন্য নির্ধারিত, কিন্তু সমান্তরালভাবে চালানোর নিশ্চয়তা নেই, উদাহরণস্বরূপ, যখন ট্র্যাফিক উপলব্ধ ডিভাইসের সংখ্যা ছাড়িয়ে যায়।
iOS-নির্দিষ্ট FAQ
যদিও এই বিষয়গুলির কিছু আমাদের রোডম্যাপে রয়েছে, আমরা বর্তমানে এই পরীক্ষামূলক এবং অ্যাপ ডেভেলপমেন্ট প্ল্যাটফর্মগুলিকে সমর্থন করার প্রতিশ্রুতি দিতে অক্ষম।
বিস্তারিত ডিভাইস তথ্য API এর মাধ্যমে পাওয়া যায় এবং gcloud ক্লায়েন্ট থেকে describe কমান্ড ব্যবহার করে অ্যাক্সেস করা যেতে পারে:
gcloud firebase test ios models describe MODEL
iOS-এর জন্য Test Lab শেয়ারিং নেটিভভাবে সমর্থিত নয়। তবে, আপনি iOS টেস্ট কেসগুলিকে ছোট করার জন্য Flank ক্লায়েন্ট ব্যবহার করতে পারেন।
এটি .xctestrun ফাইলে OnlyTestIdentifiers কী এবং মান সেট করে কাজ করে। আরও বিস্তারিত জানার জন্য xcodebuild.xctestrun এর man পৃষ্ঠাটি দেখুন।
iOS 18 বা তার পরবর্তী ভার্সনের জন্য, আমরা ফলাফলে ভিডিও সমর্থন করতে পারছি না।
অ্যান্ড্রয়েড-নির্দিষ্ট প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
হ্যাঁ! Test Lab গুগল পিক্সেল ওয়াচ সমর্থন করে। আপনি এখন গুগল পিক্সেল ওয়াচেসে আপনার স্বতন্ত্র ওয়্যার অ্যাপে পরীক্ষা চালাতে পারেন। Test Lab ডিভাইস সম্পর্কে আরও জানতে, উপলব্ধ ডিভাইসগুলিতে পরীক্ষা দেখুন।
হ্যাঁ! Test Lab গুগল পিক্সেল ট্যাবলেট এবং গুগল পিক্সেল ফোল্ড সমর্থন করে। আপনি আপনার স্বতন্ত্র ফিজিক্যাল ডিভাইসগুলিতে আপনার পরীক্ষা চালাতে পারেন। Test Lab ডিভাইস সম্পর্কে আরও জানতে, উপলব্ধ ডিভাইসগুলিতে পরীক্ষা দেখুন।
যদি আপনি Firebase-এ আপনার অ্যাপ পরীক্ষা করছেন অথবা Play Console-এ প্রি-লঞ্চ রিপোর্টের জন্য পরীক্ষা চালাচ্ছেন, তাহলে আপনার MainActivity ফাইলে system property firebase.test.lab পরীক্ষা করে Firebase-হোস্টেড ডিভাইসে পরীক্ষা চালানো হচ্ছে কিনা তা সনাক্ত করতে পারবেন। এরপর আপনি testLabSetting এর বুলিয়ান মানের উপর ভিত্তি করে অতিরিক্ত বিবৃতি কার্যকর করতে পারবেন। আরও তথ্যের জন্য, Modified test behaviors দেখুন।
যদিও এই আইটেমগুলির কিছু আমাদের রোডম্যাপে রয়েছে, আমরা বর্তমানে এই পরীক্ষামূলক এবং অ্যাপ ডেভেলপমেন্ট প্ল্যাটফর্মগুলিকে সমর্থন করার প্রতিশ্রুতি প্রদান করতে পারছি না। তবে, যদি আপনি আপনার অ্যাপটি এমন একটি ফ্রেমওয়ার্ক দিয়ে তৈরি করেন যা Espresso সমর্থন করে (উদাহরণস্বরূপ, Flutter), তাহলে আপনি Espresso ব্যবহার করে একটি যন্ত্র পরীক্ষা লিখতে পারেন এবং তারপর Test Lab এ পরীক্ষাটি চালাতে পারেন।
Test Lab স্পষ্টভাবে অস্পষ্টতা বা অস্পষ্টতা সমর্থন করে না। অ্যাপটি সম্ভবত চালু থাকলেও, স্ট্যাক ট্রেসের মতো যেকোনো অস্পষ্ট অ্যাপ ডেটা লগগুলিতে অস্পষ্টতা হিসাবে প্রদর্শিত হবে।
হ্যাঁ! আপনি আপনার ভাঁজযোগ্য ডিভাইসটি ভাঁজযোগ্য অবস্থা এবং ভঙ্গিতে পরীক্ষা করতে পারেন।
ভাঁজযোগ্য ডিভাইসগুলি বিভিন্ন ভাঁজ করা অবস্থায় থাকতে পারে, যেমন FLAT (সম্পূর্ণ খোলা) অথবা HALF_OPENED (সম্পূর্ণ খোলা এবং সম্পূর্ণ বন্ধের মধ্যে)।
অন্যদিকে, ভঙ্গিতে নির্দিষ্ট ডিভাইসের ওরিয়েন্টেশন এবং ভাঁজযোগ্য অবস্থা থাকে। উদাহরণস্বরূপ, টেবিলটপ ভঙ্গি, যা অনুভূমিক অভিযোজনে HALF_OPENED অবস্থা, অথবা বইয়ের ভঙ্গি, যা উল্লম্ব অভিযোজনে HALF_OPENED অবস্থা।
যদি আপনি ইন্সট্রুমেন্টেশন পরীক্ষা চালাচ্ছেন, তাহলে আপনি Jetpack WindowManager লাইব্রেরি ব্যবহার করতে পারেন এবং বিভিন্ন অবস্থা এবং ভঙ্গি পরীক্ষা করার জন্য ফোল্ডেবল ডকুমেন্টেশনে আপনার অ্যাপটি পরীক্ষা করে দেখতে পারেন।
বিকল্পভাবে, উপলব্ধ অবস্থাগুলি ডিভাইস-নির্দিষ্ট এবং adb shell command cmd device_state ব্যবহার করে ইন্টারঅ্যাক্ট করা যেতে পারে।
- বর্তমান অবস্থা তালিকাভুক্ত করতে,
adb shell cmd device_state stateচালান। - বর্তমান অবস্থা সেট বা ওভাররাইড করতে,
adb shell cmd device_state state <IDENTIFIER>চালান। - অবস্থা রিসেট করতে,
adb shell cmd device_state state resetচালান। - উপলব্ধ অবস্থা পরীক্ষা করতে, ফোল্ডেবল ডিভাইসে
adb shell cmd device_state print-statesকমান্ডটি চালান।
গুগল পিক্সেল ফোল্ড (মডেল আইডি felix )
$ adb shell cmd device_state print-states Supported states: [ DeviceState{identifier=0, name='CLOSED', app_accessible=true}, DeviceState{identifier=1, name='HALF_OPENED', app_accessible=true}, DeviceState{identifier=2, name='OPENED', app_accessible=true}, DeviceState{identifier=3, name='REAR_DISPLAY_STATE', app_accessible=true}, ]
Samsung Galaxy Z Fold4 (মডেল আইডি q4q )
$ adb shell cmd device_state print-states Supported states: [ DeviceState{identifier=0, name='CLOSE', app_accessible=true}, DeviceState{identifier=1, name='TENT', app_accessible=true}, DeviceState{identifier=2, name='HALF_FOLDED', app_accessible=true}, DeviceState{identifier=3, name='OPEN', app_accessible=true}, ]
অন্যান্য Firebase পণ্যের মতো, Test Lab ব্যবহার করার জন্য আপনাকে Firebase SDK যোগ করার প্রয়োজন নেই। যদি আপনার কাছে ইতিমধ্যেই কোনও অ্যাপ না থাকে, তাহলে আপনি অনলাইনে একটি APK ডাউনলোড করতে পারেন অথবা AndroidX GitHub রিপোজিটরির যেকোনো একটি নমুনা থেকে একটি অ্যাপ এবং একটি পরীক্ষামূলক APK তৈরি করতে পারেন। মনে রাখবেন যে Robo পরীক্ষা চালানোর জন্য আপনার শুধুমাত্র আপনার অ্যাপের APK ফাইলের প্রয়োজন, যেখানে একটি ইন্সট্রুমেন্টেশন পরীক্ষার জন্য একটি অ্যাপ এবং একটি পরীক্ষামূলক APK উভয়েরই প্রয়োজন যা সোর্স কোড থেকে তৈরি। আরও তথ্যের জন্য, Instrumented পরীক্ষা সম্পর্কে পড়ুন।
Test Lab বৈশিষ্ট্য সম্পর্কে আরও জানতে, Firebase Test Lab দিয়ে অ্যান্ড্রয়েডের জন্য পরীক্ষা শুরু করুন দেখুন।
স্ক্রিনশট-ডিফ টেস্টিং হল এমন একটি পরীক্ষা যেখানে পরীক্ষার দাবিগুলি প্রত্যাশিত আচরণের প্রতিনিধিত্বকারী সোনালী চিত্রগুলির সাথে পরীক্ষা চালানোর সময় প্রাপ্ত স্ক্রিন চিত্রগুলির তুলনার উপর ভিত্তি করে তৈরি করা হয়। এই ধরণের পরীক্ষাগুলি কিছু ধরণের ডিভাইসে অন্যগুলির তুলনায় বেশি ভঙ্গুর হতে পারে। আমরা এই ধরণের পরীক্ষার জন্য Arm ( *.arm ) এমুলেটর ডিভাইসগুলিকে লক্ষ্য করার পরামর্শ দিই। Arm এমুলেটর ডিভাইসগুলি এমন চিত্র ব্যবহার করে যা Android Studio 'জেনেরিক' এমুলেটরগুলির সাথে খুব মিল বা অভিন্ন।
আমরা আপনাকে এমন পরীক্ষামূলক লাইব্রেরিগুলি অনুসন্ধান করার পরামর্শ দিচ্ছি যা প্রত্যাশিত পরিবর্তনের উপস্থিতিতে স্ক্রিনশট পরীক্ষাগুলিকে আরও শক্তিশালী করতে সাহায্য করতে পারে।
হ্যাঁ! নিম্নলিখিত পরিবর্তনগুলি করা হলে ভার্চুয়াল ডিভাইসগুলি আপডেট করা হয়:
- বিদ্যমান ছবির আপডেট
- পূর্ববর্তী API স্তরের অবচয়
- নতুন অ্যান্ড্রয়েড এপিআই লেভেল যোগ করা হয়েছে
কভারেজ রিপোর্ট সক্রিয় করতে, environmentVariables ফিল্ডে coverage=true যোগ করুন। আপনি যদি Android Test Orchestrator ব্যবহার করেন, তাহলে কভারেজের ফলাফল সংরক্ষণ করার জন্য আপনাকে একটি ডিরেক্টরি প্রদান করতে হবে:
--environment-variables coverage=true,coverageFilePath=/sdcard/Download/
যদি আপনি Orchestrator ব্যবহার না করেন, তাহলে আপনি একটি ফাইল পাথ নির্দিষ্ট করতে পারেন:
--environment-variables coverage=true,coverageFile=/sdcard/Download/coverage.ec
বিস্তারিত ডিভাইস তথ্য API এর মাধ্যমে পাওয়া যায় এবং gcloud ক্লায়েন্ট থেকে describe কমান্ড ব্যবহার করে অ্যাক্সেস করা যেতে পারে:
gcloud firebase test android models describe MODEL
জ্ঞাত সমস্যা
রোবো টেস্ট সাইন-ইন স্ক্রিনগুলিকে এড়িয়ে যেতে পারে না যেখানে সাইন ইন করার জন্য শংসাপত্র প্রবেশ করানোর বাইরে অতিরিক্ত ব্যবহারকারীর পদক্ষেপের প্রয়োজন হয়, উদাহরণস্বরূপ, একটি ক্যাপচা পূরণ করা।
iOS-নির্দিষ্ট জ্ঞাত সমস্যা
iOS+ (বিটা) এর জন্য রোবো পরীক্ষায় Google অ্যাকাউন্ট দিয়ে স্বয়ংক্রিয়ভাবে সাইন ইন করা সমর্থিত নয়।
অ্যান্ড্রয়েড-নির্দিষ্ট জ্ঞাত সমস্যা
অ্যান্ড্রয়েড ইউআই ফ্রেমওয়ার্কের ( View , ViewGroup এবং WebView অবজেক্ট সহ) ইউআই উপাদান ব্যবহার করে এমন অ্যাপগুলির সাথে রোবো টেস্ট সবচেয়ে ভালো কাজ করে। যদি আপনি ইউনিটি গেম ইঞ্জিন ব্যবহার করে এমন অ্যাপ সহ অন্যান্য ইউআই ফ্রেমওয়ার্ক ব্যবহার করে এমন অ্যাপগুলি ব্যবহার করতে রোবো টেস্ট ব্যবহার করেন, তাহলে প্রথম স্ক্রিনের বাইরে অন্বেষণ না করেই পরীক্ষাটি প্রস্থান করতে পারে।