Nagrywanie testów, a lokatory

Prezentacja

Nagrywanie testów a lokatory

Nagrywanie testów a lokatory

Nagrywanie testów a lokatory

Nagrywanie testów a lokatory

Nagrywanie testów a lokatory

Nagrywanie testów a lokatory

Dodatkowe materiały

TIP: Cały kod testów z poszczególnych lekcji znajdziesz w specjalnie przygotowanym repozytorium:
👉jaktestowac/playwright-elements-locators

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

Poniżej wykonaliśmy te same kroki na stronie /practice/simple-elements.html oraz /practice/simple-elements-no-ids.html.

W wersji 1.20:

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


test.describe("Finding different elements using Playwright 1.20.0 codegen", () => {
  test("Test page with IDs generated by codegen", async ({ page }) => {
    // steps:
    await page.goto("http://localhost:3000/practice/simple-elements.html");


    await page.locator('[data-testid="dti-label-element"]').click();
    await page.locator('[data-testid="dti-button-element"]').click();
    await page.locator('[data-testid="dti-checkbox"]').check();
    await page.locator('[data-testid="dti-input"]').click();
    await page.locator('[data-testid="dti-input"]').fill("test input");
    await page.locator('[data-testid="dti-input"]').press("Enter");
    await page.locator('[data-testid="dti-textarea"]').click();
    await page.locator('[data-testid="dti-textarea"]').fill("test area");
    await page.locator('[data-testid="dti-dropdown"]').selectOption("option2");
    await page.locator('[data-testid="dti-radio1"]').check();
    await page.locator('[data-testid="dti-radio2"]').check();
    await page.locator('[data-testid="dti-radio3"]').check();
    await page.locator('[data-testid="dti-range"]').click();
  });


  test("Test page with no IDs generated by codegen", async ({ page }) => {
    // steps:
    await page.goto(
      "http://localhost:3000/practice/simple-elements-no-ids.html"
    );


    await page.locator("text=Some text for label").click();
    await page.locator("text=Click me!").click();
    await page.locator('input[type="checkbox"]').check();
    await page.locator('input[type="text"]').click();
    await page.locator('input[type="text"]').fill("test input");
    await page.locator('input[type="text"]').press("Enter");
    await page.locator("textarea").click();
    await page.locator("textarea").fill("test area");
    await page.locator('select[name="name-dropdown"]').selectOption("option2");
    await page.locator('input[name="name-radio"]').first().check();
    await page.locator('input[name="name-radio"]').nth(1).check();
    await page.locator('input[name="name-radio"]').nth(2).check();
    await page.locator('input[type="range"]').click();
  });
});

W wersji 1.27:

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


test.describe("Finding different elements using Playwright 1.27.0 codegen", () => {
  test("Test page with IDs generated by codegen", async ({ page }) => {
    // steps:
    await page.goto("http://localhost:3000/practice/simple-elements.html");


    await page.getByTestId("dti-label-element").click();
    await page.getByTestId("dti-button-element").click();
    await page.getByTestId("dti-checkbox").check();
    await page.getByTestId("dti-input").click();
    await page.getByTestId("dti-input").fill("test input");
    await page.getByTestId("dti-input").press("Enter");
    await page.getByTestId("dti-textarea").click();
    await page.getByTestId("dti-textarea").fill("test area");
    await page.getByTestId("dti-dropdown").selectOption("option2");
    await page.getByTestId("dti-radio1").check();
    await page.getByTestId("dti-radio2").check();
    await page.getByTestId("dti-radio3").check();
    await page.getByTestId("dti-range").click();
  });


  test("Test page with no IDs generated by codegen", async ({ page }) => {
    // steps:
    await page.goto(
      "http://localhost:3000/practice/simple-elements-no-ids.html"
    );
   
    await page.getByText("Some text for label").click();
    await page.getByRole("button", { name: "Click me!" }).click();
    await page.locator('input[type="checkbox"]').check();
    await page.locator('input[type="text"]').click();
    await page.locator('input[type="text"]').fill("test input");
    await page.locator('input[type="text"]').press("Enter");
    await page.locator("textarea").click();
    await page.locator("textarea").fill("test area");
    await page.locator('select[name="name-dropdown"]').selectOption("option2");
    await page.locator('input[name="name-radio"]').first().check();
    await page.locator('input[name="name-radio"]').nth(1).check();
    await page.locator('input[name="name-radio"]').nth(2).check();
    await page.locator('input[type="range"]').click();
  });
});

