Jak generować raporty o zakresie w selenu?
Opublikowany: 2021-06-21Biblioteka open-source używana do automatyzacji testów w selen to ExtentReports. Ramy testowe; Z biblioteką można zintegrować NUnit, JUnit itp. Wbudowane raporty są tworzone w selenu za pośrednictwem frameworków TestNG i JUnit, ale raporty Extent są nadal pierwszym wyborem testerów automatyzacji selenu. Raporty zasięgu w selenu dają lepszy wgląd w wykonanie skryptów automatyzacji. Wyniki są przedstawiane jako wykresy kołowe i są w zasadzie dokumentami HTML. Czy szczegóły, takie jak migawki, a niestandardowe dzienniki mogą być generowane za pośrednictwem biblioteki.
Po pomyślnym przeprowadzeniu testu automatycznego testerzy mają wygenerować raport z wykonania testu. Raport domyślny jest dostarczany przez TestNG, ale szczegóły nie są dostarczane. Dzięki zastosowaniu interfejsu API ExtentReport można generować interaktywne raporty za pomocą prostych konfiguracji. Frameworki Java i .Net, takie jak JUnit, NUnit, TestNG itp. są obsługiwane przez bibliotekę.
Zależność autora raportu o zasięgu
Źródło
Raporty dotyczące zawartości selenu składają się z dwóch klas:
Spis treści
1. Klasa ExtendReports
Tester określa ścieżkę i na podstawie określonej ścieżki generowane są raporty HTML z klasy ExtentReports. Albo następuje generowanie nowego raportu, albo nadpisywanie istniejącego raportu. Jest ustalana na podstawie wartości logicznej. Domyślna wartość logiczna to „true”, co oznacza, że nastąpi nadpisanie wszystkich danych, które istniały w przeszłości.
2. Klasa ExtentTest
Kroki testowe są rejestrowane przez klasę ExtentTest w raportach HTML generowanych za pomocą powyższej metody.
3. Zakres HtmlReporter
Ta klasa tworzy plik HTML.
Wymienionych funkcji wbudowanych można używać z klasami wymienionymi poniżej.
- startTest: spełnione są warunki wstępne przypadku w teście
- endTest: wykonywane są warunki końcowe sprawy w teście.
- Metoda dziennika: stan każdego kroku testu jest rejestrowany w wygenerowanym raporcie HTML za pośrednictwem dziennika.
- Opróżnij: tworzony jest nowy raport usuwający dane z poprzedniego raportu.
Następujące wartości są używane do wskazania statusu testu: ZADANIE, POMIŃ, NIEPOWODZENIE i INFORMACJE.
Jak tworzyć raporty dotyczące zasięgu
Kilka warunków wstępnych do wygenerowania raportu o zakresie to:
- Preinstalacja i konfiguracja Java.
- Instalacja TestNG.
- Pobieranie słoików raportu zasięgu (wersja 2.41.2).
- Wymaganie extend-config.xml umożliwiającego konfigurację raportu HTML.
Podstawowe kroki, które należy wykonać, aby wygenerować raporty dotyczące zasięgu, to:
- Ma zostać utworzony projekt testowy.
- Należy pobrać rozmiar pliku jar raportu.
- Do projektu zostanie dodany plik jar z raportem dotyczącym zasięgu.
- Tworzona jest zaimplementowana klasa.
Kroki generowania raportu o zakresie
- Raporty dotyczące zakresu można generować w WebDriver selenu poprzez import pliku jar, którym jest extendreports-java-2.41.2.jar. Zawartość pliku jar należy rozpakować do katalogu po pobraniu.
- Pliki Jar wyodrębnione z pobranego pliku ZIP należy dodać do projektu kompilacji. Wykorzystywana jest opcja Build Path -> Configure Build Path.
- Nowo utworzona klasa Java dla zakresu zgłoszonego w poniższym kodzie.
Źródło
Wyjaśnienie kodu
W przypadku metody startTest rozpoczyna się wykonywanie testu. Inicjowany jest obiekt raportów zasięgu. Obiekt raportu zasięgu używa dowolnej ścieżki zdefiniowanej przez użytkownika jako parametru przekazanego do niego.
@beforeclass: Użycie raportów o zakresie jest ilustrowane przez kod.
@test: Następujące działania są zautomatyzowane przez tę klasę:
- Otwarcie przeglądarki Chrome przez URL www.google.com .
- Tytuł strony ma zostać zweryfikowany zgodnie z oczekiwaniami po otwarciu.
- Status przypadku testu ma być rejestrowany jako PASS lub FAIL przy użyciu metody dziennika raportów ekstentu.
@afterclass: Kod do wykonania przypadku warunków końcowych testu jest zawarty w tej klasie. Zawiera kod zakończenia testu lub opróżnienia raportu. Bez użycia metody flush() raporty zasięgu w selen nie zostaną wygenerowane.
Przechwytuj zrzuty ekranu w raportach zasięgu
1. Poprzez metodę przechwytywania
- Korzystanie ze zrzutu ekranu podczas testu ma kilka zalet.
- Jeśli oprogramowanie zacznie działać nieprawidłowo, testerzy mogą zidentyfikować problem, obserwując zrzuty ekranu.
- Dlatego jeśli wykonanie testu napotka jakiekolwiek problemy, zrzuty ekranu umożliwią testerom debugowanie skryptu testowego.
- Zrzuty ekranu powinny być przechwytywane tylko w przypadku niepowodzenia testu, ponieważ przechwytywanie zużywa więcej pamięci.
- Poniższy kod używany do robienia zrzutu ekranu pochodzi z
Źródło
2. Wyjaśnienie kodu
- Bieżący selen WebDriver jest przechwytywany jako zrzut ekranu za pomocą metody getScreenShotAs(). Jest on następnie przechowywany w różnych formach wyjściowych.
File scrFile = (sterownik (TakesScreenshot)).getScreenshotAs(OutputType.File);
- Obiekt pliku jest zwracany metodą getScreenShotAs i przechowywany w zmiennej pliku. Aby skorzystać z tej metody, konieczne jest rzucenie instancji sterownika sieciowego w celu wykonania zrzutu ekranu.
File Dest = new File(“scr/../Errimages/” + System.currentTimeMillis()+ “.png”);
- Folder o nazwie „ErrImages” jest tworzony w folderze „src” za pomocą powyższego kodu. Plik jest zapisywany w utworzonym folderze z nazwą pliku jako czas aktualnego systemu.
Ciąg znaków errflpath = Dest,getAbsolutePath();
Fileutils.copyFile(scrFile, Dest);
returnerrflpath;
- Wygenerowane obrazy błędów są kopiowane do folderu docelowego.
3. Metoda dziennika
- W metodzie dziennika stosowana jest metoda wbudowana. AddScreenCapture klasy Extent służy do przechwytywania zrzutu ekranu, a następnie dołączania do wygenerowanych raportów dotyczących zakresu.
test.log(LogStatus.Fail,test.addScreenCapture(capture(sterownik))+ „Test nie powiódł się”);
Zalety raportów zakresu
- Korzystanie z raportów zasięgu jest łatwe.
- Wykresy kołowe służą do wyświetlania wyników.
- Podaje się procent zaliczonych przypadków testu.
- Możliwość dodawania szczegółów otoczenia w naturalny sposób.
- W porównaniu z innymi raportami raport o zakresie oferuje możliwość dostosowania.
- Bardziej interaktywne raporty można generować za pomocą interfejsu API zakresu. Interaktywne raporty mogą mieć postać widoku graficznego, przechwytywania zrzutów ekranu podczas każdego etapu testowania, widoku pulpitu nawigacyjnego oraz raportów, które można wysyłać pocztą elektroniczną.
- Możliwa jest integracja z frameworkami JUnit, TestNG i NUnit.
- Równoległe wykonywanie przebiegów testowych jest możliwe dzięki wygenerowaniu jednego raportu dla wszystkich przebiegów równoległych.
- Raport można skonfigurować.
- Dla wykonania każdego przypadku testowego wyświetlany jest czas.
- Możliwe jest łatwe śledzenie przebiegów wielu przypadków testowych w jednym pakiecie.
- Na podstawie raportów z testu wyniki można odfiltrować. Ponadto wyniki krokowe można odfiltrować za pomocą opcji pass/fail/info.
- Kategoryzacje raportów są dostępne dla kategorii takich jak Regresja/funkcjonalność itp.
- Do raportów można dodawać dzienniki etapów testu.
Przykład raportów zasięgu w Selenium
Pokazano przykład, który pozwala zrozumieć proces generowania raportu o zasięgu.
Krok 1 : Należy utworzyć projekt maven i klasę BasicExtentReport.java z dodatkiem kodu dostępnego tutaj
- Samodzielny plik HTML jest generowany z klasy „ExtentHtmlReporter”.
- 'ExtentHtmlReporter(java.io.File)' jest akceptowana przez tę klasę, a ścieżka 'ExtentHtmlReporter(java.lang.String filePath)'.
- Ścieżka pliku jest przekazywana w celu zapisania raportów.
- Metoda config() klasy 'ExtentHtmlReporter' udostępnia różne opcje konfiguracji. Pozycje można zmieniać za pomocą kodu, aby wprowadzić zmiany w wyglądzie raportu o zasięgu, w tym znacznik czasu, nazwę raportu itp.
- Status każdego kroku testu jest raportowany przez „AfterMethod”, a tym samym status testu jest aktualizowany, np. Zaliczony, Niepowodzenie, pominięcie itp. W przypadku wystąpienia jakiegokolwiek błędu generowany jest komunikat zawierający informacje. Odbywa się to poprzez 'result.getThrowable()'.
- Etykiety stanu są tworzone przy użyciu klasy MarkupHelper, która również koloruje stan raportu.
Krok 2: Przekazywanie systemu operacyjnego i parametrów przeglądarki odbywa się poprzez utworzenie pliku testng.xml. Kod jest dostępny na wspomnianej stronie.
Krok 3: Kolejny kod jest dodawany do pliku pom.cml.
Krok 4: Uruchomienie programu generuje raport wynikowy .
Źródło
Aby wyświetlić raporty o niepowodzeniach, należy kliknąć nieudane testy. Spowoduje to wyświetlenie statusu testu wraz z przyczyną niepowodzenia testu.
Kilka dodatkowych rzeczy związanych z raportami o zasięgu to:
- Ze względu na wygląd, motyw istniejący w raporcie można zmienić.
- Zgodnie z wygodą użytkownika widok deski rozdzielczej może być ukryty lub pokazany.
- W przypadku przeprowadzania wielu testów, przypadek testowy można przeszukiwać krok po kroku.
- Całkowity czas potrzebny na wykonanie testu, w tym czas rozpoczęcia i czas zakończenia, jest wyświetlany użytkownikowi.
- W raporcie znajdują się dodatkowe filtry. Wyniki mogą być filtrowane według statusu testów, takich jak testy zakończone pomyślnie, testy zakończone niepowodzeniem lub przypadki testowe, w których obecne są tylko informacje.
Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
Raporty dotyczące zasięgu są najlepszym sposobem generowania dowolnych raportów, które można dostosowywać . Będąc biblioteką open-source z łatwą konfiguracją z selenem, raporty dotyczące zasięgu zdecydowanie stały się najlepszym wyborem dla wszystkich testerów automatyzacji. W artykule pokrótce omówiono raporty zasięgu, sposób ich generowania oraz ich przydatność. Korzyści można czerpać dzięki znajomości programowania oprogramowania, które jest podstawą generowania raportów o zasięgu.
Jeśli chcesz poznać i poznać korzyści płynące z programowania oprogramowania, sprawdź kurs Executive PG Program in Software Development – Specialization in Full Stack Development , oferowany przez upGrad . Jest to specjalnie zaprojektowany kurs dla początkujących profesjonalistów w grupie wiekowej od 21 do 45 lat. Zapewniając platformę do wykładów online i sesji interaktywnych z praktycznymi doświadczeniami, kurs zapewnia zapewnienie miejsca w najlepszych branżach. Nasz zespół jest dostępny na wszelkie pytania.
Co to jest kreator raportów Selenium?
Selenium Report Builder lub Selenium IDE to wtyczka do przeglądarki Firefox dla Selenium, która pomaga tworzyć i edytować przypadki testowe Selenium. Sprawia, że proces automatyzacji jest bardziej wydajny i zmniejsza wysiłek potrzebny do tworzenia różnych raportów. Jest to wygodny sposób na przeprowadzanie testów i zapewnia przegląd aktualnego stanu. Raporty generowane są w różnych formatach, takich jak tekst, PDF, CSV, HTML itp.
Co można automatycznie przetestować za pomocą Selenium?
Selenium to narzędzie do automatyzacji aplikacji internetowych do celów testowych i może być używane do testowania regresji. Selenium może zautomatyzować wszystko, co użytkownik może zrobić w przeglądarce. Większość stron internetowych ma pewne funkcje, które ułatwiają pracownikom wykonywanie zadań, takich jak zamawianie zapasów, przetwarzanie zamówień, aktualizowanie strony internetowej itp. Selenium może być używane do testowania aplikacji i stron internetowych. Jest to język wysokiego poziomu, który obsługuje różne języki programowania, takie jak JAVA i C#. Selenium służy do automatyzacji przeglądarki i zapewnia programistom aplikacji internetowych możliwość pisania automatycznych testów, które mają być uruchamiane w aplikacjach internetowych.
Co to jest siatka selenowa?
Selenium Grid to narzędzie, które umożliwia przeprowadzanie automatycznych testów w kilku przeglądarkach (lub innych węzłach siatki). Pozwala na równoległe wykonywanie tych testów z kilkoma konfiguracjami (lokalizacje, przeglądarki, systemy operacyjne) i kilkoma przeglądarkami jednocześnie. Same testy można uruchomić w trybie bezgłowym, aby w ogóle nie wymagały żadnego GUI. Grid oferuje asynchroniczne wykonywanie zadań i jest w stanie zarządzać setkami zadań jednocześnie. Siatka Selenium jest zatem modelem typu hub i szprycha do uruchamiania przypadków testowych. Grid umożliwia użytkownikom łączenie wielu przeglądarek w celu uruchomienia jednego przypadku testowego. Po skonfigurowaniu można go używać do uruchamiania testów na wielu komputerach lub przeglądarkach na żądanie lub zgodnie z harmonogramem. Selenium Grid może być używany do równoległego wykonywania testów, skalowania testów i zwiększania pokrycia testami.