Quick Start
In this guide, you will create your first automated test in QANode in just a few minutes. We will create a simple web test that navigates to a page, fills out a form, and verifies the result.
Step 1: Create a Project
- In the side menu, click Projects
- Click the + New Project button
- Fill in:
- Name:
My First Project - Status: Active
- Name:
- Click Create
Image: Project creation modal with name and status fields
Step 2: Create a Flow (Test Scenario)
- Inside the project, click the Scenarios tab
- Click + New Scenario
- Enter the name:
Successful Login - You will be taken to the Flow Editor
Image: Flow editor with an empty canvas and the node palette on the left
Step 3: Add Nodes
Adding a Web Flow Node
- In the node palette on the left, locate the Web category
- Drag the Smart Locators node onto the canvas
- Click the node to open the properties panel on the right
Configuring the Steps
We will use the practice site the-internet.herokuapp.com, a public page built for automation testing. The page itself displays the credentials: username tomsmith and password SuperSecretPassword!.
In the properties panel, configure the following steps:
Step 1: Navigate to the login page
- Click + Add Step
- Select the Navigate action
- In the URL field, enter:
https://the-internet.herokuapp.com/login
Step 2: Fill in the username field
- Click + Add Step
- Select the Fill action
- Configure the locator:
- Method:
getByLabel - Value:
Username
- Method:
- In the Text field, enter:
tomsmith
Step 3: Fill in the password
- Click + Add Step
- Select the Fill action
- Configure the locator:
- Method:
getByLabel - Value:
Password
- Method:
- In the Text field, enter:
SuperSecretPassword!
Step 4: Click the login button
- Click + Add Step
- Select the Click action
- Configure the locator:
- Method:
getByRole - Value:
button - Name:
Login
- Method:
Step 5: Verify the result
- Click + Add Step
- Select the Assert action
- Configure:
- Mode:
textContains - Locator:
getByText→You logged into a secure area! - Expected Text:
You logged into a secure area!
- Mode:
Image: Smart Locators properties panel with 5 configured steps
Step 4: Save and Run
- Click the Save button (disk icon) in the top bar
- Click the Run button (play icon) ▶️
QANode will:
- Open a browser (headless mode by default)
- Navigate to
https://the-internet.herokuapp.com/login - Fill in the Username field with
tomsmith - Fill in the Password field with
SuperSecretPassword! - Click the Login button
- Verify that the message
You logged into a secure area!appears on the page
Execution Result
After execution, each step will show its status:
- ✅ Green: Step executed successfully
- ❌ Red: Step failed
- ⏭️ Gray: Step not executed (skipped)
Image: Editor showing nodes with success/failure indicators and the results panel
Click on any node to see details:
- Logs: Messages from each executed step
- Outputs: Extracted data (texts, values, etc.)
- Screenshots: Screen captures (if configured)
- Duration: Execution time for each step
Step 5: Add Screenshots (Evidence)
To capture evidence during execution:
- Expand any step in the properties panel
- In the Evidence section, enable Capture Screenshot
- Select the mode:
- Before: Captures before executing the step
- After: Captures after executing the step
- Both: Captures before and after
Screenshots will be stored as execution artifacts and included in PDF reports.
Next Steps
Congratulations! You have created and run your first automated test. Now explore:
- Core Concepts — Better understand the QANode structure
- Flow Editor — Master the visual editor
- Node Reference — Learn about all available nodes
- Expressions — Use dynamic data in your tests
- Test Suites — Group and schedule your tests
API Example
Want to test an API? Here is a quick example using JSONPlaceholder, a free public REST API for testing:
- Drag an HTTP Request node onto the canvas
- Configure:
- Method:
GET - URL:
https://jsonplaceholder.typicode.com/users/1
- Method:
- Drag an If node and connect it to the HTTP Request output
- Configure the condition:
{{ steps["http-request"].outputs.status === 200 }} - On the true output, add a Log node with the message:
User found: {{ steps["http-request"].outputs.json.name }}
This flow makes a GET request to JSONPlaceholder and checks if the status is 200. If so, it displays the returned user's name (Leanne Graham).
