গুগল কালো সম্প্রদায়ের জন্য জাতিগত সমতা উন্নয়নে প্রতিশ্রুতিবদ্ধ। দেখ কিভাবে.
This page was translated by the Cloud Translation API.
Switch to English

জটিল পরীক্ষা কনফিগারেশন

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

  • অন্যান্য অ্যাপস ইনস্টল করুন (পরীক্ষার এপিপি ছাড়াও)
  • ডিভাইসে কিছু ফাইল ঠেলাও
  • কমান্ডগুলি চালান (যেমন অ্যাডবি শেল বিকেল ...)

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

সিটিএস থেকে ধার নিয়ে, আমরা এই জাতীয় কার্যগুলি সমর্থন করার জন্য টেস্ট মডিউল কনফিগারেশনের ধারণাটি প্রবর্তন করি, উপরের সাধারণ কার্য তালিকাগুলি কনফিগের কয়েকটি লাইন দ্বারা অর্জন করা যেতে পারে। সর্বাধিক নমনীয়তার জন্য, আপনি এমনকি ITargetPreparer বা ITargetCleaner দ্বারা সংজ্ঞায়িত হিসাবে নিজের লক্ষ্য প্রস্তুতকারক, এবং নিজের পরীক্ষা মডিউল কনফিগার ব্যবহার করতে তাদের কনফিগার করতে পারেন বাস্তবায়ন করতে পারেন।

একটি পরীক্ষা মডিউলের জন্য একটি পরীক্ষা মডিউল কনফিগারেশন হ'ল 'অ্যান্ড্রয়েড টেস্ট.এক্সএমএল' নামে শীর্ষ স্তরের মডিউল উত্স ফোল্ডারে যুক্ত হওয়া একটি প্রয়োজনীয় এক্সএমএল ফাইল। এক্সএমএল ট্রেড ফেডারেশন টেস্ট অটোমেশন জোতা দ্বারা ব্যবহৃত একটি কনফিগারেশন ফাইলের ফর্ম্যাট অনুসরণ করে। বর্তমানে পরীক্ষার মডিউল কনফিগারেশনের মাধ্যমে পরিচালিত প্রধান ট্যাগগুলি হ'ল "টার্গেট_প্রিয়তা" এবং "পরীক্ষা" ট্যাগ।

লক্ষ্য প্রস্তুতকারী

নাম অনুসারে একটি "টার্গেট_প্রেপার" ট্যাগ একটি লক্ষ্য প্রস্তুতকারীকে সংজ্ঞায়িত করে ( আইটারজেটপ্রেপার দেখুন ) যা একটি সেটআপ পদ্ধতি সরবরাহ করে, যা পরীক্ষার জন্য পরীক্ষার মডিউল কার্যকর করার আগে ডেকে আনে ; এবং যদি "টার্গেট_প্লেয়ার" ট্যাগে উল্লিখিত শ্রেণিটিও ITargetCleaner প্রয়োগ করে, পরীক্ষার মডিউলটি শেষ হওয়ার পরে এর টিয়ারডাউন পদ্ধতিটি শুরু করা হবে।

অন্তর্নির্মিত সাধারণ মডিউল কনফিগারেশনটি ব্যবহার করতে, আপনার পরীক্ষার মডিউলটির জন্য শীর্ষ স্তরের ফোল্ডারে একটি নতুন ফাইল 'অ্যান্ড্রয়েড টেস্ট.এক্সএমএল' যুক্ত করুন এবং নিম্নলিখিত বিষয়বস্তু দিয়ে এটিকে জনপ্রিয় করুন:

 <?xml version="1.0" encoding="utf-8"?>
<!-- [insert standard AOSP copyright here] -->
<configuration description="Test module config for Foo">
<!-- insert options here -->
</configuration>
 

উদাহরণ হিসাবে, আমরা নিম্নলিখিত বিকল্প ট্যাগ যুক্ত করতে পারি (উপরে "সন্নিবেশ" মন্তব্য এ):

     <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
        <option name="run-command" value="settings put secure accessibility_enabled 1" />
        <option name="teardown-command" value="settings put secure accessibility_enabled 0" />
    </target_preparer>
 

