JetBrains新产品Aqua——自动化测试开发工具(抢鲜体验)
转载请注明出处️
作者:测试蔡坨坨
原文链接:caituotuo.top/9a093c88.html
你好,我是测试蔡坨坨。
随着行业内卷越来越严重,自动化测试已成为测试工程师的必备技能,谈及自动化测试肯定少不了编程,说到编程肯定离不开集成开发工具,比如:IntelliJ IDEA可以帮助我们快速构建Maven项目、springboot项目,PyCharm可以帮助我们快速构建Django项目、Flask项目。那么有没有一款专门给测试同学用的集成开发工具呢?帮助我们快速构建自动化测试项目?
有的,今天我们就来介绍JetBrains的新产品Aqua,它是一款专门为自动化测试打造的集成开发工具,可以快速构建自动化测试项目,包括UI自动化测试、接口自动化测试、单元测试。
Aqua是啥
官网:https://www.jetbrains.com.cn/aqua/

JetBrains Aqua,a powerful IDE for test automation.
一款强大的自动化测试开发工具。
Aqua:英 /ˈækwə/;美 /ˈɑːkwə/ (不是阿瓜哦,大概就是qa反过来念
目前只是preview预览版本,还没有正式发布,所以在使用的时候会有一些Bug。
它有两种使用方式,一个是IDE版,一个是插件版本(支持在IntelliJ IDEA、PyCharm、WebStorm等工具中通过插件的方式安装使用,但只支持部分版本)。
由于插件还不太成熟,因此本篇将使用IDE的方式进行演示。
Aqua有啥用
Develop all kinds of automated tests with JetBrains Aqua.
主要是用于开发各种自动化测试。

UI自动化测试
带有CSS和XPath定位器的嵌入式Web检查器
我们可以直接在Aqua上打开内嵌的浏览器,并使用元素检查器定位元素,还可以将定位到的元素CSS路径和XPath路径直接添加到代码中,从而省去浏览器和编辑器来回切换的麻烦,通过
Ctrl+单击鼠标左键代码中元素位置的路径还可以快速在内嵌的浏览器中反向定位出来。
针对流行框架的增强语法高亮显示、导航和代码补全
比如:对Selenium常用的元素定位方式进行封装(
$()用于cssSelector定位、$x用于XPath定位……)和API进行了封装,方便我们直接调用即可使用,并且有代码补全功能。

零配置项目向导和可自定义的文件模板
快速构建自动化测试项目,比如Selenium Project,并且自动生成分层结构。
接口自动化测试
功能强大的代码驱动型HTTP客户端
这个应该其他开发工具也是支持的,新建xxx.http文件,然后填写接口信息即可完成调用。


OpenAPI(Swagger)支持
单元测试
在源代码与测试之间导航
每个测试的统计数据以及一次运行多个测试的能力
代码覆盖率分析
比如Jacoco。
Selenium项目
新建一个 Selenium Web UI 自动化测试项目。
New Project - Selenium - Java(由于目前不支持Python语言,所以这里以Java为例进行演示) - Next

选择Selenium4版本 - Create

新建项目后可以看到Aqua已经帮我们构建了一个现成的 Selenium Web UI 自动化测试项目。

新建项目后,我们可以看到其中还提供了一些示例代码,主要是基于Selenium做的一些测试代码,比如下面这段代码主要实现:
- 打开网站https://www.jetbrains.com/
- 找到搜索输入框并输入Selenium

运行时报错,提示信息为“类文件具有错误的版本 55.0,应为 52.0”,是因为项目所用到的依赖需要用到55.0版本,而55.0版本刚好对应JDK11,而当前项目的JDK是1.8,版本过低,因此需要下载并安装JDK11就可以正常运行了。


选择JDK11之后正常运行:

总结
在我看来,Aqua比较大的亮点就是可以帮助我们快速构建自动化测试项目,以及内嵌的浏览器方便我们边定位元素边进行代码的编写,其他的功能好像在别的集成开发工具上也能实现,由于目前还是预览版本,Bug还是比较多,关于Aqua工具更多的内容,等正式版发布我们再来讨论吧。
喜欢尝鲜的小伙伴可以去试试了。
JetBrains新产品Aqua——自动化测试开发工具(抢鲜体验)的更多相关文章
- 微信小程序开发平台新功能「云开发」快速上手体验
微信小程序开发平台刚刚开放了一个全新的功能:云开发. 简单地说就是将开发人员搭建微信小程序后端的成本再次降低,此文刚好在此产品公测时,来快速上手看看都有哪些方便开发者的功能更新. 微信小程序一直保持一 ...
- AngularJS最理想开发工具WebStorm
http://blog.fens.me/angularjs-webstorm-ide/ Angularjs插件下载地址:http://plugins.jetbrains.com/plugin/6971 ...
- 黄聪:AngularJS最理想开发工具WebStorm
Aug 29, 2013 Tags: angularangular.jsangularjswebstorm Comments: 23 Comments AngularJS最理想开发工具WebStorm ...
- 2015 GOOGLE I/O大会看点总结:新的开发工具及云端测试工具
http://ask.android-studio.org/?/article/48 尽管凌晨开始的主题演讲略显晦涩并继承了谷歌一贯的东一句西一句想起啥说啥的混乱风格,但期待用技术改变世界的技 ...
- 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)
原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份 http://www.dotblogs.com.tw/ ...
- Android群英传》读书笔记 (1) 第一章 Android体系与系统架构 + 第二章 Android开发工具新接触
第一章 Android体系与系统架构 1.Dalvik 和 ARTDalvik好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.ART好比是一辆组装好了的自行车,装好就可以骑了. ...
- JetBrains IntelliJ IDEA for Mac 15.0 破解版 – Mac 上强大的 Java 集成开发工具
应网友要求更新. IntelliJ IDEA 是最强大的 Java IDE 之一,由知名的Jetbrainsg公司出品,最新版本增加了大量强大易用的特性,比如 Java 8 的Lambda 表达式调试 ...
- Android群英传笔记——第二章:Android开发工具新接触
Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...
- 【视频】使用fiddler开发工具进行新架构页面本地调试
[视频]使用fiddler开发工具进行新架构页面本地调试,视频没录制好,有些部分比较模糊...
随机推荐
- CVE-2021-3156 sudo提权复现
直接查看https://www.bilibili.com/video/BV1Gp4y1s7dd/,已发至B站
- 获取Windows正在运行的窗口进程
主要是获取Alt+Tab中展示的窗口 原理主要是获取窗口的样式来判断是否会在Alt+Tab中显示 具体代码如下 /// <summary> /// Alt+Tab 应用 /// </ ...
- Makefile 文件的编写
目录 目录 Makefile 编写规则 Makefile 编写规则 生成的目标文件:依赖文件 生成目标文件所需执行的动作(注:命令行前需加Tab推进) 例: VPATH=inc src main:ma ...
- Docker_构建_运行总结
样例: 构建镜像 build-image-fim-backend.sh echo "开始构建 fim-backend 镜像..." cp -rp ../target/fim-bac ...
- 【读书笔记】C#高级编程 第十四章 内存管理和指针
(一)后台内存管理 1.值数据类型 Windows使用一个虚拟寻址系统,该系统把程序可用的内存地址映射到硬件内存中的实际地址,该任务由Windows在后台管理(32位每个进程可使用4GB虚拟内存,64 ...
- Windows DNS服务器的子网掩码排序
对于跨多个站点部署的应用服务,会在各个站点都有服务器,并且对应不同的IP地址.我们希望每个客户端访问就近的资源.这个时候可以启用Windows DNS服务器中的子网掩码排序(子网优先)netmask ...
- 基于 OpenTelemetry 的链路追踪
链路追踪的前世今生 分布式跟踪(也称为分布式请求跟踪)是一种用于分析和监控应用程序的方法,尤其是使用微服务架构构建的应用程序.分布式跟踪有助于精确定位故障发生的位置以及导致性能差的原因. 起源 链路追 ...
- 四、frp内网穿透服务端frps.ini各配置参数详解
[必须]标识头[common]是不可或缺的部分 [必须]服务器IPbind_addr = 0.0.0.00.0.0.0为服务器全局所有IP可用,假如你的服务器有多个IP则可以这样做,或者填写为指定其中 ...
- kubeadm使用外部etcd部署kubernetes v1.17.3 高可用集群
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483891&idx=1&sn=17dcd7cd ...
- 第六章:Django 综合篇 - 6:会话session
因为因特网HTTP协议的特性,每一次来自于用户浏览器的请求(request)都是无状态的.独立的.通俗地说,就是无法保存用户状态,后台服务器根本就不知道当前请求和以前及以后请求是否来自同一用户.对于静 ...