Usprawnianie raportowania testów za pomocą Xray: Wykorzystanie Selenium, Java i Jenkins

Kamil Sosnowski

Wprowadzenie

Zautomatyzowane testowanie stało się istotnym aspektem utrzymania jakości oprogramowania i skrócenia czasu wprowadzania produktów na rynek w dzisiejszym ekosystemie tworzenia oprogramowania. Zespoły często polegają na zaawansowanych rozwiązaniach, takich jak Xray, które płynnie łączą się z popularnymi frameworkami, takimi jak Selenium i Jenkins, aby skutecznie zarządzać i raportować wyniki testów. W tym artykule przyjrzymy się, jak raportować wyniki testów w Xray za pomocą Selenium i Java do automatyzacji testów oraz Jenkins do ciągłej integracji.

Konfigurowanie automatyzacji testów za pomocą Selenium i Java

Zanim przejdziemy do raportowania testów, pokrótce omówimy konfigurację wymaganą do automatyzacji testów przy użyciu Selenium i Java. Selenium to szeroko stosowany framework testowy typu open source, który zapewnia bogaty zestaw narzędzi i bibliotek do automatyzacji przeglądarek. Oto przykład prostego testu logowania napisanego w Javie przy użyciu Selenium:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class LoginTest {
    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();
        driver.get("https://example.com");

        WebElement usernameField = driver.findElement(By.id("username"));
        usernameField.sendKeys("myUsername");

        WebElement passwordField = driver.findElement(By.id("password"));
        passwordField.sendKeys("myPassword");

        WebElement loginButton = driver.findElement(By.id("login-button"));
        loginButton.click();

        // W razie potrzeby wykonaj asercje i dalsze kroki testowe

        driver.quit();
    }
}

Przedstawiamy Xray do zarządzania testami i raportowania

Jenkins to popularny serwer automatyzacji o otwartym kodzie źródłowym, szeroko stosowany do ciągłej integracji i dostarczania. Można go wykorzystać do planowania i wykonywania zautomatyzowanych testów, w tym raportowania testów za pomocą Xray. Aby to osiągnąć, należy zdefiniować pipeline Jenkinsa, często określany jako plik Jenkinsfile, który przedstawia kroki kompilacji, testowania i raportowania wyników. Oto przykład uproszczonego pliku Jenkinsfile do uruchamiania zautomatyzowanych testów i raportowania wyników do Xray:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                // W razie potrzeby wykonaj kroki kompilacji
            }
        }

        stage('Test') {
            steps {
                sh 'mvn test' // Uruchamianie testów automatycznych przy użyciu Mavena lub określonego programu uruchamiającego testy
            }
        }

        stage('Report Results') {
            steps {
                xrayImportResults(
                    testResults: '**/target/surefire-reports/*.xml', // Określ lokalizację plików wyników testu
                    testExecutionKey: 'PROJ-123', // Unikalny identyfikator wykonania testu w Xray
                    projectKey: 'PROJ' // Klucz projektu Xray, do którego należy zaimportować wyniki.
                )
            }
        }
    }
}

Importowanie wyników testów do Xray

Po pomyślnym wykonaniu zautomatyzowanych testów za pomocą Jenkinsa, następnym krokiem jest zaimportowanie wyników testów do Xray w celu kompleksowego raportowania i analizy. Krok „xrayImportResults” w pliku Jenkins jest odpowiedzialny za to kluczowe zadanie. Po uruchomieniu kroku „xrayImportResults” pobiera on wygenerowane pliki wyników testów, zazwyczaj w formacie XML (np. wygenerowane przez Surefire), i importuje je do Xray. Ten krok wymaga określenia lokalizacji plików wyników testu przy użyciu ścieżki pliku lub wzorca wieloznacznego. Na przykład „*/target/surefire-reports/.xml” określa, że wszystkie pliki XML w katalogu „target/surefire-reports” powinny zostać zaimportowane.

Oprócz plików wyników testów, krok „xrayImportResults” wymaga również dwóch ważnych parametrów: klucza wykonania testu i klucza projektu. Klucz wykonania testu jest unikalnym identyfikatorem w Xray, który kojarzy zaimportowane wyniki z konkretnym wykonaniem testu. Pomaga on w śledzeniu i porównywaniu wyników w czasie. Klucz projektu reprezentuje klucz projektu Xray, do którego należy zaimportować wyniki.

Podając niezbędne parametry, krok „xrayImportResults” uruchamia proces importowania wyników testów do Xray. Xray inteligentnie analizuje pliki XML, wyodrębniając istotne informacje, takie jak nazwy testów, statusy i czas trwania. Aktualizuje odpowiednie wykonanie testu w Xray, odzwierciedlając najnowsze wyniki.

Po zaimportowaniu wyników testów, Xray zapewnia kompleksowy wgląd w status wykonania testów. Zespoły mogą łatwo zidentyfikować zaliczone, niezaliczone lub pominięte testy, wraz ze szczegółowymi informacjami na temat każdego przypadku testowego. Intuicyjny interfejs Xray umożliwia użytkownikom zagłębianie się w poszczególne przypadki testowe, przeglądanie powiązanych defektów i śledzenie pokrycia testów.

Importując wyniki testów do Xray, zespoły mogą wykorzystać jego potężne możliwości raportowania. Xray oferuje szereg raportów, w tym podsumowania wykonania testów, trendy, macierze identyfikowalności i śledzenie defektów. Raporty te zapewniają cenny wgląd w jakość oprogramowania, umożliwiając zespołom podejmowanie decyzji opartych na danych, ustalanie priorytetów testowania i szybkie rozwiązywanie wszelkich problemów.

Analiza wyników testów w Xray

Po zaimportowaniu wyników testów do Xray, zespoły mogą skorzystać z bogatych możliwości raportowania. Xray zapewnia różne widoki i metryki do analizy wyników wykonania testów, śledzenia postępów, identyfikowania trendów i generowania kompleksowych raportów. Zespoły mogą łatwo wizualizować pokrycie testami, identyfikować testy kończące się niepowodzeniem i uzyskać wgląd w ogólny stan oprogramowania.

Podsumowanie

Skuteczne raportowanie testów ma kluczowe znaczenie dla utrzymania wysokiego poziomu jakości oprogramowania. Dzięki integracji Selenium, Java, Jenkins i Xray, zespoły mogą usprawnić proces uruchamiania testów automatycznych, generowania kompleksowych raportów i śledzenia statusu wykonania testów. Płynna integracja Xray z popularnymi narzędziami do automatyzacji, takimi jak Selenium, w połączeniu z potężnymi możliwościami pipeline Jenkinsa, zapewnia solidne rozwiązanie dla zespołów, które chcą usprawnić przepływ pracy raportowania testów i zapewnić wydajne zarządzanie testami. Dzięki Xray zespoły mogą łatwo analizować wyniki testów, identyfikować problemy i podejmować decyzje oparte na danych w celu dostarczania wysokiej jakości oprogramowania.

Poznaj mageek of j‑labs i daj się zadziwić, jak może wyglądać praca z j‑People!

Skontaktuj się z nami