বিকল্পগুলি পরীক্ষার জোতাটিকে এখানে কনফিগার করবে:

  1. পরীক্ষার মডিউলটি চালিত হওয়ার আগে, শেল কমান্ডটি প্রয়োগ করুন "সেটিংগুলি ডিভাইসে নিরাপদ অ্যাক্সেসিবিলিটি 1 সক্ষম করুন" put
  2. পরীক্ষার মডিউলটি শেষ হওয়ার পরে, শেল কমান্ডটি সম্পাদন করুন "সেটিংসগুলি নিরাপদ অ্যাক্সেসিবিলিটি_নেবলড 0" রাখুন

এই নির্দিষ্ট উদাহরণে, অ্যাক্সেসযোগ্যতা যথাক্রমে পরীক্ষার মডিউল কার্যকর হওয়ার আগে / পরে অক্ষম করা হয়। একটি সাধারণ উদাহরণ প্রদর্শিত হয়েছে, "বিকল্প" ট্যাগটি কীভাবে ব্যবহৃত হয় সে সম্পর্কে আরও বিশদটি আবরণ করা প্রয়োজন। উপরে প্রদর্শিত হিসাবে, ট্যাগে দুটি বৈশিষ্ট্য থাকতে পারে: নাম, মান। নামের বৈশিষ্ট্যটি বিকল্পটির নাম নির্দেশ করে, এবং আরও দুটি অংশে বিভক্ত হয়ে একটি কোলন দ্বারা পৃথক করা হয়: প্রস্তুতকারীর সংক্ষিপ্ত নাম এবং প্রস্তুতকারীর দ্বারা দেওয়া প্রকৃত বিকল্পের নাম।

মান ক্ষেত্রের সঠিক উদ্দেশ্যটি নির্ভর করে যে কীভাবে প্রস্তুতিকারী বিকল্পটি সংজ্ঞায়িত করেছে: এটি স্ট্রিং, একটি সংখ্যা, একটি বুলিয়ান, এমনকি একটি ফাইল পাথও হতে পারে ইত্যাদি উপরের উদাহরণে, "রান-কমান্ড: রান-কমান্ড" এর অর্থ অর্থ আমরা একটি লক্ষ্য প্রস্তুতকারক দ্বারা সংক্ষিপ্ত নাম "রান-কমান্ড" সংজ্ঞায়িত "রান-কমান্ড" বিকল্পটির জন্য মূল্য নির্ধারণ করছি; এবং নাম "রান-কমান্ড: টিয়ারডাউন-কমান্ড" এর অর্থ হ'ল "টিয়ারডাউন-কমান্ড" বিকল্পটির জন্য সংক্ষিপ্ত নাম "রান-কমান্ড" সহ একই লক্ষ্য প্রস্তুতকারক দ্বারা নির্ধারিত বিকল্পটির জন্য আমরা মান নির্ধারণ করছি। তিনটি সাধারণ লক্ষ্য প্রস্তুতকারীদের সংক্ষিপ্তসার এখানে:

  • শ্রেণীর নাম: পুশফিলপ্রেপার

    • সংক্ষিপ্ত নাম : পুশ-ফাইল
    • ফাংশন : টেস্ট কেস ফোল্ডারের অধীনে সালিসী ফাইলগুলিকে ডিভাইসে গন্তব্যে ঠেলে দেয়
    • নোট :
      • এই প্রস্তুতকারী ফোল্ডার থেকে ফোল্ডারে বা ফাইল থেকে একটি ফাইলকে ধাক্কা দিতে পারে; এটি হল, আপনি ডিভাইসে কোনও ফোল্ডারের নীচে কোনও ফাইলকে ধাক্কা দিতে পারবেন না: আপনাকে অবশ্যই সেই ফোল্ডারের নীচে গন্তব্য ফাইলের নামটি নির্দিষ্ট করতে হবে
    • বিকল্পগুলি :
      • ধাক্কা: ' /path/to/srcfile.txt->/path/to/destfile.txt ' বা ' /path/to/srcfile.txt->/path/to/destdir/ ' হিসাবে ফর্ম্যাট করা একটি ধাক্কা-অনুমান। পুনরাবৃত্তি হতে পারে এই পাথটি পরীক্ষা মডিউল ডিরেক্টরি বা আউট ডিরেক্টরি নিজেই relative
      • ** পোস্ট-পুশ: ** সমস্ত পুশের চেষ্টা করার পরে ডিভাইসে চালানোর জন্য একটি কমান্ড (` adb shell <your command> ` সহ)। সাধারণ ব্যবহারের ক্ষেত্রে অনুমোদনের জন্য chmod ব্যবহার করা হবে
  • শ্রেণীর নাম: ইনস্টলএপকেসেটআপ

    • সংক্ষিপ্ত নাম: ইনস্টল- apk
    • ফাংশন: ডিভাইসে গন্তব্যে স্বেচ্ছাসেবী apk ফাইলগুলিকে ধাক্কা দেয়
    • বিকল্প:
      • পরীক্ষা-ফাইল-নাম: ডিভাইসে ইনস্টল করার জন্য অ্যাপকের নাম।
      • ইনস্টল-আরগ: নেতৃস্থানীয় ড্যাশ, যেমন "-d" সহ পিএম ইনস্টল কমান্ডে অতিরিক্ত যুক্তি পাঠানো হবে repeated পুনরাবৃত্তি হতে পারে
  • শ্রেণীর নাম: রানকম্যান্ডট্যারেটপ্রেপার

    • সংক্ষিপ্ত নাম: রান কমান্ড
    • ফাংশন: টেস্ট মডিউল প্রয়োগের আগে বা পরে নির্বিচারে শেল কমান্ডগুলি কার্যকর করে
    • বিকল্প:
      • রান-কমান্ড: চালানোর জন্য অ্যাডবি শেল কমান্ড। পুনরাবৃত্তি হতে পারে
      • টিয়ারডাউন-কমান্ড: টিয়ারডাউন পর্বে চলার জন্য অ্যাডবি শেল কমান্ড। পুনরাবৃত্তি হতে পারে