W wersji 1.32:

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


test.describe("Finding different elements using Playwright 1.32.0 codegen", () => {
  test("Test page with IDs generated by codegen", async ({ page }) => {
    // steps:
    await page.goto("http://localhost:3000/practice/simple-elements.html");
   
    await page.getByTestId("dti-label-element").click();
    await page.getByTestId("dti-button-element").click();
    await page.getByTestId("dti-checkbox").check();
    await page.getByTestId("dti-input").click();
    await page.getByTestId("dti-input").fill("test input");
    await page.getByTestId("dti-input").press("Enter");
    await page.getByTestId("dti-textarea").click();
    await page.getByTestId("dti-textarea").fill("test area");
    await page.getByTestId("dti-dropdown").selectOption("option2");
    await page.getByTestId("dti-radio1").check();
    await page.getByTestId("dti-radio2").check();
    await page.getByTestId("dti-radio3").check();
    await page.getByTestId("dti-range").click();
  });


  test("Test page with no IDs generated by codegen", async ({ page }) => {
    // steps:
    await page.goto(
      "http://localhost:3000/practice/simple-elements-no-ids.html"
    );


    await page.getByText("Some text for label").click();
    await page.getByRole("button", { name: "Click me!" }).click();
    await page.getByRole("checkbox").check();
    await page.locator('input[type="text"]').click();
    await page.locator('input[type="text"]').fill("test input");
    await page.locator('input[type="text"]').press("Enter");
    await page.locator("textarea").click();
    await page.locator("textarea").fill("test area");
    await page.getByRole("combobox").selectOption("option2");
    await page.getByRole("radio").first().check();
    await page.getByRole("radio").nth(1).check();
    await page.getByRole("radio").nth(2).check();
    await page.getByRole('slider').click();
  });
});

W wersji 1.45:

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


test.describe("Finding different elements using Playwright 1.45.1 codegen", () => {
  test("Test page with IDs generated by codegen", async ({ page }) => {
    // steps:
    await page.goto("http://localhost:3000/practice/simple-elements.html");


    await page.getByTestId("dti-label-element").click();
    await page.getByTestId("dti-button-element").click();
    await page.getByTestId("dti-checkbox").check();
    await page.getByTestId("dti-input").click();
    await page.getByTestId("dti-input").fill("test input");
    await page.getByTestId("dti-input").press("Enter");
    await page.getByTestId("dti-textarea").click();
    await page.getByTestId("dti-textarea").fill("test text area");
    await page.getByTestId("dti-dropdown").selectOption("option2");
    await page.getByTestId("dti-radio1").check();
    await page.getByTestId("dti-radio2").check();
    await page.getByTestId("dti-radio3").check();
    await page.getByTestId("dti-range").fill("59");
  });


  test("Test page with no IDs generated by codegen", async ({ page }) => {
    // steps:
    await page.goto(
      "http://localhost:3000/practice/simple-elements-no-ids.html"
    );


    await page.getByText("Some text for label").click();
    await page.getByRole("button", { name: "Click me!" }).click();
    await page.getByRole("checkbox").check();
    await page.locator('input[type="text"]').click();
    await page.locator('input[type="text"]').fill("test input");
    await page.locator('input[type="text"]').press("Enter");
    await page.locator("textarea").click();
    await page.locator("textarea").fill("test area");
    await page.getByRole("combobox").selectOption("option2");
    await page.getByRole("radio").first().check();
    await page.getByRole("radio").nth(1).check();
    await page.getByRole("radio").nth(2).check();
    await page.getByRole("slider").fill("66");
  });
});

Zasoby i dokumentacja

Dodaj komentarz

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