Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

با تست های ابزار دقیق شروع کنید

این راهنما نحوه آماده سازی و اجرای آزمایش ابزار دقیق با استفاده از Firebase Test Lab را توضیح می دهد. برای استفاده از این راهنما، شما یک نیاز آزمون ابزار دقیق (نوشته شده توسط شما یا تیم شما) که با استفاده از اسپرسو یا UI Automator است 2.0 چارچوب آزمون آندروید. آزمون ابزار دقیق می توانید تا 45 دقیقه به دستگاه های فیزیکی و تا 60 دقیقه در اجرا تا دستگاه های مجازی .

در مراحل بعد ، APK برنامه خود و APK آزمایش خود را در Firebase بارگذاری می کنید.

(اختیاری) کتابخانه اسکرین شات را به برنامه خود اضافه کنید

فایربیس تست آزمایشگاه شامل یک کتابخانه (testlab-INSTR معاونت) که شما می توانید استفاده کنید برای انجام هر گونه تصاویر شما را با AndroidX را ScreenCapture مانند آزمون های نوشته شده با استفاده از هنگام اجرای آزمون ابزار دقیق، چارچوب آزمون اسپرسو . در این بخش چگونگی ایجاد ScreenCapture اشیاء با کتابخانه AndroidX و چگونه آنها را پردازش با استفاده از testlab-INSTR-معاونت.

پس از اتمام آزمایش ابزار دقیق ، می توانید تصاویر اسکرین شات گرفته شده را در کنسول Firebase مشاهده کنید.

یک برنامه نمونه را امتحان کنید

دانلود برنامه نمونه دفترچه یادداشت سعی کنید از این قابلیت است. قابلیت گرفتن اسکرین شات قبلاً در پروژه NotePad گنجانده شده است.

مرحله 1. کتابخانه اسکرین شات را به پروژه خود اضافه کنید

  1. در پروژه تست خود را ریشه سطح (سطح پروژه) فایل Gradle ( build.gradle )، اضافه کردن مخزن Maven را گوگل به هر بخش مخازن:

    buildscript {
    
      repositories {
        // Add the following line:
        google()  // Google's Maven repository
      }
    
      dependencies {
        // ...
    
        // Check that you have the following line (if not, add it):
        classpath 'com.google.gms:google-services:4.3.8'  // Google Services plugin
      }
    }
    
    allprojects {
      // ...
    
      repositories {
        // Add the following line:
        google()  // Google's Maven repository
        // ...
      }
    }
  2. در ماژول خود را (در سطح برنامه) فایل Gradle (معمولا app/build.gradle )، اضافه کردن یک وابستگی برای کتابخانه آزمایشگاه تست تصویر.

    dependencies {
      // ...
      // Add Test Lab's instrumentation test screenshot library:
      androidTestCompile `com.google.firebase:testlab-instr-lib:02`
      // ...
    }
  3. در فایل AndroidManifest.xml آزمون شما، ثبت نام FirebaseScreenCaptureProcessor در یک تگ متا داده در <instrumentation> عنصر. شما همچنین می توانید پردازنده به عنوان یک استدلال در AndroidJUnitRunner به جای (را ببینید مشخص اسناد مرجع AndroidJUnitRunner برای آشنایی با نحوه).

    <instrumentation
      // Check that you have the following line (if not, add it):
      android:name="androidx.test.runner.AndroidJUnitRunner" // Specifies AndroidJUnitRunner as the test runner
      android:targetPackage="com.your.package.name">
    
    // Add the following:
    <meta-data
      android:name="screenCaptureProcessors"
      android:value="com.google.firebase.testlab.screenshot.FirebaseScreenCaptureProcessor" />
    </instrumentation>
    ...
    
  4. در فایل AndroidManifest.xml برنامه خود را، اضافه کردن خطوط زیر در <manifest> عنصر:

     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    
  5. در خود AndroidManifest.xml پرونده، مشخص مجوز سیستم برای برنامه شما را با اضافه کردن خطوط زیر در <manifest> برچسب. اگر شما در حال حرکت هستید تست آندروید 10 (API سطح 29) و یا بالاتر، حذف WRITE_EXTERNAL_STORAGE اجازه (برنامه شما از این مجوز به منظور خواندن و نوشتن تصاویر را به دستگاه نیاز ندارد).

    <manifest ... >
        <!-- WRITE_EXTERNAL_STORAGE is not needed on Android 10 (API level 29) or higher. -->
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.INTERNET"/>
        ...
    </manifest>

مرحله 2. در حین آزمایش ، اسکرین شات بگیرید

در هر نقطه از آزمون خود را که در آن شما می خواهید را به یک تصویر از پاسخ Screenshot.capture() روش از کتابخانه AndroidX. تولید این ScreenCapture شی . هنگامی که شما پاسخ process() در ScreenCapture شیء، آن را می شود با استفاده از پردازش ScreenCaptureProcessor که در خود ثبت نام AndroidManifest.xml . توجه داشته باشید که BasicScreenCaptureProcessor استفاده می شود که هیچ پردازنده ثبت نام. از آنجا که شما ثبت نام FirebaseScreenCaptureProcessor ، تصاویر خود را از طریق پردازش FirebaseScreenCaptureProcessor و برای شما با نتایج خود را در دسترس خواهد بود که شما آزمون خود را با Firebase تست آزمایشگاه را اجرا کنید.

موارد استفاده به عنوان مثال برای ایجاد یک ScreenCapture :

  • با یک API Build یک ScreenCapture کامل تهیه کنید. VERSION_CODES.JELLY_BEAN_MR2 و بالاتر:

    Screenshot.capture()
    
  • یک ScreenCapture از فعالیت در هر سطح API. توجه داشته باشید این تنها گزینه برای دستگاه هایی است که در زیر Build.VERSION_CODES.JELLY_BEAN_MR2 قرار دارند.

    @Rule
      public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>(MainActivity.class);
    ...
    Screenshot.capture(activityRule.getActivity());
    ...
    

