झलक दिखाने वाले स्क्रीनशॉट की टेस्टिंग कंपोज़ करें

स्क्रीनशॉट की जांच करके, यह देखा जा सकता है कि आपका यूज़र इंटरफ़ेस (यूआई) लोगों को कैसा दिखता है. कॉन्टेंट बनाने टेक्स्ट की झलक दिखाने वाला टूल कंपोज़ करें, इसकी सादगी और सुविधाएं कंपोज़ेबल प्रीव्यू देखने के लिए, होस्ट-साइड स्क्रीनशॉट टेस्ट करने से, प्रोडक्टिविटी में बढ़ोतरी होती है. झलक लिखें स्क्रीनशॉट की टेस्टिंग को इस तरह से डिज़ाइन किया गया है कि वह कंपोज़ेबल प्रीव्यू की तरह इस्तेमाल करने में आसान हो.

स्क्रीनशॉट टेस्ट एक ऑटोमेटेड टेस्ट है, जो यूज़र इंटरफ़ेस (यूआई) के किसी हिस्से का स्क्रीनशॉट लेता है और फिर उसकी तुलना पहले से मंज़ूर की गई पहचान इमेज से करता है. अगर इमेज मेल नहीं खा रही हैं, टेस्ट नहीं हो पाता है और आपकी मदद करने के लिए एक एचटीएमएल रिपोर्ट जनरेट करता है तुलना करें और फ़र्क़ ढूंढें.

स्क्रीनशॉट की झलक दिखाने वाले टूल की मदद से, ये काम किए जा सकते हैं:

  • आपको जिन मौजूदा या नई कंपोज़ेबल झलक का इस्तेमाल करना है उनकी पहचान करें स्क्रीनशॉट टेस्ट.
  • कंपोज़ेबल प्रीव्यू से रेफ़रंस इमेज जनरेट करें.
  • एक एचटीएमएल रिपोर्ट जनरेट करना, जो आपके बाद उन झलक में हुए बदलावों की पहचान करे कोड में बदलाव करें.
  • एक से ज़्यादा झलक देखने के लिए और uiMode या fontScale जैसे @Preview पैरामीटर का इस्तेमाल करें ताकि आपको टेस्ट की संख्या बढ़ाने में मदद मिल सके.
  • screenshotTest के नए सोर्स सेट की मदद से, अपने टेस्ट मॉड्यूल तैयार करें.
पहली इमेज. एचटीएमएल रिपोर्ट का उदाहरण.

ज़रूरी शर्तें

टेक्स्ट की झलक दिखाने की सुविधा की जांच करने के लिए, आपको इनकी ज़रूरत पड़ेगी:

  • Android Gradle 8.5.0-beta01 या इसके बाद वाला वर्शन.
  • Kotlin 1.9.20 या इसके बाद का वर्शन.

सेटअप

इस टूल को चालू करने के लिए, यह तरीका अपनाएं:

  1. com.android.compose.screenshot प्लगिन को जोड़ें आपके प्रोजेक्ट के लिए 0.0.1-alpha01.
    1. अपनी वर्शन कैटलॉग फ़ाइल में प्लग इन जोड़ें:
      [versions]
      agp = "8.5.0-beta01"
      kotlin = "1.9.20"
      ...
      screenshot = "0.0.1-alpha01"
      
      [plugins]
      ...
      screenshot = { id = "com.android.compose.screenshot", version.ref = "screenshot"}
      
    2. अपनी मॉड्यूल-लेवल build.gradle.kts फ़ाइल में, प्लगिन को plugins {} ब्लॉक:
      plugins {
          ...
          alias(libs.plugins.screenshot)
      }
      
  2. अपने प्रोजेक्ट में प्रयोग के लिए इस्तेमाल होने वाली प्रॉपर्टी को चालू करें gradle.properties फ़ाइल.
    android.experimental.enableScreenshotTest=true
    
  3. आपके मॉड्यूल-लेवल के android {} ब्लॉक में build.gradle.kts फ़ाइल का इस्तेमाल करके, प्रयोग के तौर पर इस्तेमाल होने वाले फ़्लैग को चालू करें. screenshotTest सोर्स सेट कर सकता है और पक्का करता है कि kotlinCompilerExtensionVersion को 1.5.4 या उसके बाद के वर्शन पर सेट किया गया है.
    android {
        ...
        composeOptions {
            kotlinCompilerExtensionVersion = "1.5.4"
        }
        experimentalProperties["android.experimental.enableScreenshotTest"] = true
    }
    
  4. पक्का करें कि आपने ui-tooling निर्भर है.
    1. इसे अपने वर्शन कैटलॉग में जोड़ें:
      [libraries]
      androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling"}
      
    2. इसे अपने मॉड्यूल-लेवल की build.gradle.kts फ़ाइल में जोड़ें:
      dependencies {
        screenshotTestImplementation(libs.androidx.compose.ui.tooling)
      }
      

