JetBrains是一家全球知名的软件开发公司,他们公司推出的IDE几乎是编程语言的首选,IntelliJ IDEA 之于Java,PyCharm之于Python,以及GoLand之于go等。

5月24号JetBrains官方宣布Aqua正式公开发布,这是一款专门针对自动化测试打造的IDE。

对于一名自动化测试的工程师,对于这些语言和工具再并不陌生。

Aqua下载地址:https://www.jetbrains.com/zh-cn/aqua/

创建项目

首先,启动Aqua后,可以通过菜单栏:File -> New -> project... 新建项目。

在创建项目时 语言框架 其实是一个排列组合的关系。我这里选择最为熟悉的 Pythonpytestselenium

  • Name: 项目名称。
  • Environment type: 用于指定环境管理工具。
  • Base interpreter: 指定Python版本。
  • Poetry executable: 推荐使用Poetry,Python需要先安装Poetry,这里才能选择。

其次,手动安装依赖,可能是我在创建项目的时候报了一个错误,导致依赖库没有安装,不过,没关系,我们可以手动安装。

打开 Terminal 使用 pip 命令安装个pytestselenium 即可。

功能体验

样例代码

项目创建完成,Aqua默认创建了 test.py 文件,并生成了示例代码。

import pytest
from selenium import webdriver
from selenium.webdriver.common.by import By class TestWebsite:
# 1. Check browser configuration in browser_setup_and_teardown
# 2. Run 'Selenium Tests' configuration
# 3. Test report will be created in reports/ directory @pytest.fixture(autouse=True)
def browser_setup_and_teardown(self):
self.use_selenoid = False # set to True to run tests with Selenoid if self.use_selenoid:
self.browser = webdriver.Remote(
command_executor='http://localhost:4444/wd/hub',
desired_capabilities={
"browserName": "chrome",
"browserSize": "1920x1080"
}
)
else:
self.browser = webdriver.Chrome() self.browser.maximize_window()
self.browser.implicitly_wait(10)
self.browser.get("https://www.jetbrains.com/") yield self.browser.close()
self.browser.quit() def test_tools_menu(self):
"""this test checks presence of Developer Tools menu item"""
tools_menu = self.browser.find_element(By.XPATH,
"//div[@data-test='main-menu-item' and @data-test-marker = 'Developer Tools']") tools_menu.click() menu_popup = self.browser.find_element(By.CSS_SELECTOR, "div[data-test='main-submenu']")
assert menu_popup is not None ...

代码比较简单,通过 @pytest.fixture 创建浏览器的启动和关闭。test_xxx实现测试用例。熟悉Selenium的工程师来说,这个可忽略不计。

定位元素

在代码中,每个定位前面多了一个小icon,点击可以打开内置的浏览器,可以快速地帮助我们生成元素定位。

这个功能就实用很多了,在编写Web UI 自动化测试的时候,查找元素的定位往往是比较耗时的工作,这个功能可以有效地节省查找元素的定位的时间。

内置HTTP client

我们可以创建一个 test_api.http的文件,直接编写 HTTP 请求。

这个功能仅仅用于接口的调试,JetBrains 其他专业版的IDE都内置的有这个功能。这个都算不上Aqua的特色功能。

其他

  • Docker

借助 Aqua,可以访问 Docker 容器,这样一来,您可以运行并调试容器、下载和构建镜像、运行多容器应用程序。

  • 数据库

你可以无缝地处理多个数据库、开发 SQL 脚本,以及在 IDE 中执行低级数据断言。 Aqua 可以连接到实时数据库、运行查询、导出数据,并让您在可视界面中管理架构。 这意味着您可以直接从 IDE 访问 Oracle、SQL Server、PostgreSQL、MySQL 等数据库。

  • 测试管理系统

我们添加了注解来支持 Allure Framework 等测试报告工具或 Serenity BDD 等内置测试框架机制。 IDE 允许你点击问题 ID 在 Web 浏览器中打开问题或测试管理系统用例。

  • AI Assistant

借助 AI Assistant,您可以直接从 Web 检查器中打开的网页创建 UI 测试并生成页面模型。AI Assistant 会为所选框架和编程语言生成合适的代码,包括关键网页元素。然后,您可以复制代码并将其插入现有文件或添加到新文件中。

总结

还有其他组合每体验,比如 typescript + playwirht 的编写自动化体验。

整体感觉,JetBrains 拿着自家已有的东西,随便整合一下 命名个新产品出来营销。如果你已经在使用 PyCharm 或者 IntelliJ IDEA 在写自动化测试,其实没太大必要专门来用 Aqua,如果使用的是其他编辑器或这个IDE,不妨尝试一下Aqua。

我自己打算使用一段时间,继续挖掘一下Aqua的功能。

