Course: Authoring with AI — 2. AI step writer: Draft review
Seventeen hands-on exercises on one rule of Write with AI: steps written by AI never go straight into a Ready test. The save that adds AI steps keeps the test a Draft. Marking it Ready is a second, separate save, made after a person has reviewed the steps.
Each exercise has:
- Goal: what you will see;
- Before you start: the preparation (always P1, sometimes more);
- Steps: Action, Expected result, and a box to tick;
- What happened: the explanation;
- Check yourself: a question to answer before moving on.
Preparation
Section titled “Preparation”P1: Accounts and a suite
Section titled “P1: Accounts and a suite”You need three people in the same project. An Admin can set them up in People and roles.
| Account | Role | Can use Write with AI | Can mark tests Ready |
|---|---|---|---|
| User A | Admin or Test Manager | yes | yes |
| User B | Test Developer | yes | no |
| User C | Tester | no | no |
Also make sure that:
- a suite exists, for example Purchasing (Suites);
- the organization has AI allowance left. The Write with AI dialog shows it at the bottom.
P2: The description to paste
Section titled “P2: The description to paste”Use this text whenever an exercise says paste the description:
Open the login pageType admin in the Username fieldType secret in the Password fieldClick the Sign in buttonCheck that the text Welcome is shownWhere things are in the editor
Section titled “Where things are in the editor”- Status dropdown in the top toolbar: Draft, Ready, Deprecated.
- Save in the top toolbar (or Ctrl+S). It is enabled only when there are unsaved changes.
- Under the test name: Unsaved changes, or Saved · vN · N steps.
- Write with AI (wand icon) above the step list.
- The History tab (clock icon) and the DSL tab (code icon).
The refusal message. Whenever an exercise expects the save to be refused, a red toast shows:
This save adds steps written by AI. Save the test as a Draft first and review the steps; then mark it Ready.
Module 1: The rule
Section titled “Module 1: The rule”Exercise 1: AI steps save as a Draft
Section titled “Exercise 1: AI steps save as a Draft”Goal: add AI steps to a new test and save it the normal way.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | Tests → New test | Dialog New test | |
| 2 | Name AI-01 Login; Suite Purchasing; create it |
The editor opens. Status Draft, no steps | |
| 3 | Write with AI | Dialog Write steps in plain language | |
| 4 | Paste the description into Describe the test; Generate steps | Writing steps…, then a list of steps, each showing the phrase it came from | |
| 5 | Leave every step ticked; Add 5 steps (the number may differ) | The dialog closes. The steps are in the list. Unsaved changes | |
| 6 | Leave Status Draft; Save | Toast Saved v1; Saved · v1 · 5 steps; Status Draft | |
| 7 | History | v1 is listed as Draft, Edited · with AI-written steps |
What happened: the AI only suggests steps. Nothing is stored until you save, and the first save is a Draft, the version that is still being worked on.
Check yourself: at step 5, was anything stored on the server yet?
Exercise 2: Ready in the same save is refused
Section titled “Exercise 2: Ready in the same save is refused”Goal: see that AI steps cannot be marked Ready in the save that adds them, even by an approver.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-02 Blocked, suite Purchasing |
Status Draft | |
| 2 | Write with AI → paste → Generate steps → Add N steps | The steps are in the list. Unsaved changes | |
| 3 | Do not save. Status → Ready | The dropdown shows Ready | |
| 4 | Save | Red toast with the refusal message | |
| 5 | Look under the test name | Still Unsaved changes: nothing was saved | |
| 6 | Reload the page (F5); choose Leave if the browser asks | The test is Draft with no steps | |
| 7 | History | No version is marked Ready |
What happened: the server recognizes the steps the AI just wrote. However they reach a save, it refuses to let them go straight to Ready. User A is an Admin or Test Manager, and the rule still applies: it holds for everyone.
Check yourself: why does the rule apply to approvers too?
Exercise 3: Draft first, then Ready
Section titled “Exercise 3: Draft first, then Ready”Goal: take AI steps to Ready the right way.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | Repeat Exercise 2, steps 1-4 | Red toast with the refusal message | |
| 2 | Status → Draft; Save | Toast Saved vN; Status Draft | |
| 3 | Review the steps: click each one and check it in the properties panel on the right | — | |
| 4 | Status → Ready; Save | Toast vN is Ready — create a new revision to change it | |
| 5 | Look at the editor | The steps are read-only. Save is replaced by New revision. Write with AI is gone | |
| 6 | History | Newest entry: vN marked Ready |
What happened: the Draft save stores the AI steps as part of the test. From then on they are treated like any other step, and the next save can mark the test Ready. The two saves make sure someone looks at the steps before they are used.
Check yourself: what should you do between the two saves?
Exercise 4: Deprecated is refused too
Section titled “Exercise 4: Deprecated is refused too”Goal: see that the rule covers every status except Draft.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-04 Deprecated; add AI steps; do not save |
Unsaved changes | |
| 2 | Status → Deprecated; Save | Red toast with the refusal message; the test stays Draft |
What happened: Ready and Deprecated both freeze the version. Unreviewed AI steps must not be frozen into either one.
Check yourself: which is the only status the first save after adding AI steps can have?
Module 2: Ready tests and new revisions
Section titled “Module 2: Ready tests and new revisions”Exercise 5: AI steps in a Ready test
Section titled “Exercise 5: AI steps in a Ready test”Goal: add AI steps to a test that is already Ready, without touching the Ready version.
Before you start: Exercise 3 (its test is Ready). Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | Open the Ready test from Exercise 3 | Read-only; no Write with AI; the toolbar shows New revision | |
| 2 | New revision | Toast Started v(N+1) as a draft; Status Draft; Write with AI appears | |
| 3 | Write with AI → generate → add; Status → Ready; Save | Red toast with the refusal message | |
| 4 | History | The previous version is still the latest Ready one | |
| 5 | Status → Draft; Save; then Status → Ready; Save | Saved v(N+1), then v(N+1) is Ready… |
What happened: a Ready version is never edited. A new revision starts as a Draft copy. While you work on it, the Ready version stays the one in use. The AI version replaces it only after its own Draft save and a separate Ready save.
Check yourself: during step 3, which version of the test would a run of its suite use?
Module 3: What counts as an AI step
Section titled “Module 3: What counts as an AI step”Exercise 6: Only the steps you add count
Section titled “Exercise 6: Only the steps you add count”Goal: see that unticked steps play no part.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-06; Write with AI → paste → Generate steps |
Every step is ticked | |
| 2 | Untick 2 steps | The button reads Add 3 steps | |
| 3 | Add 3 steps | Only the ticked steps are added | |
| 4 | Status → Ready; Save | Red toast with the refusal message | |
| 5 | Draft + Save, then Ready + Save | Both saves succeed |
What happened: only steps that are in the test are checked. The unticked suggestions were never added.
Check yourself: if you had unticked every step, could you have added any?
Exercise 7: Regenerate
Section titled “Exercise 7: Regenerate”Goal: see that a new set of suggestions is held to the same rule.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-07; Write with AI → paste → Generate steps |
Steps shown | |
| 2 | Change a word in the description; Regenerate; Add N steps | The new set is added | |
| 3 | Status → Ready; Save | Red toast with the refusal message |
What happened: every generation is recorded as AI-written, not only the first.
Check yourself: does regenerating many times change what you must do before Ready?
Exercise 8: Editing or moving an AI step
Section titled “Exercise 8: Editing or moving an AI step”Goal: see that changing an AI step does not make it count as written by hand.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-08; add AI steps; do not save |
Unsaved changes | |
| 2 | Click one AI step; change its label and its target or value in the properties panel | The changes show | |
| 3 | Drag another AI step to a new position | The order changes | |
| 4 | Status → Ready; Save | Red toast with the refusal message |
What happened: an AI step stays an AI step until a Draft save. Editing it is part of the review, but the review must still end in a Draft save.
Check yourself: why shouldn’t editing a step count as reviewing it?
Exercise 9: Steps written by hand
Section titled “Exercise 9: Steps written by hand”Goal: see that the rule leaves manual steps alone.
Before you start: P1. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-09 Manual |
Draft, no steps | |
| 2 | Add step: add a Navigate and a Click step with valid values. Do not use Write with AI | 2 steps; Unsaved changes | |
| 3 | Status → Ready; Save | Toast vN is Ready…. One save is enough |
What happened: a person wrote these steps, so they can go to Ready in one save, as always.
Check yourself: what makes this exercise different from Exercise 2?
Exercise 10: AI and manual steps together
Section titled “Exercise 10: AI and manual steps together”Goal: see that one AI step is enough to require the Draft save.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-10; Add step twice, by hand |
2 steps | |
| 2 | Write with AI; add 2 steps | 4 steps | |
| 3 | Status → Ready; Save | Red toast with the refusal message |
What happened: the rule applies to the save as a whole. Any AI step in it means a Draft save first.
Check yourself: how many AI steps does it take to require the Draft save?
Exercise 11: Delete an AI step and write it again
Section titled “Exercise 11: Delete an AI step and write it again”Goal: see that a step you write yourself is yours, even if it does the same thing.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-11; Write with AI; untick all but one step; Add 1 step |
1 step | |
| 2 | Select the step and delete it | No steps | |
| 3 | Add step: create the same action by hand | 1 step | |
| 4 | Status → Ready; Save | Toast vN is Ready… |
What happened: the step from step 3 is new, and you wrote it, so it counts as written by hand. This is expected, not a bug.
Check yourself: compare with Exercise 8. Why is editing different from deleting and retyping?
Exercise 12: A failed save does not count
Section titled “Exercise 12: A failed save does not count”Goal: see that only a successful Draft save clears the AI steps for Ready.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-12; add AI steps |
Unsaved changes | |
| 2 | Select an AI step and clear a required field (for example its target or URL) so the step shows an error. Keep Draft; Save | Red toast Cannot save: N error(s). Nothing saved | |
| 3 | Fix the field; Status → Ready; Save | Red toast with the refusal message | |
| 4 | Draft + Save, then Ready + Save | Both saves succeed |
What happened: the save in step 2 was refused, so the steps were never stored as part of the test. They still need their Draft save.
Check yourself: after step 2, how many versions does History show for this test?
Module 4: Roles
Section titled “Module 4: Roles”Exercise 13: A Test Developer writes, an approver marks Ready
Section titled “Exercise 13: A Test Developer writes, an approver marks Ready”Goal: split the work between someone who writes tests and someone who approves them.
Before you start: P1, P2. Sign in as User B.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-13 Dev |
The editor opens | |
| 2 | Look at the Status dropdown | Greyed out: User B cannot choose Ready | |
| 3 | Write with AI → add the steps → Save | Saved v1, Draft | |
| 4 | Sign out; sign in as User A; open AI-13 Dev |
Draft, with the AI steps | |
| 5 | Status → Ready; Save | Toast v1 is Ready… |
What happened: User B’s Draft save already counts. User A reviews the steps and makes the Ready save. Writing and approving are separate steps, often done by different people.
Check yourself: who could have saved this test as Ready at step 3?
Exercise 14: A Tester has no Write with AI
Section titled “Exercise 14: A Tester has no Write with AI”Goal: see who can use the AI step writer.
Before you start: P1. Sign in as User C.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | Create or open a Draft test that User C owns | The editor opens | |
| 2 | Look above the step list | No Write with AI button |
What happened: AI generation uses the organization’s allowance, so only authoring roles (Test Developer, Test Manager, Admin) can use it. See People and roles.
Check yourself: which role is the lowest one that can use Write with AI?
Module 5: Reload, duplicate and import
Section titled “Module 5: Reload, duplicate and import”Exercise 15: Ready after a reload
Section titled “Exercise 15: Ready after a reload”Goal: see that the Draft save is remembered across sessions.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-15; add AI steps; Status Draft; Save |
Saved v1 | |
| 2 | Reload the page (F5) | The steps are still there; Draft | |
| 3 | Status → Ready; Save | Toast v1 is Ready… |
What happened: the Draft save is stored on the server, not in your browser. You can review the steps later, or on another day.
Check yourself: could another approver have done step 3 instead of you?
Exercise 16: Duplicate
Section titled “Exercise 16: Duplicate”Goal: see what a copy carries over.
Before you start: P1, P2. Sign in as User A.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-16; add AI steps; Draft + Save |
Saved v1 | |
| 2 | Write with AI again; add more steps; do not save | Unsaved changes | |
| 3 | Duplicate | Toast Created “…” as a draft from the saved version; the copy opens as Draft | |
| 4 | In the copy: Status → Ready; Save | Toast … is Ready… |
What happened: a copy is always a Draft, and it is made from the saved version. The steps from step 2 were never saved, so they are not in the copy. The steps that are in it already had their Draft save in step 1.
Check yourself: which of the AI steps from step 2 ended up in the copy?
Exercise 17: Import
Section titled “Exercise 17: Import”Goal: see that importing a test file is held to the same rule.
Before you start: P1, P2. Sign in as User A. Do steps 1-4 without saving AI-17.
| # | Action | Expected result | ✓ |
|---|---|---|---|
| 1 | New test AI-17; add AI steps; do not save |
Unsaved changes | |
| 2 | DSL tab → Copy | Toast DSL copied | |
| 3 | Paste into a text editor. Set "status": "ready" (add the line if it is missing) and "name": "AI-17 Import". Save as ai17.json |
— | |
| 4 | Tests → Import; choose ai17.json |
Red toast with the refusal message; no AI-17 Import in the list |
|
| 5 | Change the file to "status": "draft"; import it again |
Toast Imported “AI-17 Import” as v1; Draft | |
| 6 | Open it; Status → Ready; Save | Toast v1 is Ready… |
What happened: an import is a save too. A file that contains unreviewed AI steps comes in as a Draft, and goes to Ready only in a later save.
Check yourself: why can a file not simply claim it is Ready?
Results
Section titled “Results”| Exercise | Title | ✓ | Notes |
|---|---|---|---|
| 1 | AI steps save as a Draft | ||
| 2 | Ready in the same save is refused | ||
| 3 | Draft first, then Ready | ||
| 4 | Deprecated is refused too | ||
| 5 | AI steps in a Ready test | ||
| 6 | Only the steps you add count | ||
| 7 | Regenerate | ||
| 8 | Editing or moving an AI step | ||
| 9 | Steps written by hand | ||
| 10 | AI and manual steps together | ||
| 11 | Delete an AI step and write it again | ||
| 12 | A failed save does not count | ||
| 13 | A Test Developer writes, an approver marks Ready | ||
| 14 | A Tester has no Write with AI | ||
| 15 | Ready after a reload | ||
| 16 | Duplicate | ||
| 17 | Import |
See also
Section titled “See also”- Write with AI: how the step writer works and its limits
- Prompt guide: writing descriptions the AI converts well
- Test cases: Draft, Ready, Deprecated and revisions