Adnotacje i oznaczenia testów w Playwright

TIP: Ta lekcja jest częścią rozwijanego Programu Testy Automatyczne z Playwright 🎭

Prezentacja

Adnotacje w testach automatycznych

Adnotacje w testach automatycznych

Dodatkowe materiały

TIP: W tej lekcji bazujemy na kodzie jaki otrzymaliśmy w lekcji Nowe podejście do tagów w Playwright.

Cały kod potrzeby do realizacji tematów z tej lekcji znajdziesz też w naszym repozytorium: playwright_automatyzacja_wprowadzenie.

A dokładniej bazujemy na projekcie, który znajdziesz w katalogu S04 / L03_nowe_tagi.

Adnotacje to specjalne oznaczenia, które dodajemy do testów. Możesz sobie wyobrazić adnotacje jako rodzaj notatek lub instrukcji przyczepionych do kodu. Notatki te nie wpływają bezpośrednio na to, jak działa nasz kod. Jednak są bardzo przydatne w organizacji i poprawie czytelności naszego kodu i testów.

Adnotacje w Playwright to specjalne oznaczenia, które dodajesz do testów. Możesz użyć adnotacji, aby oznaczyć testy jako pomijane, nieudane, zbyt wolne, lub skupić się na konkretnym teście. Adnotacje mogą również zawierać dodatkowe informacje, takie jak powiązania z konkretnymi problemami (poprzez URL) czy kategorie.

TIP: Adnotacje zostały wprowadzone w wersji 1.42 Playwright.

Adnotacje w testach

Test bez adnotacji:

test('successful login with correct credentials', async ({ page }) => {
      // Arrange
      const userId = loginData.userId;
      const userPassword = loginData.userPassword;
      const expectedUserName = 'Jan Demobankowy';


      // Act
      await loginPage.login(userId, userPassword);


      // Assert
      const pulpitPage = new PulpitPage(page);
      await expect(pulpitPage.userNameText).toHaveText(expectedUserName);
    }
  );






Test z adnotacją:

test('successful login with correct credentials',
    {
      tag: ['@smoke', '@login'],
      annotation: { type: 'happy path', description: 'Basic happy path test' },
    },
    async ({ page }) => {
      // Arrange
      const userId = loginData.userId;
      const userPassword = loginData.userPassword;
      const expectedUserName = 'Jan Demobankowy';


      // Act
      await loginPage.login(userId, userPassword);


      // Assert
      const pulpitPage = new PulpitPage(page);
      await expect(pulpitPage.userNameText).toHaveText(expectedUserName);
    }
  );


Obiekt konfiguracji składa się z 2 pól – type oraz description:

{ type: 'happy path', description: 'Basic happy path test' },


Test z wieloma adnotacjami:

test('successful login with correct credentials',
    {
      tag: ['@smoke', '@login'],
      annotation: [
        { type: 'happy path', description: 'Basic happy path test' },
        { type: 'documentation', description: 'https://playwright.info/' }
      ],
    },
    async ({ page }) => {
      // Arrange
      const userId = loginData.userId;
      const userPassword = loginData.userPassword;
      const expectedUserName = 'Jan Demobankowy';


      // Act
      await loginPage.login(userId, userPassword);


      // Assert
      const pulpitPage = new PulpitPage(page);
      await expect(pulpitPage.userNameText).toHaveText(expectedUserName);
    }
  );


Linki

2 komentarze

  1. Cześć,
    Pewnie już wiecie, ale w Playwright link nawet z tekstem przed jest klikalny. Przynajmniej w wersji 1.47.2

            {
                tag: ['@payment', '@integration'],
                annotation: {
                    type: 'documentation',
                    description: 'More to find at: http://google.com/',
                },
            },
    
    Avatar Adam Kupper

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *