Package giis.demo.descuento.it
Class TestDescuentoPlaywright
java.lang.Object
giis.demo.descuento.it.TestDescuentoPlaywright
@SpringBootTest(classes=DescuentoApplication.class,
webEnvironment=RANDOM_PORT)
@TestPropertySource(locations="classpath:application-test.properties")
public class TestDescuentoPlaywright
extends Object
Misma prueba de interfaz de usuario que TestDescuentoSelenium, pero ejecutada con Playwright
(https://playwright.dev/java/) en lugar de Selenium. Se mantiene identico el escenario y las comprobaciones
para que se puedan comparar ambas tecnologias; los comentarios resaltan unicamente las diferencias respecto
de la version con Selenium.
Al igual que Selenium apoya sus utilidades en SeleniumUtil, esta version las apoya en PlaywrightUtil (lanzar el navegador segun el fichero de propiedades, obtener el contenido de una tabla y tomar capturas).
Principales diferencias respecto de Selenium:
Al igual que Selenium apoya sus utilidades en SeleniumUtil, esta version las apoya en PlaywrightUtil (lanzar el navegador segun el fichero de propiedades, obtener el contenido de una tabla y tomar capturas).
Principales diferencias respecto de Selenium:
- Gestion de navegadores: Playwright descarga y gestiona sus propios navegadores.
- Esperas: Playwright incorpora auto-waiting: cada accion espera de
forma automatica a que el elemento sea accionable, por lo que no hace falta muchos waits.
- API: en lugar de driver.findElement(By...) se usan Locators (page.locator("css")).
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) com.microsoft.playwright.Browserprivate DataSource(package private) com.microsoft.playwright.Page(package private) com.microsoft.playwright.Playwright(package private) int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidLa ejecucion de un paso ilustra las acciones basicas de Playwright (locator, fill, click) frente a las de Selenium (findElement, sendKeys, click).voidCarga limpia de la base de datos: identica a TestDescuentoSelenium.private voidInicializa Playwright, lanza el navegador y navega a la pagina principal.voidsetUp()voidtearDown()voidEscenario de prueba de la pantalla: identico al de TestDescuentoSelenium.
-
Field Details
-
datasource
-
port
@LocalServerPort int port -
playwright
com.microsoft.playwright.Playwright playwright -
browser
com.microsoft.playwright.Browser browser -
page
com.microsoft.playwright.Page page
-
-
Constructor Details
-
TestDescuentoPlaywright
public TestDescuentoPlaywright()
-
-
Method Details
-
setUp
@BeforeEach public void setUp() -
tearDown
@AfterEach public void tearDown() -
loadMainPage
private void loadMainPage()Inicializa Playwright, lanza el navegador y navega a la pagina principal. Inserta esperas tras cada accion para que se pueda ver la secuencia de pasos en los videos (no son necesarias para sincronizar: Playwright espera automaticamente, cumplen el mismo proposito que los sleep de la version Selenium). -
loadCleanDatabase
public void loadCleanDatabase()Carga limpia de la base de datos: identica a TestDescuentoSelenium. -
testDescuentoScenario
@Test public void testDescuentoScenario()Escenario de prueba de la pantalla: identico al de TestDescuentoSelenium. Cuatro pasos cambiando el filtro por edad, comprobando en cada uno el valor de la tabla de descuentos. -
doStep
La ejecucion de un paso ilustra las acciones basicas de Playwright (locator, fill, click) frente a las de Selenium (findElement, sendKeys, click).
-