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();
});