ক্রোমিয়াম ক্রনিকল #10: পিক্সেল টেস্টের মাধ্যমে UI রিগ্রেশন ধরা

project_path: /blog/_project.yaml book_path: /_book.yaml page_type: blog refresh_date: 2020-02-05 description: Chrome-এর পরীক্ষার কৌশল স্বয়ংক্রিয় কার্যকরী সঠিকতা পরীক্ষা এবং ম্যানুয়াল পরীক্ষার উপর অনেক বেশি নির্ভর করে, কিন্তু এগুলোর কোনটিই নির্ভরযোগ্যভাবে ছোটখাট UI রিগ্রেস করে না। আপনার ডেস্কটপ ব্রাউজার UI পরীক্ষা স্বয়ংক্রিয় করতে পিক্সেল পরীক্ষা ব্যবহার করুন। image_path: ../images/chromiumchronicle.jpg কীওয়ার্ড: docType:Blog,chromiumchronicle

পর্ব 10: Sven Zheng দ্বারা Bellevue, WA (জানুয়ারি, 2020)
আগের পর্বগুলো

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

একটি পিক্সেল পরীক্ষা লেখার সময়, এর দ্বারা অস্বস্তি এড়ান: (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 গোল্ড দ্বারা চালিত হয়। স্কিয়া গোল্ড পিক্সেল পরীক্ষাগুলি একটি ভিজ্যুয়াল অনুমোদনের কার্যপ্রবাহ প্রদান করে এবং ডেভেলপারদের একাধিক সোনার ছবি অনুমোদন করে ছোট ছোট ফ্লেক্স গ্রহণ করার অনুমতি দেয়।

বর্তমানে টেস্ট স্যুটটি Windows FYI বটে চলছে। ব্রাউজার পরীক্ষা এবং ভিউ ইউনিট পরীক্ষা সমর্থিত।