ścieżka_projektu: /blog/_projekt.yaml Book_path: /_book.yaml page_type: blog Odśwież_date: 5.02.2020 opis: Strategia testowania w Chrome opiera się w znacznym stopniu na automatycznych testach poprawności funkcjonalnych i testach ręcznych, ale żadne z tych narzędzi nie wykrywa drobnych regresji interfejsu użytkownika. Wykorzystaj testy pikselowe, aby zautomatyzować testowanie interfejsu użytkownika przeglądarki na komputerze. image_path: ../images/chromiumchronicle.jpg słowa kluczowe: docType:Blog,chromiumchronicle
Odcinek 10: Sven Zheng in Bellevue, Waszyngton (styczeń 2020 r.)
Poprzednie odcinki
Strategia testowania w Chrome w dużym stopniu opiera się na automatycznej poprawności funkcjonalnej testy i testy ręczne, ale żadne z nich nie wychwytuje poprawnie interfejsu użytkownika. regresji. Wykorzystaj testy pikselowe, aby zautomatyzować testowanie interfejsu użytkownika przeglądarki na komputerze.
Podczas pisania testu pikseli unikaj niestabilności obrazu przez: (1) wyłączenie animacji, (2) użycie próbek danych i (3) przetestowanie minimalnego obszaru powierzchni.
Oto przykładowy obraz, który służy do sprawdzania poprawności pikseli w omniboksie:
A kod sprawdzający, czy przeglądarka pasuje do tego obrazu:
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);
}
Kod ten znajduje się pod adresem chrome/test/pixel/demo/skia_gold_demo_pixeltest.cc.
W przypadku testów jednostkowych odpowiednie nagłówki to skia_gold_pixel_diff.h
oraz
browser_skia_gold_pixel_diff.h
na potrzeby testów przeglądarki.
Proces zatwierdzania i różnicowania pikseli jest realizowany przez Skia Gold. Pixel Gold jest wizualnym procesem zatwierdzania i pozwala programistom aby nie były widoczne w przypadku małych płatków, zatwierdzając kilka złotych zdjęć.
Obecnie pakiet testowy działa w oparciu o bota Windows FYI. Testy przeglądarki Testy jednostkowe i Wyświetlenia są obsługiwane.