10. Bölüm: Sven Zheng tarafından Bellevue, Washington'da çekilmiştir (Ocak 2020)
Önceki bölümler
Chrome'un test stratejisi büyük ölçüde otomatik işlev doğruluğu testlerine ve manuel teste dayanır ancak bu iki yöntem de küçük kullanıcı arayüzü gerilemelerini güvenilir bir şekilde yakalayamaz. Masaüstü tarayıcınızın kullanıcı arayüzünü test etmeyi otomatikleştirmek için piksel testlerini kullanın.
Pixel testi yazarken (1) animasyonu devre dışı bırakarak, (2) örnek veriler kullanarak ve (3) mümkün olan minimum yüzey alanını test ederek tutarsızlıklardan kaçının.
Her şey bir arada kutunun piksel doğruluğunu doğrulamak için kullanılan örnek bir resim aşağıda verilmiştir:
Tarayıcının doğrulanmasını sağlayan kod da şu resimle eşleşiyor:
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);
}
Bu kod chrome/test/pixel/demo/skia_gold_demo_pixeltest.cc adresinde yer alır.
İlgili üstbilgiler, birim testleri için skia_gold_pixel_diff.h
ve tarayıcı testleri için browser_skia_gold_pixel_diff.h
'dir.
Piksel karşılaştırma ve onay süreci Skia Gold tarafından desteklenir. Skia Gold piksel testleri görsel bir onay iş akışı sağlar ve geliştiricilerin birden fazla altın resmi onaylayarak küçük pulcukları kabul etmesine olanak tanır.
Test paketi şu anda Windows FYI bot'unda çalışıyor. Tarayıcı testleri ve Görüntülemeler birim testleri desteklenir.