Siirry pääsisältöön

Testing with Playwright

Avaa ChatGPT:ssä

Tämä dokumentaatio kuvaa prosessia webforJ-sovellusten testaamiseksi Playwrightin avulla, keskittyen erityisesti HelloWorldView-komponenttiin webforj-archetype-hello-world-projektista.

Sovelluksen perusteet

Jos haluat oppia lisää webforj-archetype-hello-world-projektista, katso Sovelluksen perusteet -esittely -osan.

Edellytykset

Ennen Playwright-testausten kirjoittamista ja suorittamista varmista, että:

  • webforJ-sovellus on oikein asetettu ja käynnissä paikallisella palvelimellasi.
  • Olet asentanut:
    • Playwright Java -sitojat.
    • Yhteensopivan selaimen (Playwright voi automaattisesti asentaa selaimia asetusten aikana).
    • Maven projektiriippuvuuksia varten.

Maven-konfigurointi

Lisää tarvittavat riippuvuudet pom.xml-tiedostoosi Playwrightille:

pom.xml
<dependencies>
<dependency>
<groupId>com.microsoft.playwright</groupId>
<artifactId>playwright</artifactId>
<version>1.49.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

Testiesimerkki: HelloWorldView

Seuraava koodi havainnollistaa Playwright-pohjaista testiä HelloWorldView-komponentille.

HelloWorldViewTest.java
package com.example.views;

import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;

class HelloWorldViewTest {

static Playwright playwright = Playwright.create();
Browser browser;
Page page;
String port = System.getProperty("server.port", "8080");

@BeforeEach
void setUp() {
browser = playwright.chromium().launch();
page = browser.newPage();
page.navigate("http://localhost:" + port + "/");
}

@Test
void shouldClickButton() {
page.locator("input").fill("webforJ");
page.getByText("Say Hello").click();

assertThat(page.locator("dwc-toast").first())
.containsText("Welcome to webforJ Starter webforJ!");
}
}

Avainvaiheet

  1. Alustaminen Playwrightissa:

    • Luo Playwright-instanssi.
    • Käynnistä selaininstanssi käyttäen playwright.chromium().launch().
  2. Testiympäristön asettaminen:

    • Avaa uusi selainvälilehti käyttäen browser.newPage().
    • Siirrä HelloWorldView-sivulle navigate-metodin avulla.
  3. Vuorovaikutus Elementtien kanssa:

    • Käytä Playwrightin sijoittimia vuorovaikutukseen DOM-elementtien kanssa.
    • Täytä syöttökentät locator("input").fill() ja laukaise toimenpiteitä käyttäen getByText("Say Hello").click().
  4. Väittämiä:

    • Vahvista näytettävä toast-viesti PlaywrightAssertions.assertThat()-metodilla.
  5. Purku:

    • Playwright käsittelee selaimen puhdistuksen automaattisesti testin päätyttyä. Manuaalista puhdistusta varten voit sulkea selaimen käyttäen browser.close().

Testien suorittaminen

  1. Käynnistä webforJ-palvelin:

    mvn jetty:run
  2. Suorita testitapaukset:

    mvn test

Odotettu käyttäytyminen

  • Kun vierailet http://localhost:<port>/, HelloWorldView-sivu latautuu.
  • Syötä webforJ tekstikenttään ja napsauta Say Hello-painiketta.
  • Toast-viestin pitäisi ilmestyä, jossa on teksti: Welcome to webforJ Starter webforJ!.