Aqua IDE overview
JetBrains Aqua is a powerful IDE for test automation. It encompasses everything a test automation engineer might need:
Smart IDE — Aqua is built on top of the IntelliJ Platform, so it includes all the benefits and features you expect from a top-notch IDE.
Web Inspector — the embedded Web Inspector allows you to view web pages in Aqua and capture the elements required for automated tests.
Check the introductory video to see how everything works inside the IDE.
Aqua is designed as an IDE for JVM languages but numerous plugins can extend it to provide a polyglot experience.
Aqua supports the following JVM languages:
Plugins bundled with Aqua and available out of the box add support for some of the most popular languages, namely:
You can browse JetBrains Marketplace to find an official plugin that adds support for almost any language, framework or technology used today, or for third-party plugins. For more information about managing plugins, refer to Install plugins.
The user interface of Aqua IDE looks similar to the ones of other JetBrains products and mostly consists of the same elements. The biggest addition here is the Web Inspector tool window that is used in web UI test automation.
For more information about the UI elements, refer to User interface.
One of the best things about Aqua is its tunability. You can configure virtually anything: the IDE appearance, the layout of tool windows and toolbars, code highlighting, and more. There are also numerous ways you can fine-tune the editor and customize its behavior to speed up navigation and get rid of any extras that distract you from code.
Configure the colors and fonts for your source code, console output, debugger information, search results, and more. You can choose from a number of predefined color schemes or customize a scheme to create a unique working environment.
Learn how to configure the editor settings, including appearance, font, code formatting, and more.
Customize menus and toolbars to spare the annoyance of looking for an action among a dozen buttons you never use.
Shortcuts for everything
In Aqua, you have shortcuts for nearly every action, including selection and switching between the editor and various tool windows.
Navigation and search
Aqua provides quick navigation not only inside source code files but also throughout the entire project.
One of the most useful shortcuts that is worth remembering is double Shift that brings up the Search Everywhere dialog: start typing and Aqua will look for your search string among all files, classes, and symbols that belong to your project, and even among the IDE actions.
Here are some of the most useful navigation shortcuts:
Go to file
Go to class
Go to symbol
Go to declaration
Recent files and locations
Normally, you work with a small subset of files at a time and need to switch between them quickly. The Recent Files action is a real time-saver here. Press Control+E to see a list of last accessed files. Note that you can also use this action to open any tool window:
Apart from jumping to a recent file, you can also get quick access to Recent Locations - that is code snippets you last viewed or edited. Press Control+Shift+E and you'll be able to jump to a particular line you modified lately:
Press Control+F12 to open the file structure popup that gives you an overview of all elements used in the current file and lets you jump to any of them:
Alternatively, use the Structure tool window Alt+7.
If you don't remember the shortcut or the menu path for an action you want to use, press Control+Shift+A and start typing the action name:
Aqua helps you speed up the coding process by providing context-aware code completion.
Basic completion helps you complete the names of classes, methods, fields, and keywords within the visibility scope. Code completion also works for CSS and XPath locators, and role-based locators used in Playwright.
Type-Matching completion suggests the most relevant symbols applicable in the current context when Aqua can determine the appropriate type.
For more information about the different types of code completion available in Aqua with examples and productivity tips, refer to Code completion.
Aqua offers a comprehensive set of automated code refactorings that lead to significant productivity gains. For example, when you rename a class, the IDE will update all references to this class throughout your project.
You don't even need to bother to select anything before you apply a refactoring. Aqua is smart enough to figure out the statement you're going to refactor. It only asks for confirmation if several choices are possible. Press Control+Alt+Shift+T to open a list of refactorings available in the current context:
For a full list of available refactorings with usage scenarios and the before and after examples, refer to the Refactoring code section.
Learn some of the most useful refactoring shortcuts:
Extract a constant
Extract a method
Extract a parameter
Static code analysis
Aqua provides a set of inspections that are built-in static code analysis tools. They help you find potential bugs, locate dead code, detect performance issues, and improve the overall code structure.
Inspections not only tell you where a problem is but also provide quick fixes that help you deal with it right away. Click the red bulb next to the highlighted code, or press Alt+Enter to choose a fix:
Apart from quick-fixes, Aqua also provides intention actions that help you apply automatic changes to code that is correct. For example, you can inject a language, add Java annotations, add JavaDoc, convert HTML or XML tags, and much more. To view a full list of intention actions, in the Settings dialog (Control+Alt+S), go to .
The Web Inspector functionality allows you to open web pages in Aqua and capture the essential page elements needed for developing automated tests. Aqua then generates a unique CSS, XPath, or role-based locator for a selected element and helps add it to the source code.
Click the button located on the right-hand sidebar to open the Web Inspector tool window.
When Web Inspector is active, the code completion feature suggests and highlights locators for the most important web page elements.
For more information about this functionality, refer to Web Inspector.
Aqua allows you to create, edit, and execute HTTP requests directly in the code editor. Aqua also provides extensive coding assistance, including code completion, highlighting, refactoring, and other features.
For more information about HTTP Client, refer to HTTP Client.
Test Management Systems
Aqua is integrated with test management tools for more transparent interaction between the DEV and QA teams. You can browse test suites and case hierarchies, navigate for TMS items, generate unit tests for selected test scenarios, and find non-automated test cases or obsolete test methods.
For more information about Test Management Systems, refer to Get started with TMS integration.
Test data generation
Aqua has a tool that allows you to generate test data of different types such as names, emails, dates, and so on. Using this functionality, you can quickly insert a single entry or generate massive files in CSV, JSON, or any other custom format.
To generate test data, press Alt+Insert, pick the category, and then select the desired test data option.
For more information about generating Test Data, refer to Generate test data.
With Aqua, you get access to your Docker containers, allowing you to run and debug them, download and build images, and run multi-container applications.
For more information, refer to Docker.
Aqua allows you to handle multiple databases, develop SQL scripts, and perform low-level data assertions in the IDE. Aqua provides connection to live databases, runs queries, exports data, and supports managing schemes in a visual interface. This means you can access Oracle, SQL Server, PostgreSQL, MySQL, and other databases directly from the IDE.
For more information, refer to Database Tools and SQL.