Introducing Aqua – A Powerful IDE for Test Automation by JetBrains
QA and test engineering are essential parts of modern software development. At JetBrains, we believe using the right tool matters for every job. Creating a separate tool for automated test development was a natural step for us, as it allows us to cover the needs of multi-role software development teams.
We’re launching a public preview of JetBrains Aqua so everyone can try it out and influence the design. You can find out more about the preview at the end of the post.
Like other JetBrains IDEs, Aqua checks the quality and validity of your code with on-the-fly inspections. If issues are found, the IDE will suggest context actions to help you solve them. Click the light bulb icon (or press Alt+Enter) to invoke a context action. Take advantage of language-aware code completion, error detection, and on-the-fly code fixes!
Use smart search to jump to any class, file, symbol, IDE action, or tool window. To use it, press Shift twice and start typing the name of whatever you are looking for.
Make the most of the IDE’s code intelligence with safe Rename and Delete, Extract Method, Introduce Variable, Inline Variable or Method, and other refactorings. Language and framework-specific refactorings help you make project-wide changes.
Unit test frameworks
Create and run your tests with coding assistance and a GUI-based test runner. With JetBrains Aqua you can write, run, and debug your unit tests using JUnit, TestNG, Pytest, Jest, Mocha, and other popular frameworks. Reviewing the test results inside the IDE allows you to easily navigate in a tree view and to the test source.
New Project wizard
Aqua can generate a new UI test project for the JVM stack, allowing you to specify the JDK, build tool (Maven or Gradle), test runner (JUnit or TestNG), and language from the New Project wizard.
Page Object templates
When following the Page Object pattern, the IDE helps you create and maintain new page object files from the New File menu and respects the selected page object pattern when adding locators.
The embedded Web Inspector allows you to view web applications in Aqua and capture page elements required for automated tests. Aqua generates a unique CSS or XPath locator for the selected element on the web page and helps add it to the source code. If there is more than one locator that uniquely identifies the same element, Web Inspector will suggest all possibilities.
While maintaining tests, Aqua helps you verify existing locators. Just validate your CSS selector or XPath with Web Inspector and check whether the locator identified the element you want.
When Web Inspector is active, CSS and XPath code completion suggests and highlights locators for the most important web page elements.
Web Inspector can also be undocked to a separate window for a better experience on large screens.
API testing and environment setup
When developing a web service that sends and receives HTTP requests, you can easily create and edit requests in Aqua’s built-in HTTP client and receive extensive code assistance, including code completion, highlighting, refactorings, and more.
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.
JetBrains Aqua does not require any extra tools to prepare your application data. You can seamlessly handle multiple databases, develop SQL scripts, and perform low-level data assertions right in the IDE. Aqua provides connections to live databases, runs queries, exports data, and allows you to manage schemes in a visual interface. This means you can access Oracle, SQL Server, PostgreSQL, MySQL, and other databases from the IDE.
Tests usually contain links to issue trackers and TMS (test management systems). To make it possible to include them, developers use reporting libraries, such as Allure Framework, or built-in test framework mechanisms, such as Serenity BDD. We have added support for the annotations of these libraries, and the IDE allows you to open issues or TMS cases in a web browser just by clicking on the issue IDs.
Aqua can connect to external TMS systems, such as TestRail, making the tests more accessible from the IDE. It supports browsing test suites and case hierarchies, as well as navigation for TMS items. It also generates unit tests for selected test scenarios and helps you find non-automated test cases or obsolete test methods.
Aqua also supports the experimental “Local TMS” approach, an agile way to store and manage your test data. The local TMS stores test data as a collection of
r.md files in the project. This approach allows for branching, versioning, reviewing, and better integration with automated tests.
Building a complete IDE for test automation is a significant undertaking. During the preview stage we are still in active development and continuing to implement features and improvements, so some things might not work as expected. Please help us improve the product by sharing your thoughts about any features or missing functionality from JetBrains Aqua. Let’s build the best test automation IDE together!
You can download the latest preview build via the Toolbox App or our website.
Please use this feedback form to share feedback or ask any questions you might have.
Subscribe to our blog to receive news about the latest improvements, and be sure to follow us on Twitter!
Happy automated testing!
The Aqua team
Subscribe to Blog updates
Thanks, we've got you!