The Chromium Chronicle #10: Pixel टेस्ट के साथ यूज़र इंटरफ़ेस (यूआई) के रिग्रेशन की जानकारी पाना

Project_path: /blog/_project.yaml book_path: /_book.yaml page_type: blog refresh_date: 2020-02-05 ब्यौरा: Chrome की टेस्टिंग की रणनीति, अपने-आप काम करने वाले फ़ंक्शन के सही होने की जांच और मैन्युअल तौर पर किए जाने वाले टेस्ट पर बहुत ज़्यादा निर्भर करती है, लेकिन इनमें से कोई भी माइनर यूज़र इंटरफ़ेस (यूआई) के रिग्रेशन को भरोसेमंद नहीं बनाती. अपने डेस्कटॉप ब्राउज़र यूज़र इंटरफ़ेस (यूआई) की अपने-आप जांच करने के लिए, पिक्सल टेस्ट का इस्तेमाल करें. image_path: ../images/chromiumchronicle.jpg कीवर्ड: docType:Blog,chromiumchronicle

एपिसोड 10: बेलाव्यू, वॉशिंगटन में स्वेन ज़ेंग का गाना (जनवरी, 2020)
पिछले एपिसोड

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

पिक्सल टेस्ट करते समय, स्क्रीन की रोशनी कम होने से बचें: (1) ऐनिमेशन बंद करें, (2) मॉक डेटा का इस्तेमाल करें, और (3) स्क्रीन के कम से कम संभावित एरिया की जांच करें.

यहां खोज वाली पट्टी के लिए पिक्सल के सही होने की पुष्टि करने के लिए इस्तेमाल की गई इमेज का नमूना दिया गया है:

पिक्सेल की तुलना करने के लिए उपयोग की गई खोज बार (खोज क्वेरी डालने वाला बार) इमेज.

और ब्राउज़र की पुष्टि करने वाला कोड इस इमेज से मेल खाता है:

IN_PROC_BROWSER_TEST_F(SkiaGoldDemoPixelTest, TestOmnibox) {
  // Always disable animation for stability.
  ui::ScopedAnimationDurationScaleMode disable_animation(
      ui::ScopedAnimationDurationScaleMode::ZERO_DURATION);
  GURL url("chrome://bookmarks");
  AddTabAtIndex(0, url, ui::PageTransition::PAGE_TRANSITION_FIRST);
  auto* const browser_view = BrowserView::GetBrowserViewForBrowser(browser());
  // CompareScreenshot() takes a screenshot and compares it with the
  // golden image, which was previously human-approved, is stored
  // server-side, and is managed by Skia Gold. If any pixels differ, the
  // test will fail and output a link for the author to triage the
  // new image.
  bool ret = GetPixelDiff().CompareScreenshot("omnibox",
      browser_view->GetLocationBarView());
  EXPECT_TRUE(ret);
}

यह कोड chrome/test/pixel/demo/skia_gold_demo_pixeltest.cc पर मौजूद होता है. काम के हेडर, यूनिट की जांच के लिए skia_gold_pixel_diff.h और ब्राउज़र जांच के लिए browser_skia_gold_pixel_diff.h हैं.

पिक्सल का फ़र्क़ और अनुमति की प्रोसेस, Skia Gold की ओर से है. Skia Gold pixel का टेस्ट, विज़ुअल मंज़ूरी का वर्कफ़्लो देता है. इसकी मदद से, डेवलपर सोने की कई इमेज को अनुमति देकर छोटे-छोटे फ़्लेक भी स्वीकार कर सकते हैं.

फ़िलहाल, टेस्ट सुइट, Windows FYI बॉट पर चल रहा है. ब्राउज़र परीक्षण और व्यू यूनिट परीक्षण समर्थित हैं.