> For the complete documentation index, see [llms.txt](https://docs.does.qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.does.qa/test-steps.md).

# Test Steps

- [Starter](https://docs.does.qa/test-steps/starter.md): Open a browser and start every Flow with the Starter Test Step.
- [Open](https://docs.does.qa/test-steps/starter/open.md): Open a URL to start every Test Case, and choose the browser or Simulated Device.
- [Browser](https://docs.does.qa/test-steps/browser.md): Move between pages, tabs, and files, or run custom browser script during a Flow.
- [Go To Absolute URL](https://docs.does.qa/test-steps/browser/go-to-absolute-url.md): Navigate the browser to a full URL.
- [Go To Relative Path](https://docs.does.qa/test-steps/browser/go-to-relative-path.md): Navigate the browser to a path on the current site.
- [Reload](https://docs.does.qa/test-steps/browser/reload.md): Reload the current page in the browser.
- [Back](https://docs.does.qa/test-steps/browser/back.md): Navigate back.
- [Forward](https://docs.does.qa/test-steps/browser/forward.md): Navigate forward.
- [Open File](https://docs.does.qa/test-steps/browser/open-file.md): Open a downloaded or generated file in the browser.
- [Run Browser Script](https://docs.does.qa/test-steps/browser/run-browser-script.md): Run JavaScript in the browser during a Test Case.
- [Next Tab](https://docs.does.qa/test-steps/browser/next-tab.md): Switch to the next browser tab.
- [Previous Tab](https://docs.does.qa/test-steps/browser/previous-tab.md): Switch to the previous browser tab.
- [Close Current Tab](https://docs.does.qa/test-steps/browser/close-current-tab.md): Close the current browser tab.
- [Action](https://docs.does.qa/test-steps/action.md): Click, type, upload, scroll, and interact with Elements on the page.
- [Touch](https://docs.does.qa/test-steps/action/touch.md): Click or tap an Element or screen position.
- [Double Tap](https://docs.does.qa/test-steps/action/double-tap.md): Double Tap (double click) and element or position.
- [Drag and Drop](https://docs.does.qa/test-steps/action/drag-and-drop.md): Drag an Element and drop it onto another Element.
- [Clear](https://docs.does.qa/test-steps/action/clear.md): Clear the text in an input Element.
- [File](https://docs.does.qa/test-steps/action/file.md): Upload a file into a file input Element.
- [Select Option](https://docs.does.qa/test-steps/action/select-option.md): Choose an option in a select Element by value, text, or index.
- [Send Keys](https://docs.does.qa/test-steps/action/send-keys.md): Send keyboard keys, including special keys such as Enter and Tab.
- [Set MFA](https://docs.does.qa/test-steps/action/set-mfa.md): Type a time-based MFA code into an Element.
- [Open Plugin](https://docs.does.qa/test-steps/action/open-plugin.md): Install and open plugins from the Chrome Plugin Web Store.
- [Scroll Into View](https://docs.does.qa/test-steps/action/scroll-into-view.md): Scroll into view
- [Scroll To Edge](https://docs.does.qa/test-steps/action/scroll-to-edge.md): Scroll the page or element to a specific edge.
- [Hover](https://docs.does.qa/test-steps/action/hover.md): Move the pointer over an Element or screen position.
- [Touch and Hold](https://docs.does.qa/test-steps/action/touch-and-hold.md): Touch and hold an element or position.
- [Touch Release](https://docs.does.qa/test-steps/action/touch-release.md): Touch Release an element or position.
- [Set Value](https://docs.does.qa/test-steps/action/set-value.md): Fill an input Element with text or a Value.
- [Scan](https://docs.does.qa/test-steps/action/scan.md): Scan an element for QR codes.
- [Check](https://docs.does.qa/test-steps/check.md): Assert what the page, Element, browser, or stored data should look like.
- [Check Displayed](https://docs.does.qa/test-steps/check/check-displayed.md): Confirm an Element is shown on the page.
- [Check Not Displayed](https://docs.does.qa/test-steps/check/check-not-displayed.md): Confirm an Element is not shown on the page.
- [Check Visible](https://docs.does.qa/test-steps/check/check-visible.md): Check a specific element is currently visible.
- [Check Not Visible](https://docs.does.qa/test-steps/check/check-not-visible.md): Check a specific element is not currently visible.
- [Check Exists](https://docs.does.qa/test-steps/check/check-exists.md): Confirm an Element is in the DOM.
- [Check Does Not Exist](https://docs.does.qa/test-steps/check/check-does-not-exist.md): Confirm an Element is not in the DOM.
- [Check Enabled](https://docs.does.qa/test-steps/check/check-enabled.md): Check a specific element is currently enabled.
- [Check Disabled](https://docs.does.qa/test-steps/check/check-disabled.md): Confirm an Element is disabled.
- [Check Clickable](https://docs.does.qa/test-steps/check/check-clickable.md): Confirm an Element is ready to click.
- [Check Not Clickable](https://docs.does.qa/test-steps/check/check-not-clickable.md): Confirm an Element is not ready to click.
- [Check Focused](https://docs.does.qa/test-steps/check/check-focused.md): Check a specific element is currently focused.
- [Check Not Focused](https://docs.does.qa/test-steps/check/check-not-focused.md): Check a specific element is not currently focused.
- [Check Selected](https://docs.does.qa/test-steps/check/check-selected.md): Confirm an Element is selected or checked.
- [Check Not Selected](https://docs.does.qa/test-steps/check/check-not-selected.md): Check a specific element is not currently selected.
- [Check Text](https://docs.does.qa/test-steps/check/check-text.md): Assert the visible text of an Element.
- [Check Value](https://docs.does.qa/test-steps/check/check-value.md): Compare an input or field value on an Element.
- [Check Value Store](https://docs.does.qa/test-steps/check/check-value-store.md): Check a specific item in the value store.
- [Check Attribute](https://docs.does.qa/test-steps/check/check-attribute.md): Compare an HTML attribute on an Element.
- [Check Computed Label](https://docs.does.qa/test-steps/check/check-computed-label.md): Check the computed label on a specific element.
- [Check Computed Role](https://docs.does.qa/test-steps/check/check-computed-role.md): Check the computed role on a specific element.
- [Check Computed Style](https://docs.does.qa/test-steps/check/check-computed-style.md): Check the computed style on a specific element.
- [Check Count](https://docs.does.qa/test-steps/check/check-count.md): Compare how many Elements match a selector.
- [Check Title](https://docs.does.qa/test-steps/check/check-title.md): Compare the current browser tab title.
- [Check Address](https://docs.does.qa/test-steps/check/check-address.md): Check the current browser address.
- [Check Cookie](https://docs.does.qa/test-steps/check/check-cookie.md): Compare a browser cookie value.
- [Check LocalStorage](https://docs.does.qa/test-steps/check/check-localstorage.md): Compare a localStorage value in the browser.
- [Check SessionStorage](https://docs.does.qa/test-steps/check/check-sessionstorage.md): Check the value of a specific session storage key.
- [Check Links](https://docs.does.qa/test-steps/check/check-links.md): Verify links on the page return acceptable HTTP status codes.
- [Check SFTP File Exists](https://docs.does.qa/test-steps/check/check-sftp-file-exists.md): Confirm a file exists on an SFTP server.
- [Check SFTP File Does Not Exist](https://docs.does.qa/test-steps/check/check-sftp-file-does-not-exist.md): Confirm a file is absent on an SFTP server.
- [Check SFTP File Count](https://docs.does.qa/test-steps/check/check-sftp-file-count.md): Compare how many files are in an SFTP directory.
- [Check GTM Event](https://docs.does.qa/test-steps/check/check-gtm-event.md): Check a specific event or property triggered a GTM event.
- [Check JSON Value](https://docs.does.qa/test-steps/check/check-json-value.md): Compare part of a stored JSON value.
- [Check JSON Schema](https://docs.does.qa/test-steps/check/check-json-schema.md): Confirm stored JSON matches a JSON Schema.
- [Check Load Time](https://docs.does.qa/test-steps/check/check-load-time.md): Check the page load time.
- [Check API Response Time](https://docs.does.qa/test-steps/check/check-api-response-time.md): Check an API's response time.
- [Runner](https://docs.does.qa/test-steps/runner.md): Wait, switch frames, set headers, and control how the runner executes the Flow.
- [Pause](https://docs.does.qa/test-steps/runner/pause.md): Wait for specific number of seconds.
- [Wait For Element To Be Displayed](https://docs.does.qa/test-steps/runner/wait-for-element-to-be-displayed.md): Wait for a specific element to be displayed.
- [Wait For Element To Not Be Displayed](https://docs.does.qa/test-steps/runner/wait-for-element-to-not-be-displayed.md): Wait for a specific element to not be displayed.
- [Wait For Element To Be Visible](https://docs.does.qa/test-steps/runner/wait-for-element-to-be-visible.md): Wait for a specific element to be visible.
- [Wait For Element To Not Be Visible](https://docs.does.qa/test-steps/runner/wait-for-element-to-not-be-visible.md): Wait for a specific element to not be visible.
- [Wait For Element To Exist](https://docs.does.qa/test-steps/runner/wait-for-element-to-exist.md): Wait for a specific element to exist.
- [Wait For Element To Not Exist](https://docs.does.qa/test-steps/runner/wait-for-element-to-not-exist.md): Wait for a specific element to not exist.
- [Wait For Element To Be Enabled](https://docs.does.qa/test-steps/runner/wait-for-element-to-be-enabled.md): Wait for a specific element to be enabled.
- [Wait For Element To Be Disabled](https://docs.does.qa/test-steps/runner/wait-for-element-to-be-disabled.md): Wait for a specific element to be disabled.
- [Wait For Element To Be Clickable](https://docs.does.qa/test-steps/runner/wait-for-element-to-be-clickable.md): Wait for a specific element to be clickable.
- [Wait For Element To Not Be Clickable](https://docs.does.qa/test-steps/runner/wait-for-element-to-not-be-clickable.md): Wait for a specific element to not be clickable.
- [Wait For Element Text](https://docs.does.qa/test-steps/runner/wait-for-element-text.md): Wait for a specific element's inner text to match a condition.
- [Switch Window](https://docs.does.qa/test-steps/runner/switch-window.md): Switch the current browser window.
- [Switch Frame](https://docs.does.qa/test-steps/runner/switch-frame.md): Move the Test Case focus into an iframe Element.
- [Switch To Parent Frame](https://docs.does.qa/test-steps/runner/switch-to-parent-frame.md): Return focus from an iframe to the parent page.
- [Add Header](https://docs.does.qa/test-steps/runner/add-header.md): Add one HTTP header to the active browser session.
- [Set Header](https://docs.does.qa/test-steps/runner/set-header.md): Replace all HTTP headers on the active browser session.
- [Remove All Headers](https://docs.does.qa/test-steps/runner/remove-all-headers.md): Clear every HTTP header from the active browser session.
- [Stop When Element Is Displayed](https://docs.does.qa/test-steps/runner/stop-when-element-is-displayed.md): Stop when a specific element is displayed.
- [Stop When Element Not Displayed](https://docs.does.qa/test-steps/runner/stop-when-element-not-displayed.md): Stop when a specific element is not displayed.
- [Stop When Value](https://docs.does.qa/test-steps/runner/stop-when-value.md): Stop when a value matches a specific condition.
- [Generate File](https://docs.does.qa/test-steps/runner/generate-file.md): Generate a text, PDF, JSON, or Excel file at run time for upload or open Flows.
- [Generate Image](https://docs.does.qa/test-steps/runner/generate-image.md): Generate a JPEG or PNG image at run time for upload or webcam Flows.
- [Condition](https://docs.does.qa/test-steps/runner/condition.md): Include a Flow Branch only when a Runner, device, language, timezone, or Value matches.
- [Set Webcam](https://docs.does.qa/test-steps/runner/set-webcam.md): Set the webcam stream from a default, downloaded, or generated image.
- [Vision](https://docs.does.qa/test-steps/vision.md): Check what is on screen with AI, snapshots, or position baselines.
- [AI Vision](https://docs.does.qa/test-steps/vision/ai-vision.md): Check the page or an Element against a written visual expectation.
- [Element Snapshot](https://docs.does.qa/test-steps/vision/element-snapshot.md): Detect visual differences between the current run and a control.
- [Element Position](https://docs.does.qa/test-steps/vision/element-position.md): Detect positional differences between the current run and a control.
- [Mail](https://docs.does.qa/test-steps/mail.md): Open a test inbox, wait for messages, and read email as part of a Flow.
- [Open Inbox](https://docs.does.qa/test-steps/mail/open-inbox.md): Open the Test Case or Account inbox in the browser.
- [Close Inbox](https://docs.does.qa/test-steps/mail/close-inbox.md): Close open DoesQA inboxes in the Test Runner browser.
- [Select Email](https://docs.does.qa/test-steps/mail/select-email.md): Select a message in an open inbox without opening it.
- [Open Email](https://docs.does.qa/test-steps/mail/open-email.md): Open a message so you can read links and content in the email view.
- [Wait For Email](https://docs.does.qa/test-steps/mail/wait-for-email.md): Wait until a matching email arrives in a DoesQA inbox.
- [Validator](https://docs.does.qa/test-steps/validator.md): Run accessibility, performance, SEO, and other quality checks in a Flow.
- [Accessibility](https://docs.does.qa/test-steps/validator/accessibility.md): Check the Google Lighthouse Accessibility score.
- [Performance](https://docs.does.qa/test-steps/validator/performance.md): Check the Google Lighthouse Performance score.
- [Best Practices](https://docs.does.qa/test-steps/validator/best-practices.md): Check the Google Lighthouse Best Practice score.
- [SEO](https://docs.does.qa/test-steps/validator/seo.md): Check the Google Lighthouse SEO score.
- [PWA](https://docs.does.qa/test-steps/validator/pwa.md): Check the Google Lighthouse PWA (Progressive Web App) score.
- [Pa11y](https://docs.does.qa/test-steps/validator/pa11y.md): Check accessibility conformance.
- [Axe](https://docs.does.qa/test-steps/validator/axe.md): Check accessibility conformance.
- [Data](https://docs.does.qa/test-steps/data.md): Save, transform, and apply Values, cookies, and browser storage during a Flow.
- [Alias Value](https://docs.does.qa/test-steps/data/alias-value.md): Copy a Value Store item under a second name.
- [Set Value](https://docs.does.qa/test-steps/data/set-value.md): Write a Value into storage for later steps in the Test Case or account.
- [Store Element Text](https://docs.does.qa/test-steps/data/store-element-text.md): Save an Element’s visible text into a storage name.
- [Store Element HTML](https://docs.does.qa/test-steps/data/store-element-html.md): Save the inner HTML from a specific element into the value store.
- [Store Element Value](https://docs.does.qa/test-steps/data/store-element-value.md): Save the value from a specific element into the value store.
- [Store Element Count](https://docs.does.qa/test-steps/data/store-element-count.md): Save the count of elements returned from a specific element selector into the value store.
- [Store Element Attribute](https://docs.does.qa/test-steps/data/store-element-attribute.md): Save an attribute value from a specific element into the value store.
- [Set Cookie](https://docs.does.qa/test-steps/data/set-cookie.md): Set a browser cookie.
- [Store Cookie](https://docs.does.qa/test-steps/data/store-cookie.md): Save a browser cookie into the Value Store.
- [Delete Cookie](https://docs.does.qa/test-steps/data/delete-cookie.md): Delete a specific browser cookie.
- [Delete Cookies](https://docs.does.qa/test-steps/data/delete-cookies.md): Delete all browser cookies.
- [Set LocalStorage](https://docs.does.qa/test-steps/data/set-localstorage.md): Write a key and value into browser localStorage.
- [Store LocalStorage](https://docs.does.qa/test-steps/data/store-localstorage.md): Store the value of a specific local storage item in the Value Store.
- [Delete LocalStorage](https://docs.does.qa/test-steps/data/delete-localstorage.md): Delete a specific browser local storage item.
- [Delete All LocalStorage](https://docs.does.qa/test-steps/data/delete-all-localstorage.md): Delete all browser local storage items.
- [Set SessionStorage](https://docs.does.qa/test-steps/data/set-sessionstorage.md): Set a browser session storage item.
- [Store SessionStorage](https://docs.does.qa/test-steps/data/store-sessionstorage.md): Store the value of a specific session storage item in the Value Store.
- [Delete SessionStorage](https://docs.does.qa/test-steps/data/delete-sessionstorage.md): Delete a specific browser session storage item.
- [Delete All SessionStorage](https://docs.does.qa/test-steps/data/delete-all-sessionstorage.md): Delete all browser session storage items.
- [Calculate Value](https://docs.does.qa/test-steps/data/calculate-value.md): Run a calculation and store the result in the Value Store.
- [Replace Value](https://docs.does.qa/test-steps/data/replace-value.md): Find and replace inside a value store item.
- [Express](https://docs.does.qa/test-steps/express.md): Complete common checkout and nested-run tasks with a single Test Step.
- [DoesQA Run](https://docs.does.qa/test-steps/express/doesqa-run.md): Start another DoesQA Run from a parent Flow.
- [Adyen Widget](https://docs.does.qa/test-steps/express/adyen-widget.md): Fill in a complete Adyen card checkout form with a single Test Step.
- [Adyen PayPal](https://docs.does.qa/test-steps/express/adyen-paypal.md): Complete the Adyen paypal process with a single Test Step.
- [Integration](https://docs.does.qa/test-steps/integration.md): Call APIs, work with SFTP, or send Slack messages from inside a Flow.
- [SFTP List](https://docs.does.qa/test-steps/integration/sftp-list.md): List files or folders on an SFTP server and store the response.
- [GET](https://docs.does.qa/test-steps/integration/get.md): Send an API GET request and store the response as a Value.
- [PUT](https://docs.does.qa/test-steps/integration/put.md): Perform a API PUT request and store the returned value.
- [POST](https://docs.does.qa/test-steps/integration/post.md): Send an API POST request with an optional body and store the response.
- [PATCH](https://docs.does.qa/test-steps/integration/patch.md): Perform a API PATCH request and store the returned value.
- [DELETE](https://docs.does.qa/test-steps/integration/delete.md): Perform a API DELETE request and store the returned value.
- [Slack Send](https://docs.does.qa/test-steps/integration/slack-send.md): Send a message to a specific slack channel.
- [SFTP Upload](https://docs.does.qa/test-steps/integration/sftp-upload.md): Upload a generated file to an SFTP server.
- [Utilities](https://docs.does.qa/test-steps/utility.md): Name branches, add comments, take screenshots, and attach debug output to results.
- [Flow Comment](https://docs.does.qa/test-steps/utility/flow-comment.md): Add a note on the Flow canvas for other builders.
- [Test Comment](https://docs.does.qa/test-steps/utility/test-comment.md): Add a note to the current Test Case branch in results.
- [Name Test](https://docs.does.qa/test-steps/utility/name-test.md): Give the current Test Case branch a clear name in results.
- [Debug Value](https://docs.does.qa/test-steps/utility/debug-value.md): Record a Value Store item in the Test Case result.
- [Debug Element](https://docs.does.qa/test-steps/utility/debug-element.md): Record Element details in the Test Case result.
- [Test Response](https://docs.does.qa/test-steps/utility/test-response.md): Attach a text or Value message to the Test Case result.
- [Replace Text](https://docs.does.qa/test-steps/utility/replace-text.md): Replace all the text on a page or inside and element.
- [Screenshot](https://docs.does.qa/test-steps/utility/screenshot.md): Capture a viewport or full-page screenshot in the Test Case result.
- [Tag Test](https://docs.does.qa/test-steps/utility/tag-test.md): Tag a Flow Branch so filters and recipes can include or skip that Test Case.
- [Start HAR Recording](https://docs.does.qa/test-steps/utility/start-har-recording.md): Start capturing network traffic in a HAR recording for later review.
- [End HAR Recording](https://docs.does.qa/test-steps/utility/end-har-recording.md): Stop an active HAR recording and keep the captured network traffic.
- [Start Console Recording](https://docs.does.qa/test-steps/utility/start-console-recording.md): Start capturing browser console output for later review.
- [End Console Recording](https://docs.does.qa/test-steps/utility/end-console-recording.md): Stop an active console recording and keep the captured browser logs.
- [Step Group](https://docs.does.qa/test-steps/step-group.md): Reuse a set of Test Steps as one Step Group in a Flow.