مثال استفاده از موارد برای پردازش ScreenCapture

  • پردازش یک ScreenCapture از طریق FirebaseScreenCaptureProcessor :

    Screenshot.capture().process();
    
  • پردازش یک ScreenCapture از طریق یک مشخص ScreenCaptureProcessor (این اجازه می دهد تا شما به جست و خیز ثبت نام پردازنده):

    Set<ScreenCaptureProcessor> processors = new HashSet<>();
    processors.add(new FirebaseScreenCaptureProcessor());
    Screenshot.capture().process(processors);
    
  • تنظیم نام و فرمت ScreenCapture و پردازش آن به استفاده از پردازنده ثبت نام:

    Screenshot.capture().setName("myscreenshot").setFormat(CompressFormat.JPEG).process();
    

مرحله 3. آزمون خود را بسازید و اجرا کنید

  1. ساخت نرم افزار و آزمون خود را در مقایسه با APK (نگاه کنید به برنامه خود را تست برای دستورالعمل).

  2. آپلود فایل های APK به داشبورد تست آزمایشگاه از کنسول فایربیس.

  3. در نهایت ، آزمون خود را اجرا کنید.

مرحله 4. عکس های صفحه آزمایشی خود را مشاهده کنید

پس از اتمام آزمایش ، می توانید هرگونه اسکرین شات گرفته شده در کنسول Firebase را مشاهده کنید.

  1. در برگه آزمایش، انتخاب آزمون تکمیل شده خود را، و سپس کلیک بر روی زبانه نتایج.

  2. آزمون خود را دوباره انتخاب کنید، سپس با کلیک بر روی تب تصاویر که به نظر می رسد.

(اختیاری) ویژگی های تست اضافی را فعال کنید

می توانید قبل از اجرای آزمایش آزمایشی ، ویژگی های زیر را در آزمایش خود فعال کنید:

Orchestrator را فعال کنید

آندروید تست ارکستراسیون ابزاری است که اجرا می شود هر یک از آزمون های ابزار دقیق برنامه خود را به طور مستقل است. Test Lab همیشه از آخرین نسخه Orchestrator استفاده می کند.

برای فعال کردن ارکستراسیون برای تست آزمایشگاه، در راه اندازی آزمون ابزار دقیق، کلیک کنید گزینه های اضافی> اجرای با ارکستراسیون.

مزایا و معایب

  • مزیت: بدون حالت مشترک. هر آزمایش در نمونه ابزار دقیق خود اجرا می شود ، بنابراین حالت مشترک در آزمون ها جمع نمی شود.
  • مزیت: تصادفات جداگانه. در صورت خرابی تست ، فقط آن ابزار خاتمه می یابد و سایر آزمایشات موجود در مجموعه شما هنوز می تواند اجرا شود.
  • نقطه ضعف: زمان اجرای طولانی تر. هر آزمون نمونه ابزار دقیق خود را اجرا می کند ، به این معنی که فرایند آزمایش به طور کلی کمی بیشتر طول می کشد. اگر چک نمی کند، افزایش اجرا بار به طور بالقوه می تواند تاثیر خود را استفاده از سهمیه و یا زمان صورتحساب و ممکن است باعث شود شما به ضربه دستگاه های خود را محدودیت زمان از .

خرد کردن را فعال کنید

خرد کردن تست مجموعه ای از آزمایش ها را به زیر گروه ها (تکه های) تقسیم می کند که جداگانه به صورت جداگانه اجرا می شوند. Test Lab به طور خودکار هر تکه را به صورت موازی با استفاده از چندین دستگاه اجرا می کند و کل مجموعه آزمایشات را در زمان کمتری انجام می دهد.

تکه تکه شدن آزمایش چگونه کار می کند

بگویید N تکه هایی ایجاد می کنید. برای هر دستگاهی که انتخاب می کنید ، Test Lab N دستگاه های یکسان را می چرخاند و زیرمجموعه ای از آزمایش ها را روی هر دستگاه اجرا می کند. به این معنی که موارد آزمون sharded می توانید در اعدام آزمون های متعدد در هر دستگاه، بر خلاف موارد آزمون غیر sharded، که همیشه در یک اجرای آزمون در هر دستگاه منجر شود (برای یک دید کلی از مفاهیم کلیدی در آزمایشگاه تست، و مفاهیم کلیدی ).

می توانید تست آزمایشی را در کنسول Firebase فعال کنید:

  1. در راه اندازی آزمون ابزار دقیق، کلیک کنید گزینه های اضافی.

  2. در بخش Sharding، وارد کردن شماره از خرده ریز می خواهید اجرا کنید.

صورتحساب قطعات آزمایشی

تست آزمایشگاه پیاده سازی ذرات خود را با اعمال نفوذ ساخته شده در مکانیزم sharding AndroidJUnitRunner است. برای اجتناب از پرداخت هزینه برای چرخاندن قطعات خالی (تکه هایی بدون موارد آزمایش اختصاصی) ، تعداد تکه هایی که ایجاد می کنید باید از تعداد کل موارد تست کمتر باشد. بسته به مدت زمان اجرای هر مورد آزمایشی ، معمولاً ایده خوبی است که 2 تا 10 مورد آزمایشی در هر قسمت اختصاص دهید.

برای اطلاعات بیشتر در صدور صورت حساب، به عنوان خوانده شده طریقه استفاده، سهمیه ها، صدور صورت حساب .