Advanced Open
Pick from Chrome, FireFox, Edge, and 45+ simulated devices.
Select the Variant, Throttle, Locale, and Timezone.
Configure Basic Auth and Custom Headers as needed.
User Actions
Click, Hover, Double-Tap, Set Values, Send Keys, Scrolling, and Drag-And-Drop are just the start.
Interact with everything on every page, no matter where it is, including iFrames & Shadow DOM.
Precise Assertions
Tests are only as good as their checks, so we give you the most comprehensive collection.
Assert on the Browser, Cookies Storage item, and any Element's State, Attributes, Count, and Contents.
Waits & Pauses
Add simple time-based pauses.
Or improve your tests with Smart Waits. Your runner will continue once an Element has changed to the desired state.
Tabs, Windows & iFrames
Focus on what matters.
Work across multiple tabs, control browser popups, and go inside iFrames at any point during your tests.
Conditional Stops
Test multiple environments in a single Flow with Conditional Stops.
Stop when a specific Element is present or have even more control with Values.
Change Detection
Automatically detect Visual Regression.
Check specific Elements or the visual portion. Set your own change thresholds or only check for a change in position.
Google Lighthouse
Run all the powerful Google Lighthouse audits within your tests.
Performance, Best Practice, SEO and Accessibility.
WCAG Accessibility
Run WCAG conformance checks within your tests using Pa11y.
Receive targeted, actionable feedback on any A, AA, or AAA regressions.
Test Email Inbox
Every test case has access to its own fully testable Email Inbox!
Use the provided email address to register users to interact with confirmation emails or passwordless login.
MFA / 2FA Checks
Add your MFA secret to DoesQA and generate genuine OTP codes within your tests!
Test results allow developers to create their own OTP codes to help when debugging.
VPN & Custom Protections
If it touches the internet, we can test it!
Whitelist the Test Runner static IPs and configure Basic Auth or Custom Headers to grant protected access.
Values
We provide dozens of useful Values to use in your tests.
Add your own at your Account level, or provide dynamic Values via CI/CD.
API & GraphQL
Use GraphQL or GET, PUT, POST, and DELETE to query or seed the needed data during your tests.
Create reusable Values from the response.
Data Scraping
Scrape Values from your pages (or someone else's) and use them directly in your tests or calculate and transform them into new Values.
Generate Files
Generate Text, PDFs, CSVs, and more using Values collected in your tests.
Generate JPEG and PNG images with specific dimensions.
Upload Files
Upload files during your tests.
Select any generated files or upload files your test previously downloaded.
SFTP
Connect to SFTP servers.
Check files on the server and upload new files from your tests.
Express Nodes
Express Nodes make traditionally slow tasks only take seconds.
Use the Adyen Payment Node to quickly add card details without creating all the Elements or interacting with all the iFrames.
Trigger Child Runs
You can trigger Test Runs from Test Runs.
You may have a Full Pack you only want to trigger if your Smoke Test passes. Maybe you need tests to run in a specific order or want to use the Values collected in one test in the next.
Custom Node Groups
Create your Node Groups!
Perfect when you use a collection of steps in multiple places, like login and register.
Update the Node Group, and all tests will be updated.
Clear Results
Clear, easy-to-follow steps to reproduce, with screenshots, videos, and all the metadata you could want.
There is no back-and-forth; you only need a link to the failing results.
CI/CD & Scheduling
CI/CD to run full or partial packs with dynamic values. We can trigger other pipelines once all tests have finished so need to have pipelines waiting.
Scheduling so you know everything is working every day.
Slack
See a live feed of every test running with direct links to any fails.
Receive Slack messages from within tests to share data or help with debugging.