পরীক্ষার ক্লাস

একটি পরীক্ষা শ্রেণি হ'ল ট্রেড ফেডারেশন শ্রেণি যা পরীক্ষা চালানোর জন্য ব্যবহার করে।

 <test class="com.android.tradefed.testtype.AndroidJUnitTest">
  <option name="package" value="android.test.example.helloworld"/>
  <option name="runner" value="android.support.test.runner.AndroidJUnitRunner"/>
</test>
 

এখানে তিনটি সাধারণ পরীক্ষার শ্রেণি রয়েছে:

  • শ্রেণীর নাম: জিটিস্ট

    • সংক্ষিপ্ত নাম: gest
    • ফাংশন: একটি পরীক্ষা যা প্রদত্ত ডিভাইসে নেটিভ টেস্ট প্যাকেজ চালায়।
    • বিকল্প:
      • নেটিভ-টেস্ট-ডিভাইস-পাথ: ডিভাইসের পাথ যেখানে নেটিভ টেস্টগুলি অবস্থিত।
  • শ্রেণীর নাম: ইনস্ট্রুমেন্টেশন টেস্ট

    • সংক্ষিপ্ত নাম: যন্ত্র
    • ফাংশন: একটি পরীক্ষা যা প্রদত্ত ডিভাইসে একটি উপকরণ পরীক্ষা প্যাকেজ চালায়
    • বিকল্প:
      • প্যাকেজ: চালানোর জন্য অ্যান্ড্রয়েড পরীক্ষা অ্যাপ্লিকেশনটির ম্যানিফেস্ট প্যাকেজের নাম।
      • ক্লাস: চালানোর জন্য পরীক্ষার শ্রেণীর নাম।
      • পদ্ধতি: চালানোর জন্য পরীক্ষার পদ্ধতির নাম।
  • শ্রেণীর নাম: AndroidJUnitTest

    • ফাংশন: একটি পরীক্ষা যা android.support.test.runner.AndroidJUnitRunner ব্যবহার করে প্রদত্ত ডিভাইসে ইনস্ট্রুমুলেশন টেস্ট প্যাকেজ চালায় an