PlayForge
← Course

Welcome

What PlayForge is, how to use it, setting up your laptop, and asking the AI tutor.

13m read13m in total

Chapter film (about 6m) is coming. The written chapter below is complete.

Checkpoint 1

Start Here: What This Course Is and the Order It Goes In

Start here if you have never written code. This course was built for manual testers. You already know the hard half of automation: what to test, where applications break, and what a good bug report looks like. What you don't have yet is the other half, telling a computer to do those checks for you. That is the half this course teaches, one small step at a time.

Three names you will see everywhere. JavaScript is the language you write tests in. Think of it as the language your test steps are written in, except a computer reads them instead of a person. Node.js (usually just "Node") is the program that runs JavaScript on your laptop. Before Node, JavaScript only ran inside a browser. Playwright is a tool, written for Node, that opens a real browser and clicks, types and checks things the way you do by hand, only faster, and the same way every time.

So the order is: learn enough JavaScript to write instructions (Act I), learn Playwright to point those instructions at a browser (Act II), then learn to build, organise and judge a whole test suite (Acts III to V). Act I is almost all plain JavaScript, on purpose; Playwright only appears in a few examples near its end. Every Playwright test you will ever read is JavaScript, and a tester who can't read the language can't tell a good test from one that only looks good.

Where this course ends up. Writing a test is no longer the hard part: AI tools write them in seconds, and many of those tests look right and check nothing. The tester a team needs now is the one who can say which checks are worth automating, how to organise a suite that a whole team shares, and whether a test someone else (or something else) wrote actually catches the bug. Acts IV and V teach exactly that. Everything before them is the groundwork that makes that judgement possible.

What this welcome module covers. Four short lessons, before chapter 1:

  1. This one: what the course is and the order it goes in.
  2. How to use PlayForge: chapter pages, the Run box, marking progress, and the practice drills.
  3. Set up your machine: installing Node.js and VS Code, and running a file from the terminal.
  4. Ask the AI tutor: how to get unstuck, and what the tutor will and won't do.

Press Run on the box below. Then change the name and run it again. That is your first program. The next lesson shows you around the rest of PlayForge.

javascript
// Lines starting with // are comments: notes for people, ignored by the computer. // console.log prints whatever you give it. Press Run. const tester = 'Asha'; console.log('Hello,', tester); // The computer can do arithmetic too. Change these numbers and run it again. const testCases = 40; const passed = 37; console.log('Failed today:', testCases - passed);

Sign in to track your progress

Checkpoint 2

How to Use PlayForge: Lessons, the Run Box, Progress and Practice

In plain English. PlayForge is a course and a practice ground in one place. You read a short lesson, run its code right on the page, tick it off, and then practise against an app built to be awkward to test. This lesson shows you where each of those lives, so the screen never gets in the way of the learning.

The course map. The course is five acts, each a group of chapters: the language, Playwright itself, the craft of building a suite, deciding what to automate, and reviewing tests in the AI era. Once you are signed in, Course in the top menu takes you to your progress page: the five acts with a progress bar for each chapter, and a Start the course button. After your first lesson that button becomes Resume, and it takes you to the first lesson you have not finished.

A chapter is one page. Open any chapter and you will see, from the top:

  • The title and a time estimate: how long the reading takes, how long the practice takes, and the total.
  • The chapter film. Each chapter gets a short video. Until it is recorded, a line says so; the written chapter is always complete on its own.
  • The checkpoints. A checkpoint is one lesson. The numbered list near the top jumps straight to any of them. Then the lessons follow one after another down the page, so you can scroll through the whole chapter or come back to the one you need.

Inside a lesson. Each lesson opens with an In plain English paragraph, like the one at the top of this page. On a first read, that paragraph and the code are enough. The denser text after it is reference, and it becomes easier as the words become familiar. Then comes a code box, and its top bar tells you what kind it is:

  • A javascript box with a Run button runs right here in your browser. Press Run and the output appears underneath. Change a value and run it again. Breaking it on purpose is one of the fastest ways to learn what each line does.
  • A box marked terminal holds commands for you to type into the terminal on your own laptop. It has no Run button, because the browser can't run them for you. The Set up your machine lesson gets you ready for these.
  • A box marked runs against a real browser is a Playwright test. It needs Playwright installed on your machine, which chapter 6 walks you through. Until then, read it like a worked example.

