# Web UI Test Automation

The web UI test automation functionality in IntelliJ IDEA is provided by the [Test Automation](https://plugins.jetbrains.com/plugin/20175-test-automation) plugin. This plugin helps develop and maintain automated UI tests, and comprises a significant part of the features provided by [Aqua](https://www.jetbrains.com.cn/en-us/aqua/) – a standalone JetBrains IDE for test automation.

The Test Automation plugin provides the following features:

* Rich support of [Selenium](selenium.html), [Cypress](cypress.html), and [Playwright](playwright.html) frameworks

* Ability to [run](#run-tests), [debug](#debug-tests), and [examine](#review-test-results) Selenium/Cypress/Playwright tests

* Extensive [coding assistance](#editing-code)

* [Locators generation and validation](#generate-locators)

> **Note:**
> Starting with IntelliJ IDEA 2023.3, Selenium, Cypress, and Playwright tests are recognized and can be run or debugged right away, regardless of whether the Test Automation plugin is installed or not.

For more information about test automation features, refer to [the official Aqua documentation](https://www.jetbrains.com.cn/en-us/help/aqua).

Procedure: Install the Test Automation plugin

1. In the Settings dialog (`Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))), select Plugins.

2. Switch to the Marketplace tab, type `Test Automation`, and click Install.

![Installing the Test Automation plugin](https://resources.jetbrains.com.cn/help/img/idea/2026.2/selenium-plugin.png)

3. Click Apply to save the changes and close the dialog. Restart the IDE if prompted.

## Test automation features

### Tests recognition

When you open your project, IntelliJ IDEA automatically detects tests written in Selenium, Cypress, or Playwright. The recognized tests can be run by clicking the ![The Run icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.run.run.svg) icon in the gutter, and then [analyzed](#review-test-results)/[debugged](#debug-tests) using IDE's tools.

Selenium:

![Viewing tests](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_selenium_run_tests.png)

Cypress:

![Viewing tests](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_cypress_run_tests.png)

Playwright:

![Viewing tests](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_pw_run_tests.png)

### Coding assistance

Provided coding assistance features include intelligent code completion, [navigation](navigating-through-the-source-code.html), [syntax highlighting](configuring-colors-and-fonts.html), support for framework-specific functions and expressions, and more.

For example, you can start typing the locator or its substring in the code editor, and the auto-completion feature will provide you with a list of elements to select from. Additionally, the selected element will be highlighted in Web Inspector, making it easier to choose the correct locator.

[Video](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_locator_code_completion.mp4)

### Locators generation and validation

The Web Inspector tool window allows you to view web applications and capture page elements required for automated tests. When you select the required element on the web page, IntelliJ IDEA generates a unique CSS or XPath locator and helps add it to the source code.

[Video](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_locators_evaluator.mp4)

Additionally, IntelliJ IDEA can generate [role-based](playwright.html#role_based_locators_support) locators used in Playwright. These locators are designed to reflect the element’s role (for example, a button or a checkbox), making its identification easier.

![Role-based locator](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_playwright_role_based_locators.png)

Moreover, Web Inspector helps you verify that the locators in your code are valid and point to the correct elements on the web page. Clicking the ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua-plugin.icons.inlayWebInspector.svg) icon next to the locator in the code editor opens the Web Inspector and selects the corresponding element, thus validating the locator.

[Video](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_validating_locators.mp4)

> **Tip:**
> For more information about Web Inspector, refer to [Aqua documentation](https://www.jetbrains.com.cn/en-us/help/aqua/web-inspector-overview.html).

### Manage run/debug configurations for tests

Run/debug configuration is a set of startup properties that define what to execute and what parameters and environment should be used during the execution.

You can create different sets of [configurations](run-debug-configuration.html) for your tests and switch between them instantly, according to your needs.

Selenium:

![Managing test run configuration](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_selenium_run_debug_config.png)

Cypress:

![Managing test run configuration](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_cypress_run_debug_config.png)

Playwright:

![Managing test run configuration](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_pw_run_debug_config.png)

### Test execution details

Once the tests finish running, you are provided with comprehensive results, including logs and console outputs for each test, so you can easily [explore](viewing-and-exploring-test-results.html) them. You can filter the results to quickly navigate through failed or ignored tests and analyze their execution times.

Selenium:

![Viewing test results](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_selenium_failed_tests.png)

Cypress:

![Viewing test results](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_cypress_failed_tests.png)

Playwright:

![Viewing test results](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_pw_failed_tests.png)

### Debugger

A [debugger](debugging-code.html) is a tool used to test and troubleshoot code. It allows you to run the code step by step and provides you with the information on what happens during each step.

A debugger for Selenium and Playwright tests is available out of the box. You can set [breakpoints](using-breakpoints.html) to pause execution and analyze the code.

> **Note:**
> A classic "in-IDE" debugging approach is not really applicable to Cypress due to the limitations imposed by the specifics of the framework. However, if you have a use case where the classic approach makes sense, feel free to share it with us using [this](https://youtrack.jetbrains.com/newIssue?project=AQUA&summary=%5BIn-IDE+Cypress+Debugging%5D+%3CSpecify+a+title+here%3E&description=**Description%3A**%0A%3CProvide+a+description+of+your+use+case+and+share+your+thoughts+on+why+you+think+a+classic+%22in-IDE%22+debugging+approach+makes+sense+in+your+particular+case.%3E%0A%0A**Additional+information**%0A%3CFeel+free+to+include+any+relevant+details+such+as+the+context%2C+steps+to+reproduce%2C+screenshots%2C+etc.%3E%0A%0A**IDE**%0A%3CWhat+IDE+do+you+use%3F%3E&c=add+Board+Aqua%3A+PM+%26+Strategy&c=add+Board+Aqua%3A+Content+%26+Marketing&c=Type+Usability+Problem&c=Subsystem+Frameworks&c=Framework+Cypress) form.

Selenium:

![Debugger](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_selenium_debugger.png)

Playwright:

![Debugger](https://resources.jetbrains.com.cn/help/img/idea/2026.2/aqua_pw_debugger.png)

## See also

### Reference

[Run tests](performing-tests.html) [Debug code](debugging-code.html)  [Explore test results](viewing-and-exploring-test-results.html) [Run/debug configurations](run-debug-configuration.html)

### External Links

[Selenium](https://www.selenium.dev/) [Cypress](https://www.cypress.io/) [Playwright](https://playwright.dev/)