स्क्रीनशॉट टेस्ट के लिए, कंपोज़ेबल झलक सेट करें

स्क्रीनशॉट की जांच करने के लिए, आपको जिन कंपोज़ेबल झलक का इस्तेमाल करना है उन्हें तय करने के लिए, टेस्ट क्लास में झलक. टेस्ट क्लास फ़ाइल नए उदाहरण के लिए, screenshotTest सोर्स सेट app/src/screenshotTest/kotlin/com/google/yourapp/ExamplePreviewScreenshots.kt ({module}/src/screenshotTest/{kotlin|java}/com/your/package).

इसमें, कई कंपोज़ेबल और/या झलक जोड़ी जा सकती हैं. इनमें, मल्टी-झलक की सुविधा भी शामिल है. इस फ़ाइल या इसी सोर्ससेट में बनाई गई अन्य फ़ाइलों के लिए.

package com.google.yourapp

import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import com.google.yourapp.ui.theme.MyApplicationTheme

class ExamplePreviewsScreenshots {

    @Preview(showBackground = true)
    @Composable
    fun GreetingPreview() {
        MyApplicationTheme {
            Greeting("Android!")
        }
    }
}

रेफ़रंस इमेज जनरेट करें

टेस्ट क्लास सेट अप करने के बाद, आपको हर एक के लिए रेफ़रंस इमेज जनरेट करनी होंगी झलक देखें. इन पहचान इमेज का इस्तेमाल, बाद में बदलावों की पहचान करने के लिए किया जाता है. ऐसा तब किया जाता है, जब आप कोड में बदलाव करें. कंपोज़ेबल प्रीव्यू के लिए रेफ़रंस इमेज जनरेट करना स्क्रीनशॉट टेस्ट करने के लिए, नीचे दिए गए Gradle टास्क को चलाएं:

  • Linux और macOS: ./gradlew updateDebugScreenshotTest (./gradlew {:module:}update{Variant}ScreenshotTest)
  • Windows: gradlew updateDebugScreenshotTest (gradlew {:module:}update{Variant}ScreenshotTest)

टास्क पूरा होने के बाद, रेफ़रंस इमेज को इसमें ढूंढें app/src/debug/screenshotTest/reference अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है ({module}/src/{variant}/screenshotTest/reference).

टेस्ट रिपोर्ट जनरेट करना

रेफ़रंस इमेज मौजूद होने के बाद, नया स्क्रीनशॉट लेने के लिए, पुष्टि करने वाला टास्क चलाएं और इसकी तुलना रेफ़रंस इमेज से करें:

  • Linux और macOS: ./gradlew validateDebugScreenshotTest (./gradlew {:module:}validate{Variant}ScreenshotTest)
  • Windows: gradlew validateDebugScreenshotTest (gradlew {:module:}validate{Variant}ScreenshotTest)

सत्यापन काम यहां एक HTML रिपोर्ट बनाता है {module}/build/reports/screenshotTest/preview/{variant}/index.html.

पहले से मालूम समस्याएं

टूल में आम तौर पर होने वाली समस्याओं की मौजूदा सूची देखने के लिए, समस्या ट्रैकर कॉम्पोनेंट. अन्य सुझाव और समस्याओं की शिकायत करना समस्या को ट्रैक करने वाले टूल के ज़रिए ढूंढा जा सकता है.