Aqua 2024.1 Help

Aqua IDE overview

JetBrains Aqua is a powerful IDE for test automation. It encompasses everything a test automation engineer might need:

  • Support for the most popular testing frameworks — Aqua supports the Selenium, Cypress, and Playwright frameworks, enabling you to create and run automated tests using your preferred tools.

  • Multi-language support — Aqua is an intelligent, context-aware IDE that understands Java, Kotlin, Python, JavaScript, TypeScript, and SQL and provides intelligent coding assistance.

  • 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 following onboarding video to see how everything works inside the IDE.

Supported languages

Aqua is designed as an IDE for JVM languages but numerous plugins can extend it to provide a polyglot experience.

JVM languages

Aqua supports the following JVM languages:

Other languages

Plugins 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.

User Interface

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.

Aqua IDE UI

For more information about the UI elements, refer to User interface.

Appearance customization

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.

Use the most useful shortcuts to invoke frequent actions without switching your focus from the editor and tune your keymap to assign custom shortcuts for your favorite commands.

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.

Search Everywhere dialog

Here are some of the most useful navigation shortcuts:

Action

Shortcut

Search everywhere

Double Shift

Go to file

Ctrl+Shift+N

Go to class

Ctrl+N

Go to symbol

Ctrl+Alt+Shift+N

Go to declaration

Ctrl+B

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 Ctrl+E to see a list of last accessed files. Note that you can also use this action to open any tool window:

Recent Files popup

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 Ctrl+Shift+E and you'll be able to jump to a particular line you modified lately:

File structure

Press Ctrl+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:

File structure popup

Alternatively, use the Structure tool window Alt+7.

Find action

If you don't remember the shortcut or the menu path for an action you want to use, press Ctrl+Shift+A and start typing the action name:

Find Action popup

Coding assistance

Code completion

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.

    Code completion for CSS and XPath locators
  • 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.

Refactorings

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 Ctrl+Alt+Shift+T to open a list of refactorings available in the current context:

Refactor This popup

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:

Action

Shortcut

Refactor this

Ctrl+Alt+Shift+T

Rename

Shift+F6

Extract variable

Ctrl+Alt+V

Extract field

Ctrl+Alt+F

Extract a constant

Ctrl+Alt+C

Extract a method

Ctrl+Alt+M

Extract a parameter

Ctrl+Alt+P

Inline

Ctrl+Alt+N

Copy

F5

Move

F6

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:

Intention action

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 (Ctrl+Alt+S) , go to Editor | Intentions.

Web Inspector

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 Web Inspector button located on the right-hand sidebar to open the Web Inspector tool window.

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.

HTTP Client

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.

HTTP Client

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.

Test Management Systems

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.

Generate Test Data

For more information about generating Test Data, refer to Generate test data.

Docker support

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.

Docker integration

For more information, refer to Docker.

Database management

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.

Database management

For more information, refer to Database Tools and SQL.

Last modified: 10 June 2024