0Pricing
TypeScript Academy · บทเรียน

ภาพรวมการกำหนดชนิดข้อมูลการทดสอบ E2E (Playwright/Cypress)

ดูการไหลของชนิดข้อมูล TypeScript ในการทดสอบ E2E ด้วย Playwright และ Cypress พร้อมเพิ่มการรองรับชนิดข้อมูลและตัวเลือกองค์ประกอบที่ปลอดภัย

ภาพรวมการกำหนดชนิดข้อมูลการทดสอบ E2E (Playwright/Cypress) เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 3 บทเรียน

บทนำ

เป้าหมาย: ดูภาพรวมว่า TypeScript ช่วยเสริมการทดสอบ E2E อย่างไร เราจะตั้งค่าชนิดข้อมูลสำหรับ Playwright และ Cypress และเขียนการทดสอบที่มีชนิดข้อมูลขนาดเล็ก

ติดตั้ง Playwright

Playwright มาพร้อมตัวเรียกใช้การทดสอบและชนิดข้อมูลของตัวเอง นำเข้าจาก @playwright/test เพื่อให้ได้ การทดสอบ, การคาดหมาย และ หน้าเว็บที่มีชนิดข้อมูล

npm install --save-dev @playwright/test

การทดสอบด้วย Playwright

ใน Playwright ชนิดข้อมูลของหน้าเว็บและตัวระบุตำแหน่งมีความเข้มงวด การใช้งานผิดพลาดจะถูกตรวจพบระหว่างคอมไพล์

// example.spec.ts
import { test, expect } from "@playwright/test";

test("home loads", async ({ page }) => {
  await page.goto("/")
  const title = page.getByRole("heading", { name: /welcome/i })
  await expect(title).toBeVisible()
  // page is fully typed: URL, locators, assertions
})

ชนิดข้อมูลของ Cypress

สำหรับชนิดข้อมูลส่วนกลางของ Cypress ให้เพิ่ม types: ["cypress"] ใน tsconfig หรือเขียนการอ้างอิงไปยังไฟล์สนับสนุน

// tsconfig.json (excerpt)
{
  "compilerOptions": {
    "types": ["cypress"]
  }
}

// or in cypress/support/e2e.d.ts
/// <reference types="cypress" />

การทดสอบด้วย Cypress

การต่อคำสั่ง cy, การต่อคำสั่งตรวจยืนยัน และคำสั่งปลั๊กอินมีชนิดข้อมูลด้วย TS ทำให้คำแนะนำจาก IDE ชัดเจนขึ้น

// cypress/e2e/home.cy.ts
describe("home", () => {
  it("loads", () => {
    cy.visit("/")
    cy.findByRole("heading", { name: /welcome/i }).should("be.visible")
  })
})

ตัวช่วยเลือกองค์ประกอบ

ฟังก์ชันตัวช่วยที่อิง Data-testid มีความเสถียรกว่าตัวเลือก CSS/XPath ที่เปราะบาง และให้การเติมโค้ดอัตโนมัติด้วย TS ได้ง่าย

// helpers/selectors.ts
export const h = {
  title: (name: string) => `[data-testid="title-${name}"]`,
}

// usage (Playwright)
// await expect(page.locator(h.title("home"))).toBeVisible()

// usage (Cypress)
// cy.get(h.title("home")).should("be.visible")

การตรวจสอบชนิดข้อมูลของ Cypress

ตรวจสอบอย่างรวดเร็ว: คุณจะเปิดใช้ชนิดข้อมูลส่วนกลางของ Cypress (cy, Cypress) ใน TS ได้อย่างไร

สรุปทบทวน

สรุปทบทวน: Playwright และ Cypress มีชนิดข้อมูลที่เข้มงวดเมื่อใช้ร่วมกับ TS การตั้งค่าที่ถูกต้องและตัวเลือกที่ปลอดภัยทำให้การทดสอบ E2E เชื่อถือได้มากขึ้น

คำถามที่พบบ่อย

บทเรียน “ภาพรวมการกำหนดชนิดข้อมูลการทดสอบ E2E (Playwright/Cypress)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ภาพรวมการกำหนดชนิดข้อมูลการทดสอบ E2E (Playwright/Cypress)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ภาพรวมการกำหนดชนิดข้อมูลการทดสอบ E2E (Playwright/Cypress)”

ดูการไหลของชนิดข้อมูล TypeScript ในการทดสอบ E2E ด้วย Playwright และ Cypress พร้อมเพิ่มการรองรับชนิดข้อมูลและตัวเลือกองค์ประกอบที่ปลอดภัย คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน

บทเรียน “ภาพรวมการกำหนดชนิดข้อมูลการทดสอบ E2E (Playwright/Cypress)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม

ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การตั้งค่า Vitest/Jest สำหรับ TS
  2. การกำหนดชนิดข้อมูลให้การทดสอบและม็อก; expectTypeOf
  3. ภาพรวมการกำหนดชนิดข้อมูลการทดสอบ E2E (Playwright/Cypress)
← กลับไปที่ TypeScript Academy