Documentation
Everything you need to know about writing and running BDD tests with Runtrixy.
Overview
Runtrixy is a no-code BDD test automation platform. You write test scenarios in plain English (or 70+ other languages) using Gherkin syntax, and Runtrixy executes them automatically against web applications, REST APIs, and SQL databases.
WEB Testing
Browser automation with Selenium — navigate, click, type, assert elements using Page Objects.
REST Testing
HTTP API testing — send requests, validate status codes, headers, JSON response bodies.
SQL Testing
Database testing — execute queries, validate data, set up test fixtures.
How It Works
- Create a Project to organize your tests
- Configure your test targets (Web pages, APIs, databases)
- Write .feature files using Gherkin syntax in the Editor
- Run your tests and view results in real-time
Getting Started
Follow these steps to run your first test in under 5 minutes.
Create a Project
Go to Projects and click "New Project". Give it a name and optional description.
Configure Your Test Target
Depending on what you're testing:
- WEB Config — Add Page Objects with element selectors (CSS/XPath)
- REST Config — Add API environments with base URLs and variables
- SQL Config — Add database connections
Write a Feature File
Open the Editor and create a .feature file:
Feature: Login
Scenario: Successful login
Given I navigate to "https://myapp.com/login"
When I type "admin@test.com" into "emailInput"
And I type "password123" into "passwordInput"
And I click "loginButton"
Then I should see "Dashboard"The editor provides autocomplete — type after Given/When/Then to see all available steps.
Run Your Tests
Go to Runs and click "Run Tests". Watch real-time results with pass/fail status for each scenario and step.
Projects
A Project is your main workspace. Each project contains its own feature files, configurations, step definitions, and test runs.
Project Dashboard
- Editor — Write .feature files
- WEB Config — Page objects & selectors
- REST Config — API environments
- SQL Config — Database connections
- Steps — Step definitions catalog
- Runs — Execute & view results
- Schedules — Automated scheduling
Plan Limits
- • Maximum number of projects
- • Maximum users per organization
- • Monthly test run limit
Check your current usage in the Dashboard.
Feature Editor
The Editor is where you write your test scenarios using Gherkin syntax. It features a full code editor with syntax highlighting, autocomplete, and validation.
Autocomplete
Start typing after a Gherkin keyword to see suggestions:
- • Step patterns from predefined and custom steps
- • Page Object names and selectors (in quotes)
- • REST environment names and variables
- • Database connection names
- • Gherkin keywords and templates
Key Features
- • Ctrl/Cmd + S to save
- • File sidebar for multiple .feature files
- • Local mode or Git mode (commit & push)
- • Branch switching with Git
- • Diff view for changes
- • Test type detection (WEB/REST/SQL badges)
Gherkin Syntax Quick Reference
Feature: Feature name
Description of the feature
Background:
Given a common precondition for all scenarios
Scenario: Scenario name
Given a precondition
When an action is performed
Then the expected result
Scenario Outline: Parameterized test
Given I navigate to "<url>"
When I type "<user>" into "username"
Then I should see "<greeting>"
Examples:
| url | user | greeting |
| https://app.com | admin | Welcome back |
| https://app.com | guest | Hello guest |Tags: Use @WEB, @REST, @SQL for test types, or @smoke, @regression for categorization.
WEB Config — Page Objects & Selectors
Page Objects let you give meaningful names to web elements. Instead of writing raw selectors in your feature files, you use names like "loginButton" or "LoginPage.emailInput".
Create a Page Object
Give it a name (e.g. "LoginPage") and a base URL (e.g. "https://myapp.com/login").
The base URL is used when you write: Given I navigate to "LoginPage"
Add Selectors
For each element, add:
- Element Name — e.g. "emailInput", "loginButton"
- Selector Type — CSS or XPath
- Selector Value — e.g.
#email,//button[@type='submit']
Use in Feature Files
# Navigate using page name Given I navigate to "LoginPage" # Use element names directly When I type "admin@test.com" into "emailInput" And I click "loginButton" # Or use PageName.elementName format When I type "admin@test.com" into "LoginPage.emailInput" # Direct selectors also work When I click "#submit-btn" And I click "//button[@id='login']"
Tip
In the editor, type inside quotes (") to get autocomplete suggestions for your Page Object names and element selectors.
REST Config — API Environments
Define API environments with base URLs and reusable variables to test the same API against different environments.
Create an Environment
Give it a name (e.g. "Staging API") and a base URL (e.g. "https://api.staging.myapp.com").
Add Variables
Define reusable variables like API keys or tokens. Reference them with {{apiKey}}.
Use in Feature Files
Given I use environment "Staging API"
When I send GET request to "Staging API" "/users"
Then the response status should be 200
And the response body should contain "users"
When I set header "Authorization" to "Bearer {{apiKey}}"
And I send POST request to "Staging API" "/users"
Then the response status should be 201SQL Config — Database Connections
Connect to databases for data validation, test setup, and cleanup.
Add a Connection
Provide the database type (PostgreSQL, MySQL, etc.), host, port, database name, username, and password.
Use in Feature Files
Given I connect to database "TestDB"
When I execute query "SELECT count(*) FROM users WHERE active = true"
Then the query result should contain "5"
Given I execute update "DELETE FROM test_orders WHERE test_flag = true"
When I execute insert "INSERT INTO users (name, email) VALUES ('Test', 'test@test.com')"Step Definitions
Step definitions are the building blocks of your tests. Each line after Given/When/Then is matched to a step definition.
300+ Predefined Steps
- • WEB — Navigation, clicks, typing, assertions, waits, screenshots
- • REST — HTTP methods, headers, auth, response validation
- • SQL — Queries, inserts, updates, transactions
Browse all steps in the Steps page within your project.
Custom Steps (Composites)
Combine multiple steps into one reusable macro. Example: I login as {role} that navigates, types credentials, and clicks login.
Custom steps support parameters ({paramName}) that get replaced at runtime.
How Parameters Work
Step patterns use {paramName} as placeholders. In feature files, provide values in quotes:
# Pattern: I navigate to {url}
Given I navigate to "https://example.com"
# Pattern: I type {text} into {element}
When I type "hello@test.com" into "emailInput"
# Pattern: the response status should be {code}
Then the response status should be 200Test Runs
Execute all feature files and see real-time results.
Running Tests
- • Click "Run Tests" to start
- • All
.featurefiles are executed - • WEB tests use headless Chromium
- • Results update in real-time
- • Each scenario shows pass/fail with duration
- • Failed steps include error messages and screenshots
Run Details & Reports
- • Scenario and step-level results
- • Screenshots for failed WEB steps
- • Request/response logs for REST steps
- • Query results for SQL steps
- • Export to JUnit XML or HTML report
- • Rerun failed scenarios only
Schedules
Automate your tests with cron-based scheduling.
Creating a Schedule
- • Define a name and cron expression
- • Common patterns: daily at midnight, hourly, every 30 minutes
- • Enable/disable without deleting
- • Manually trigger anytime
Git Integration
Git integration is optional. Without it, feature files are stored locally. With Git, you get version control and CI/CD integration.
Local Mode (No Git)
- • Feature files saved directly on server
- • Simple save with Ctrl/Cmd + S
- • No branching or version history
- • Perfect for getting started
Git Mode
- • Connect to GitHub, GitLab, or Bitbucket
- • Save & commit with messages
- • Switch between branches
- • View diffs before committing
- • Sync to pull latest changes
- • Webhook triggers for CI/CD
Setup Git Connection
Go to Settings → add a Git connection with your provider and access token.
Connect to Project
In your project, click "Connect Repository" and provide the repo URL and default branch.
Multi-Language Support (70+ Languages)
Runtrixy supports all official Gherkin languages — write scenarios in your native language with full syntax highlighting, validation, and autocomplete.
And many more: Arabic, Hindi, Dutch, Italian, Polish, Ukrainian, Thai, Vietnamese, Indonesian, Czech, Hungarian, Hebrew, Georgian, Armenian...
# Turkish
Özellik: Kullanıcı Girişi
Senaryo: Başarılı giriş
Diyelim ki "https://uygulama.com/giris" adresine gidiyorum
Olduğunda "email" alanına "admin@test.com" yazıyorum
O zaman "Dashboard" görmeliyim
# German
Funktionalität: Benutzeranmeldung
Szenario: Erfolgreiche Anmeldung
Angenommen I navigate to "https://app.com/login"
Wenn I type "admin@test.com" into "emailInput"
Dann I should see "Dashboard"
# Japanese
フィーチャ: ユーザーログイン
シナリオ: 正常ログイン
前提 I navigate to "https://app.com/login"
もし I type "admin" into "username"
ならば I should see "Welcome"Settings & API Keys
Manage Git connections and API keys from Settings.
Git Connections
Add connections to GitHub, GitLab, or Bitbucket using personal access tokens. Link them to projects for Git-based workflow.
API Keys
Generate API keys for CI/CD pipelines and webhook triggers. Set optional expiration dates for security.