Aqua 专为自动化测试打造的IDE的更多相关文章

  1. 10款优秀Vim插件帮你打造完美IDE

    导读 如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利.不管是Java.C还是Python,当IDE会帮你检查语法.后台编译,或者自动导入你需要的库时,写代码就变得容易许多.另外 ...

  2. Ubuntu16.04 IDE: 用Vim逐步打造一个IDE

    目前打造完成的IDE主要有: terminator+Bundle+NERDtree+YCF(youcompleteme)+UltiSnips+新创建文件自动补充注释和作者,版权信息等 1,当任务比较多 ...

  3. 开源Web自动化测试工具Selenium IDE

    Selenium IDE(也有简写SIDE的)是一款开源的Web自动化测试工具,它实现了测试用例的录制与回放. Selenium IDE目前版本为 3.6 系列,支持跨浏览器运行,所以IDE的UI从原 ...

  4. 自动化测试模型 Selenium IDE Selenium Gird2

    1.线性测试 每个测试脚本相对独立,且不产生其他依赖与调用,其实就是单纯的来模拟用户完整的 操作场景.前一篇所写的测试脚本就属于线性测试. 优点:每个脚本完整且独立 缺点:测试用例的开发与维护成本高 ...

  5. 自动化测试工具-Selenium IDE 教程一

    引言:这里介绍的是谷歌浏览种的插件,安装教程这里不再描述,网上有很多, 使用教程不是特别多,所以特地花时间整理此篇内容: 一:打开插件,欢迎界面 启动IDE后,将显示一个欢迎对话框. 如果这是您第一次 ...

  6. 一键打造vim ide 支持python golang shell等高级特性

    1.vim-for-devops github: https://github.com/yxxhero/vim_for_devops 利用vim插件打造支持python.shell.golang的id ...

  7. macvim打造python IDE

    昨天安装了macvim,今天在上面配置了一下python的ide: 大家也可参考http://blog.dispatched.ch/2009/05/24/vim-as-python-ide/ 1.文法 ...

  8. firefox插件-自动化测试工具-selenium IDE

    教程:http://www.yiibai.com/selenium/selenium_download_ide.html 下载地址:https://addons.mozilla.org/en-US/f ...

  9. 打造vim IDE

    pathogen.vim:vim插件目录自动识别.加载(注意:能用pathogen.vim安装插件,就不要用Vundle.因为Vundle下载插件速度非常慢.) https://github.com/ ...

  10. vim打造开发IDE

    个人的插件和配置 set nocompatible " 去除VI一致性,必须要添加 filetype off " 必须要添加 " advanced keys " ...

随机推荐

  1. vscode使用ES6装饰器器语法

    1. react项目 配置 package.json 需要安装 npm i @babel/plugin-proposal-decorators 可能需要重启项目 { "babel" ...

  2. App隐私合规“免费”自动化检测

    简介: App隐私合规检测提供了全面的隐私合规检测报告和专家建议,从确保形式合规(隐私政策文本合规性)及实质合规(代码层合规性)的一致性,从个人信息收集.权限使用场景.超范围采集.隐私政策.三方SDK ...

  3. KubeVela 正式开源:一个高可扩展的云原生应用平台与核心引擎

    美国西部时间 2020 年 11 月 18 日,在云原生技术"最高盛宴"的 KubeCon 北美峰会 2020 上,CNCF 应用交付领域小组(CNCF SIG App Deliv ...

  4. 双引擎驱动Quick BI十亿数据0.3秒分析,首屏展示时间缩短30%

    ​简介:在规划中,Quick BI制定了产品竞争力建设的三大方向,包括Quick(快)能力.移动端能力和集成能力.针对其中的产品"报表查看打开慢""报表开发数据同步慢&q ...

  5. Serverless Kubernetes 落地实践

    ​简介:如何通过原生 Kubernetes 提供 Serverless 能力?如何借力丰富的云原生社区生态?本文将给大家介绍一下我们在 Serverless Kubernetes 上的落地实践. 作者 ...

  6. “2021ISIG中国产业智能大会低代码峰会”即将开幕,钉钉宜搭叶周全受邀出席

    ​简介:2021年12月8-9日,"2021ISIG中国产业智能大会" 将在上海举行.阿里巴巴资深技术专家,钉钉宜搭创始人叶周全将作为特邀嘉宾出席大会. 2021年12月8-9日, ...

  7. OpenKruise v0.10.0 版本发布:新增应用弹性拓扑管理、应用防护等能力

    简介: 阿里云开源的云原生应用自动化管理套件.CNCF Sandbox 项目 -- OpenKruise,今天发布 v0.10.0 新版本,这也会是 OpenKruise v1.0 之前的最后一个 m ...

  8. [FAQ] Composer, Content-Length mismatch

    1. $ composer config repos.packagist composer https://php.cnpkg.org$ composer config cache-files-max ...

  9. 聊聊流言协议(Gossip)

    什么是流言协议? 在分布式系统中,以下两个是典型的问题: 维护系统状态(节点的活跃性) 节点间的通信 解决这些问题的解决方案之一如下: 集中式状态管理服务 对等状态管理服务 集中式状态管理服务 像 A ...

  10. 简说Python之函数

    目录 Python的函数 函数的简单调用 函数传参 返回值 计算圆形面积 变量作用域 局部变量 全局变量 就像平时玩的积木,函数就是一个个成块的积木,可以组合你想要的任何形状. Python的函数 函 ...