Manual Test Creation
This guide explains how to manually create and edit test steps using the TrueAssert web interface.
Overview
Manual test creation allows you to:
Create tests step-by-step without recording or AI
Edit existing tests (recorded or AI-generated)
Add, modify, or delete test steps
Reorder steps using drag-and-drop
Fine-tune selectors and values
When to Use Manual Creation
Use manual creation when:
You need precise control over test steps
You want to edit recorded or AI-generated tests
You're creating simple, straightforward tests
You need to fix or improve existing tests
Creating a Test Manually
Step 1: Create Test
Go to Create Test page or click "Create Test"
Fill in basic test information:
Test Name: Name for your test
Target URL: Starting URL (optional for manual creation)
AI Prompt: Can be left empty for manual creation
Click "Create Test"
You're redirected to test detail page
Step 2: Add Test Steps
On the test detail page:
Click "Add Step" button
A new row appears in the steps table
Fill in step details:
Action Type: Select from dropdown (CLICK, FILL, GOTO, WAIT, etc.)
Selector Type: XPATH or CSS
Selector: XPath or CSS selector
Value: Input value (for FILL actions)
Description: Human-readable description
Click "Save" to add the step
Step 3: Continue Adding Steps
Repeat step 2 for each test step:
Steps are numbered automatically
Order determines execution sequence
You can add as many steps as needed
Step 4: Review and Execute
Review all steps
Verify selectors and values are correct
Click "Run Test" to execute
Editing Test Steps
Edit Existing Step
Find the step in the steps table
Click "Edit" button (pencil icon)
Modify step fields:
Action type
Selector type
Selector
Value
Description
Click "Save" to update
Delete Step
Find the step in the steps table
Click "Delete" button (trash icon)
Confirm deletion
Step is removed and remaining steps are renumbered
Reorder Steps
Use drag-and-drop on step rows
Drag step to new position
Drop to reorder
Steps are automatically renumbered
Test version increments
Available Action Types
GOTO
Navigate to a URL.
Fields:
Selector: Not needed (empty)
Value: URL to navigate to
Description: "Navigate to [URL]"
Example:
Action: GOTO
Value: https://example.com/login
Description: "Navigate to login page"
CLICK
Click an element.
Fields:
Selector: XPath or CSS selector for element
Value: Not needed (empty)
Description: "Click [element description]"
Example:
Action: CLICK
Selector:
//button[@id='submit']Description: "Click submit button"
FILL
Fill a form field with a value.
Fields:
Selector: XPath or CSS selector for input field
Value: Text to fill
Description: "Fill [value] in [field]"
Example:
Action: FILL
Selector:
//input[@name='username']Value:
testuserDescription: "Fill username field"
WAIT
Wait for an element to appear.
Fields:
Selector: XPath or CSS selector for element to wait for
Value: Not needed (empty)
Description: "Wait for [element]"
Example:
Action: WAIT
Selector:
//div[@id='loading']Description: "Wait for loading to complete"
SCROLL
Scroll the page.
Fields:
Selector: Not needed (empty)
Value: Scroll direction or amount
Description: "Scroll [direction]"
PRESS
Press a keyboard key.
Fields:
Selector: Not needed (empty)
Value: Key to press (e.g., "Enter", "Escape")
Description: "Press [key]"
Selector Types
XPath Selectors
Format: XPath expression
Examples:
//button[@id='submit']- Button with ID//input[@name='email']- Input with name attribute//div[contains(@class, 'container')]- Div with class//a[text()='Login']- Link with text
When to Use:
More robust than CSS
Better for complex DOM structures
Recommended for most cases
CSS Selectors
Format: CSS selector syntax
Examples:
#submit- Element with ID.button-primary- Element with classinput[name='email']- Input with namediv.container > button- Child selector
When to Use:
Simple, straightforward selectors
When XPath is overkill
Familiar CSS syntax
Step Management
Adding Steps
Click "Add Step" button
New row appears at bottom of table
Fill in step details
Click "Save" to add
Automatic Features:
Step order is calculated automatically
Test version increments
Previous executions marked as outdated
Editing Steps
Click "Edit" button on step row
Modify fields inline
Click "Save" to update
What Updates:
Step fields (action, selector, value, description)
Test version increments
Previous executions invalidated
Deleting Steps
Click "Delete" button on step row
Confirm deletion
Step is removed
What Happens:
Step is deleted from database
Remaining steps are renumbered
Test version increments
Previous executions invalidated
Reordering Steps
Drag step row to new position
Drop to reorder
Steps automatically renumbered
What Happens:
Step order updated in database
Test version increments
Previous executions invalidated
Test Version System
How Versions Work
Test version starts at 1
Version increments when:
Steps are added
Steps are edited
Steps are deleted
Steps are reordered
Version and Executions
Executions store the test version they used
Old executions show "version mismatch" if test was modified
New executions use current test version
Version mismatch doesn't affect execution, just indicates test changed
Best Practices
Step Organization
Logical Order: Arrange steps in execution order
Clear Descriptions: Use descriptive step descriptions
Stable Selectors: Use IDs or data-testid when possible
Complete Flows: Include all necessary steps
Selector Quality
Prefer XPath: More robust for complex pages
Use IDs: Best selectors when available
Avoid Classes: CSS classes change frequently
Test Selectors: Verify selectors work before saving
Step Descriptions
Be Descriptive: "Click login button" not "Click"
Include Context: "Fill username in login form"
Action + Target: "Wait for dashboard to load"
Clear Intent: Make purpose obvious
Editing Workflow
Review First: Review all steps before editing
Edit Carefully: Small changes can have big impact
Test After Edits: Run test after making changes
Version Awareness: Understand version increments
Common Workflows
Creating a Simple Test
Create test with name and target URL
Add GOTO step (navigate to starting page)
Add CLICK steps (interact with page)
Add FILL steps (fill forms)
Add WAIT steps (wait for elements)
Review and run
Editing Recorded Test
Record test using browser plugin
Review generated steps
Edit incorrect selectors
Add missing steps
Remove unnecessary steps
Reorder if needed
Fixing Failed Test
Run test and identify failed step
Check error message
Edit failed step (fix selector or value)
Add WAIT step if timing issue
Re-run test to verify fix
Troubleshooting
Can't Add Step
Problem: Add Step button doesn't work.
Solutions:
Refresh page
Check browser console for errors
Verify you have edit permissions
Check test status (must not be ARCHIVED)
Can't Edit Step
Problem: Edit button doesn't work.
Solutions:
Verify you have edit permissions
Check test belongs to your organization
Refresh page and try again
Steps Not Saving
Problem: Changes not persisting.
Solutions:
Check network tab for errors
Verify CSRF token is valid
Check server logs for errors
Try refreshing and editing again
Reordering Not Working
Problem: Drag-and-drop doesn't work.
Solutions:
Check JavaScript is enabled
Verify drag-and-drop library loaded
Try refreshing page
Check browser console for errors
Related Topics
Browser Plugin Recording - Record then edit
AI Test Generation - Generate then edit
Understanding XPath Selectors - Selector guide
Running Tests - Execute your tests
Last updated