project_path: /blog/_project.yaml book_path: /_book.yaml page_type: blog refresh_date: 2020-02-05 description: Strategia testowania w Chrome w dużym stopniu opiera się na zautomatyzowanych testach poprawności funkcjonalnej i testach ręcznych, ale żadna z nich nie wychwytuje na bieżąco drobnych błędów interfejsu. Użyj testów pikseli, by zautomatyzować testowanie interfejsu przeglądarki na komputerze. image_path: ../images/chromiumchronicle.jpg keywords: docType:Blog,chromiumChronicle
Odcinek 10: Sven Zheng w Bellevue, Waszyngton (styczeń 2020 r.)
Poprzednie odcinki
Strategia testowania Chrome w dużej mierze opiera się na automatycznych testach poprawności funkcjonalności i ręcznym testowaniu, ale żadna z tych metod nie wykrywa odpowiednio niewielkich różnic w interfejsie użytkownika. Korzystaj z testów pikselowych, aby zautomatyzować testowanie interfejsu przeglądarki na komputerze.
Podczas pisania testu piksela unikaj zniekształceń. W tym celu: (1) wyłącz animację, (2) użyj przykładowych danych i (3) przetestuj minimalną możliwą powierzchnię.
Oto przykładowy obraz używany do sprawdzania poprawności pikseli w omniboksie:
A kod sprawdzający, czy przeglądarka jest zgodny z tym obrazem:
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);
}
Ten kod jest dostępny pod adresem chrome/test/pixel/demo/skia_gold_demo_pixeltest.cc.
Odpowiednie nagłówki to skia_gold_pixel_diff.h
w przypadku testów jednostkowych i browser_skia_gold_pixel_diff.h
w przypadku testów przeglądarki.
Różnice w pikselach i proces zatwierdzania są obsługiwane przez technologię Skia Gold. Testy Skia Gold Pixel zawierają wizualny proces zatwierdzania i pozwalają programistom na akceptację wielu złotych obrazów.
Obecnie pakiet testowy działa na bocie systemu Windows FYI. Obsługiwane są testy przeglądarki i testy jednostkowe wyświetleń.