Reflect.io Getting Started Guide: No-Code Web Testing for Teams
Most E2E testing tools require engineers. You need someone who knows Playwright or Cypress to write and maintain tests. Reflect.io removes that requirement — anyone on your team can record web tests by interacting with the browser, then run those tests automatically in CI/CD.
This guide covers getting started with Reflect.io from account setup to your first automated test run.
What Is Reflect.io?
Reflect is a no-code web testing platform built for teams who want automated browser tests without writing code. You:
- Record tests by clicking through your application in a Chrome extension
- Enhance with AI — Reflect uses AI to suggest assertions and make tests more robust
- Run tests in CI/CD or on a schedule
- Maintain tests with Reflect's AI-assisted healing when the UI changes
Unlike screen recording tools, Reflect captures your interactions as logical test steps (click this button, fill this field, assert this text), not fragile pixel-based recordings. The tests understand what you're doing, not just where you clicked.
Who Is Reflect For?
Reflect's sweet spot:
- QA engineers who understand testing but don't code
- Product managers and designers who want to verify their flows work
- Developers who want fast test creation without framework boilerplate
- Small teams without dedicated SDET resources
If your team has senior engineers who want fine-grained control, Playwright or Cypress may be better. Reflect optimizes for speed and accessibility over maximum flexibility.
Getting Started
Create an Account
Sign up at reflect.run. Reflect offers a free tier for getting started.
Install the Chrome Extension
- Go to the Chrome Web Store and search for "Reflect"
- Install the Reflect Test Recorder extension
- Sign in to the extension with your Reflect account
The extension is how you record tests. It observes your browser interactions and converts them into test steps.
Create a Project
In the Reflect dashboard:
- Click New Project
- Enter your project name (typically your application or product name)
- Enter your application's base URL (e.g.,
https://yourapp.com) - Save
Recording Your First Test
Start Recording
- Navigate to your application in Chrome
- Click the Reflect extension icon
- Click Start Recording
- Perform the user flow you want to test (login, add to cart, submit a form, etc.)
- Click Stop Recording
Reflect captures each interaction:
- Page navigations
- Clicks (with the element identified by text, role, or label)
- Form inputs
- Keyboard actions
Reviewing and Editing the Recording
After stopping, Reflect shows the captured steps:
1. Navigate to https://yourapp.com/login
2. Click "Email" input
3. Type "test@example.com"
4. Click "Password" input
5. Type "••••••••••"
6. Click "Sign In" button
7. [AI suggestion] Assert "Welcome, Test User" is visible
8. [AI suggestion] Assert URL contains "/dashboard"The AI automatically suggests assertions based on what it sees after your interactions. Accept or reject each suggestion.
Edit steps by clicking on them:
- Change the element selector if Reflect picked the wrong one
- Adjust input values
- Add or remove assertions
- Reorder steps
Adding Assertions Manually
Beyond AI suggestions, add assertions yourself:
- In the test editor, click + Add Step
- Choose Assertion
- Select assertion type:
- Text exists — verify text appears on the page
- Element visible — element with certain attributes is visible
- URL contains — current URL matches a pattern
- Element count — N elements matching a selector exist
- Configure and save
Using Variables
For tests that need to handle dynamic content (generated order IDs, timestamps):
- Add a Extract Variable step
- Specify the element to extract from
- Use
{{variableName}}in subsequent steps
Example: extract the order ID from a confirmation page, then use it to navigate to the order detail page.
Running Tests
Manual Run from Dashboard
- Open any test in the Reflect dashboard
- Click Run Test
- Select the environment (base URL)
- Reflect runs the test in its cloud browser
- View results including video playback and step-by-step status
Tests run in headless Chrome in Reflect's cloud infrastructure.
Scheduled Runs
Set tests to run automatically:
- Open a test (or test suite)
- Click Scheduling
- Set frequency: every 15 minutes, hourly, daily, etc.
- Configure notifications (email or Slack on failure)
Scheduled runs are useful for monitoring critical flows continuously.
Organizing Tests with Suites
Group related tests into suites for organized execution:
- Click New Suite
- Name it (e.g., "Checkout Flow", "User Registration", "Smoke Tests")
- Add tests to the suite
- Run the suite to execute all tests sequentially
Suite runs create a single report with pass/fail for each test in the suite.
Configuring Suite Execution Order
Tests in a suite run sequentially by default. Use ordering when test state matters — log in once at the start of the suite, then run dependent tests.
Enable Shared Session in suite settings to maintain browser state between tests within the suite.
CI/CD Integration
GitHub Actions
name: E2E Tests with Reflect
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Reflect tests
run: |
curl -X POST https://api.reflect.run/v1/runs \
-H "Authorization: Bearer ${{ secrets.REFLECT_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{
"suiteId": "${{ vars.REFLECT_SUITE_ID }}",
"overrides": {
"baseUrl": "${{ env.PREVIEW_URL }}"
}
}'
- name: Wait for results
run: |
# Poll for completion and check results
# See Reflect API documentation for detailsGetting Your API Key
- In Reflect dashboard: Settings → API
- Generate an API key
- Add as
REFLECT_API_KEYsecret in your repository
Setting Environment URLs
Pass different base URLs to run the same tests against staging and production:
{
"suiteId": "your-suite-id",
"overrides": {
"baseUrl": "https://staging.yourapp.com"
}
}The tests recorded against production run against staging without modification.
Handling Authentication in Tests
Recording Authenticated Tests
For tests that require login:
Option 1: Include login in the test Start your recording from the login page and record the login flow as the first steps. Every test starts by logging in.
Option 2: Use saved sessions
- Record a login test
- Mark it as a Session Setup test in suite settings
- Reflect reuses the logged-in session for subsequent tests in the suite
Option 2 is faster — you log in once, not before every test.
Sensitive Data (Passwords, API Keys)
Use Reflect's Environment Variables for sensitive data:
- Settings → Environment Variables
- Add
TEST_PASSWORD=yourpassword - In your test steps, use
{{TEST_PASSWORD}}instead of the actual value
Reflect masks these values in recordings and logs.
AI-Assisted Test Maintenance
When your UI changes, tests that reference changed elements will fail. Reflect's AI maintenance suggests fixes:
- Run a test after a UI change
- If it fails, Reflect analyzes the failure
- Reflect suggests which element likely corresponds to the old one
- Review and accept the suggestion
For minor UI changes (button text changed, element moved), the suggestion is usually correct. For major redesigns, you may need to re-record the affected steps.
Test Results and Reporting
Test Run Report
Each test run generates a report:
- Overall pass/fail status
- Duration
- Step-by-step results with screenshots
- Video playback of the full run
- Failure details for failed steps
Suite Reports
Suite runs show:
- Pass rate (X/Y tests passed)
- Individual test results
- Duration breakdown
Slack and Email Notifications
Configure notifications in Settings → Notifications:
- Run results on every run
- Alerts only on failures
- Daily/weekly summary emails
Limitations of No-Code Testing
Understanding what Reflect doesn't cover well sets expectations:
Complex assertions: Verifying calculated values, complex data structures, or business logic often requires custom code. Reflect's assertions cover visible text and element presence, not deep data validation.
API interactions: Reflect tests browser interactions. Testing API responses directly requires a different tool.
Non-browser interactions: Testing mobile apps, desktop applications, or non-HTTP protocols requires other tools.
High-volume data testing: Data-driven tests with hundreds of input combinations are better suited for code-based frameworks.
For a complete testing strategy, Reflect works alongside API testing tools (Postman, REST Assured) and potentially a code-based E2E framework for complex scenarios.
Reflect vs Competitors
| Tool | Code Required | AI Generation | Maintenance |
|---|---|---|---|
| Reflect | No | AI suggestions | AI-assisted |
| Octomind | Minimal (review) | Full AI generation | Auto-heal |
| Playwright | Yes | Copilot helpers | Manual |
| Cypress | Yes | None | Manual |
| Testim | No | AI-based | AI-assisted |
Reflect and Octomind are the closest comparison. Reflect is more record-based (you interact, it captures); Octomind is more goal-based (you describe, AI does it).
Summary
Reflect lowers the barrier to E2E testing by removing the code requirement. QA engineers, product managers, and developers with no test automation experience can create and maintain tests using the browser extension. CI/CD integration, scheduled runs, and AI-assisted maintenance make it a complete no-code testing solution for web applications.
Continuous Production Monitoring
Reflect.io tests run when you schedule them. HelpMeTest monitors your production app continuously — tests run every 5 minutes, 24/7, with immediate alerts when something breaks.
Write monitoring tests in plain English. No code, no extension.