No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripción 🔥

Aprende todo un fin de semana sin pagar una suscripción 🔥

Regístrate

Comienza en:

5D
12H
51M
46S

Reto: escribe un test sin el uso de codegen

9/17
Recursos

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Ojalá se actualice la página de práctica. La página actual tiene ads flotantes que no permiten ejecutar el resto de código de la prueba.

Podría crear un script para cerra el anuncio publicitario, pero no siempre es el mismo tipo de anuncio y no siempre se cierra de la misma manera.

Veré si encuentro otro recurso útil e intentaré compartirlo.

Mi aporte del contenido actual de la página de ejemplo

import { test, expect } from '@playwright/test';

test('carrito', async ({ page }) => { 

// ir a la pagina
await page.goto('https://automationexercise.com/products');

//hover en producto
await page.hover('a[href="/product_details/1"]');

//click en producto para ver mas detalles
await page.locator('a[href="/product_details/1"]');

//para evitar las ventanas emergentes
await page.goto('https://automationexercise.com/product_details/1');

//hacer click 2 veces
await page.locator('#quantity').click();
await page.locator('#quantity').fill('2');

//añadir al carrito
await page.getByText('Add to cart').click();

//hacer click en continuar
await page.getByText("Continue Shopping").click();

//verificar expect
await expect(page.getByText("Continue Shopping")).toBeHidden();
});

Lets go !! 🤙

Tambien para poder seleccionar el primer elemento se puede hacer de la siguiente manera:

await page.hover("#homefeatured > li:first-child")

Mi solución al reto.

import { test, expect } from '@playwright/test';

const BASE_URL = 'https://automationexercise.com/';

test('Order a product on Shop', async ({ page }) => {
  await page.goto(BASE_URL);
  await expect(page).toHaveURL(BASE_URL)
  await page.hover("a[href='/product_details/5']");
  await expect(page.getByText('View Product')).toHaveCount(34);
  await page.locator("a[href='/product_details/1']").click();
  const quantity = await page.locator("input[type='number']");
  await quantity.clear();
  await quantity.click();
  await quantity.fill("3");
  await page.getByText("Add to cart").click();
  await page.getByText("Continue Shopping").click();
  await expect(page.getByText("Continue Shopping")).toBeHidden();
});