🎭

Introduction to Playwright with JavaScript

Sep 18, 2024

Notes on Playwright JavaScript and TypeScript Introduction

Overview of the Series

  • New series focused on Playwright with JavaScript and TypeScript.
  • Previous work included Playwright with Java.
  • Emphasis on understanding programming fundamentals before diving into Playwright.

Importance of JavaScript Knowledge

  • Basic understanding of JavaScript is critical:
    • Loops, conditionals, string manipulation, arrays, functions.
    • Creating objects in JavaScript.
  • Avoid jumping to Playwright without language knowledge; it leads to confusion.
  • Understanding programming logic is vital for developing functions (e.g., pagination in web tables).

Setting Up Playwright on Windows

Required Downloads

  1. Node.js
    • Necessary for running Playwright.
    • Download from the Node.js website.
  2. Visual Studio Code
    • Recommended code editor for JavaScript.
    • Provides great extensions and plugins for JavaScript development.

Installation Steps

  1. Node.js:
    • Download and install Node.js (check version after installation using node --version).
    • NPM (Node Package Manager) is included with Node.js.
  2. Visual Studio Code:
    • Download Visual Studio Code (community version for Windows recommended).

Installing and Setting Up Playwright

Create a New Project

  1. Open VS Code and create a new folder (e.g., playwright-demo).
  2. Open the terminal in VS Code.
  3. Run the command to initialize Playwright:
    npm init playwright@latest
  4. Follow prompts for project setup (TypeScript or JavaScript selection).
  5. Optionally, install Playwright browsers during setup.

Project Structure

  • Default project structure includes:
    • node_modules: Contains necessary libraries.
    • tests: Folder for test cases.
    • package.json: Configuration file for the project.
    • Example spec files (test cases).

Writing Tests with Playwright

  • Tests can be written using the test and expect methods from Playwright.
  • Example of a simple test: test('should navigate to playwright.dev', async ({ page }) => { await page.goto('https://playwright.dev'); });

Running Tests

  • Run tests using the terminal command:
    npx playwright test
  • For headless mode (default), no browser UI will display.
  • To see the browser UI, add --headed flag: npx playwright test --headed

Generating Test Reports

  • Playwright generates test reports upon completion.
  • Access reports via command:
    npx playwright show-report
  • Reports include details about passed and failed tests.

Advanced Configuration

  • Playwright supports running tests in parallel across different browsers.
  • Configuration can be managed in the playwright.config.ts file for:
    • Specifying browsers (Chromium, Firefox, WebKit).
    • Setting test directory paths.
    • Configuring parallel execution, timeouts, retries, etc.

Conclusion

  • This series will cover extensive topics on Playwright.
  • Future lessons will include:
    • Designing end-to-end testing frameworks.
    • Real-time examples and advanced features of Playwright.
  • Encourage viewers to improve their JavaScript skills for a smoother learning experience.

Thank you for watching! Subscribe for more content on Playwright and automation testing.