Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
ट्यूटोरियल · परीक्षण7 मिनट पढ़ें·Updated अक्टूबर 2026·ExodeUI टीम द्वारा

Playwright के साथ यूआई स्टेट्स और एनिमेशन का परीक्षण

Playwright के साथ एनिमेटेड यूआई के लिए स्थिर परीक्षण कैसे लिखें: पेज.क्लॉक के साथ समय को नियंत्रित करना, कम गति और डार्क मोड का अनुकरण करना, और अक्षम एनिमेशन वाले स्क्रीनशॉट।

प्रत्यक्ष सारांश एवं परिभाषा

कोर टेकअवे

एनिमेशन परीक्षणों को नियतात्मक बनाएं: पेज.क्लॉक के साथ समय को नियंत्रित करें, जिसमें टाइमर, रिक्वेस्टएनीमेशनफ़्रेम और प्रदर्शन शामिल हैं; पेज.एमुलेटमीडिया({ रिड्यूस्डमोशन, कलरस्कीम }); के साथ उपयोगकर्ता सेटिंग्स का अनुकरण करें; मध्य-एनीमेशन पिक्सेल के बजाय राज्यों पर जोर दें; और अक्षम एनिमेशन वाले स्क्रीनशॉट लें। प्रथम श्रेणी के मामले के रूप में कम गति वाले पथ का परीक्षण करें।

एनिमेशन परीक्षण परतदार क्यों होते हैं?

एनिमेशन समय पर निर्भर करते हैं, और वास्तविक समय रन और मशीनों के बीच भिन्न होता है। 10 मिलीसेकंड पहले या देर से लिया गया स्क्रीनशॉट एक अलग फ्रेम दिखाता है। समाधान समय और सेटिंग्स को नियंत्रित करना है, और अलग-अलग फ़्रेमों के बजाय उन स्थितियों का परीक्षण करना है जिनके बीच एनिमेशन चलते हैं।

चार चरण: स्थिति निर्धारित करें, पेज.क्लॉक के साथ समय को नियंत्रित करें, कम गति जैसी सेटिंग्स का अनुकरण करें, DOM चेक और स्क्रीनशॉट के साथ जोर दें
निश्चित समय और निश्चित सेटिंग्स एनिमेटेड यूआई को परीक्षण योग्य बनाती हैं।

समय पर नियंत्रण रखें

Playwright की क्लॉक एपीआई एक परीक्षण को एक नकली घड़ी स्थापित करने और फिर एक निर्धारित अवधि के लिए रोकने, तेजी से आगे बढ़ाने या चलाने की सुविधा देती है। इसमें सेटटाइमआउट, सेटइंटरवल, रिक्वेस्टएनीमेशनफ्रेम और प्रदर्शन शामिल है, इसलिए उदाहरण के लिए, आप लोडिंग विलंब के बाद तेजी से आगे बढ़ सकते हैं और सफलता की स्थिति की जांच कर सकते हैं।

उपयोगकर्ता सेटिंग्स का अनुकरण करें

पेज.एमुलेटमीडिया() रिड्यूस्डमोशन को "रिड्यूस" और कलरस्कीम को "डार्क" या "लाइट" पर सेट कर सकता है। यह पुष्टि करने के लिए कि कुछ भी महत्वपूर्ण एनीमेशन पर निर्भर नहीं करता है, कम गति के साथ कुंजी प्रवाह चलाएँ, और दोनों विषयों में कंट्रास्ट समस्याओं को पकड़ने के लिए।

स्थिर स्क्रीनशॉट

Playwright टेस्ट स्क्रीनशॉट की तुलना उम्मीद (पेज).toHaveScreenshot() से कर सकता है, और स्क्रीनशॉट विकल्पों में एनिमेशन शामिल हैं: "अक्षम", जो कैप्चर के लिए CSS एनिमेशन और ट्रांज़िशन को रोकता है। अंतिम स्थिति के लिए दृश्य तुलना और व्यवहार के लिए DOM या पहुंच संबंधी दावे का उपयोग करें।

कैनवास-आधारित घटकों का परीक्षण

कैनवास एनिमेशन, जैसे कि Lottie, Rive या ExodeUI रनटाइम द्वारा तैयार किए गए, DOM में दिखाई नहीं देते हैं। आपके कोड द्वारा भेजे गए इनपुट और उससे प्राप्त होने वाली घटनाओं का परीक्षण करें, कैनवास के साथ वास्तविक पहुंच योग्य तत्वों को रखें, और समय नियंत्रित होने के बाद दृश्य जांच के लिए स्क्रीनशॉट का उपयोग करें।

उत्पादन कार्यान्वयन स्निपेट

इंटरएक्टिव घटक कार्यान्वयन
import { test, expect } from '@playwright/test';

test('save button shows success, also with reduced motion', async ({ page }) => {
  await page.clock.install();                         // fake timers + rAF
  await page.emulateMedia({ reducedMotion: 'reduce' }); // test the calm path
  await page.goto('/settings');

  await page.getByRole('button', { name: 'Save' }).click();
  await expect(page.getByRole('status')).toHaveText('Saving…');

  await page.clock.runFor(2000);                      // skip the wait deterministically
  await expect(page.getByRole('status')).toHaveText('Saved');

  await expect(page).toHaveScreenshot('saved.png', { animations: 'disabled' });
});

याद रखने योग्य कुंजी Principle

  • पेज.क्लॉक के साथ समय को नियंत्रित करें (टाइमर, रिक्वेस्टएनीमेशनफ्रेम, प्रदर्शन)
  • पेज.एमुलेटमीडिया के साथ रिड्यूस्डमोशन और कलरस्कीम का अनुकरण करें
  • स्थिति और सुलभ पाठ पर जोर दें, मध्य-एनीमेशन पिक्सेल पर नहीं
  • एनिमेशन के साथ स्क्रीनशॉट: "अक्षम"
  • प्रथम श्रेणी के मामले के रूप में कम गति वाले पथ का परीक्षण करें

अक्सर पूछे जाने वाले प्रश्नों

स्रोत

  1. Clock — Playwright दस्तावेज़
  2. Page.emulateMedia and screenshot options — Playwright दस्तावेज़
  3. Visual comparisons — Playwright दस्तावेज़

संबंधित मार्गदर्शिकाएँ एवं उदाहरण

परीक्षण योग्य अवस्थाओं के आसपास निर्मित घटक

ExodeUI घटक नामित इनपुट द्वारा संचालित होते हैं, जिससे आपके कोड से उनकी स्थिति का परीक्षण करना आसान हो जाता है।

React गाइड पढ़ें
मुफ्त में प्रयास करें