Mark it complete. At the end of every lesson there is a Mark complete button. Press it when you have read the lesson and run its code. It turns into Completed; press it again if you want to un-mark it. This is what moves your progress bar and what the Resume button uses to find your place. You need to be signed in for progress to save. Signed out, you can still read the free chapters, but nothing is remembered.

Practice. Reading it is not knowing it, so most chapters end with a Practice box. Open practice takes you to the exercises for that chapter, and Practice in the top menu shows every exercise you can open:

  • Locator drills: write a locator (the instruction that finds an element on a page) that selects exactly the highlighted elements.
  • Fix the test: one line of a test is wrong. Find it, then repair it.
  • Predict the outcome: say what a test will do before it runs, and why.
  • The Playground: a sandbox where nothing is scored. Try any Playwright command and see what it does.

The drills run against Meridian Ops, a practice app that looks like a real operations dashboard and is built on purpose to fight you, with the awkward pages real applications have. A drill you solved more than a week ago comes back under Due for review, because getting it right again, cold, is the part that sticks.

Free and paid. You sign in with GitHub or with your email address (we send you a link or a code); no card is needed. A free account opens this module, chapters 1, 2 and 6 in full, and a set of drills, with no expiry. The pricing section on the home page lists exactly what each plan adds. When a chapter is part of a paid plan, you still see its list of lessons, so you always know what is in it.

A rhythm that works. One or two lessons a sitting, every day, beats a whole chapter on a Sunday. Read the plain-English paragraph, run the code, change something and run it again, then mark it complete. At the end of a chapter, do its drills before you move on.

The box below is here to practise using the Run button. Press Run. Then delete the last ) on the console.log line and press Run again. The red text is an error message: the computer telling you exactly what it could not understand. Reading those calmly is a skill this course teaches from the first chapter. Put the ) back and run it once more.

javascript
// This box is for practising the Run button. // Press Run. Then delete the last ) on the console.log line and press Run again. const lessonsToday = 2; const minutesEach = 15; console.log('Minutes of study today:', lessonsToday * minutesEach);

Sign in to track your progress

Checkpoint 3

Set Up Your Machine: Node.js, VS Code and the Terminal

What you are about to do. Install two programs, Node.js and VS Code, open a terminal, and run a JavaScript file you wrote yourself. It takes about twenty minutes, and you do it once. Every Playwright lesson later in the course assumes it is done.

1. Install Node.js. Go to nodejs.org and download the version marked LTS ("long-term support", the stable one). Run the installer and accept the defaults. Node comes with npm, the tool that downloads libraries such as Playwright.

2. Install VS Code. Go to code.visualstudio.com, download it and install it. VS Code is the editor you will write tests in. It is free, and it is what most Playwright teams use.

3. Open a terminal. A terminal is a window where you type commands instead of clicking. On Windows, open the Start menu, type PowerShell and open it. On a Mac, open Terminal from Applications → Utilities. You can also use the terminal built into VS Code: menu Terminal → New Terminal.

4. Check the install. Type each command below and press Enter:

node -v npm -v

Each prints a version number, such as v24.11.0. This course needs Node v20 or newer. If you see "node is not recognized" or "command not found", close the terminal and open a new one: a terminal only sees programs that were installed before it opened. If it still fails, restart your laptop.

5. Five commands you will use constantly:

CommandWhat it does
pwdShows which folder you are in (in Command Prompt, type cd on its own)
ls (in Command Prompt, dir)Lists what is in this folder
mkdir playforgeMakes a new folder called playforge
cd playforgeMoves into that folder. cd .. moves back up one level
node hello.jsRuns the JavaScript file hello.js

6. Run your first file. In the terminal, run mkdir playforge and then cd playforge. Then run code . (the dot means "this folder") to open the folder in VS Code. If code is not recognized, open VS Code yourself and use File → Open Folder. In VS Code choose File → New File, type one line, console.log('Hello from my own laptop!');, and save it as hello.js: exactly that name, because Notepad tends to save it as hello.js.txt, which won't run. Then go back to the terminal and run node hello.js. Your message appears. You have written and run a program on your own machine.

The box below has every command from this lesson in order, so you can copy them from one place.

Common problems on a work laptop.

  • "running scripts is disabled on this system" in PowerShell means a Windows security setting is blocking npm's helper scripts. Run Set-ExecutionPolicy -Scope CurrentUser RemoteSigned, answer Y, and try again. If your company blocks that, use Command Prompt (cmd) instead of PowerShell. Everything works there except pwd and ls; use cd and dir instead, as the table above shows.
  • Error: Cannot find module ...hello.js means the terminal is in a different folder from the file. Run pwd (or cd in Command Prompt) to see where you are, then cd into the folder that holds hello.js.
  • No admin rights to install Node? Ask IT for "Node.js LTS". It is a standard developer tool and most companies already have an approved package.
  • npm hangs or fails with a network error at the office usually means a corporate proxy. Ask a developer on your team for the npm proxy setting, or try from home.
terminalrun this in your terminal
# Type these in your terminal one at a time (the # lines are notes; don't type them). # 1. Check Node and npm are installed: node -v npm -v # 2. Make a folder for the course and move into it: mkdir playforge cd playforge # 3. Create hello.js in VS Code with this one line, then save it: # console.log('Hello from my own laptop!'); # 4. Run it: node hello.js

Sign in to track your progress

Checkpoint 4

Ask the AI Tutor: Getting Unstuck Without Being Given the Answer

In plain English. Every chapter page has an AI tutor you can ask questions in your own words, the way you would ask a senior colleague. It looks up the lessons in this course that match your question and answers from them first, so its explanation uses the same words and examples you have been reading. On a practice drill it changes role: it gives you hints and never the answer.

Where it is. Look for the Ask the AI tutor button in the bottom-right corner of a chapter page. On a drill it reads Stuck? Ask the AI tutor. You need to be signed in; signed out, the same corner says Sign in to ask the AI tutor. Press Esc or the ✕ to close the panel. On a wide screen the page moves aside so you can read the lesson and the answer together.

Start with a suggestion, or type your own. When the panel opens it offers a few starting questions, such as Explain followed by the name of a lesson in this chapter, or What should I practise after this chapter? Press one, or type your own question in the box (up to 500 characters) and press Ask. The tutor knows which chapter you have open, so "what does this line do?" works better here than in a general chatbot.

Reading an answer. An answer comes in up to three parts:

  • The course part, first. The explanation from this course's own lessons. Above it, Explained from names the chapter it came from.
  • More generally. Sometimes the tutor adds a general explanation that goes beyond the course. That part is labelled General explanation, not from the course. Check the official docs., and you should treat it that way.
  • Links. Under Course lessons are the lessons the answer used: press one to jump to it. Practice this lists drills on the same topic.

Follow-up questions. The tutor remembers your last two questions in the panel, so "and what if the list is empty?" works as a follow-up. When you change topic, press New chat so the old conversation doesn't steer the new answer.

On a drill, it gives hints, not answers. Working a drill out yourself is what makes it stick, so on a drill page the tutor only hints. Its starting questions there are What is this drill testing? and Give me a hint. Once you have typed an attempt, a third one appears: Why is my attempt wrong?, which sends your attempt along with the question.

How to ask a good question. The tutor can only work with what you give it. Compare:

  • "It's not working." It can't tell what "it" is.
  • "I ran the code in the Variables lesson and got TypeError: Assignment to constant variable. What does that mean, and how do I fix it?" It knows which lesson, what you did and what happened.

So: name the lesson or paste the line, copy the exact error message, and ask one thing at a time. If an answer is too dense, ask again with "explain this like I am new to coding". That is a perfectly good question here.

What it is, and what it is not. The tutor is a general AI model (Google's Gemini). With each question we send it the matching lessons from this course, and it is told to answer from those first. That makes it good at explaining the course, but it can still be wrong, like any AI tool. So treat an answer the way you would treat a colleague's suggestion: run the code and see. Checking what an AI tells you is the main skill of Act V, and this is a good place to start practising it. Never paste passwords, real customer data or your company's private code into it.

How many questions you get. Under the question box you can see your daily allowance and how many you have used. A free account gets 3 questions a day; paid plans get more. When you reach the limit, the panel tells you when the tutor is back.

The code box below has a mistake in it on purpose. Press Run and read the red error message. Then open the tutor, copy the error into your question, and ask what it means. Compare its answer with what you can work out yourself, then fix the line and run it again.

javascript
// This code has a mistake on purpose. Press Run and read the error. // Then ask the AI tutor: "I ran this and got <paste the error>. What does it mean?" const passed = 37; const failed = 3; console.log('Passed:', pased, 'Failed:', failed);

Sign in to track your progress