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开发工具进行新架构页面本地调试,视频没录制好,有些部分比较模糊...
随机推荐
- 搭建docker镜像仓库(一):使用registry搭建本地镜像仓库
目录 一.系统环境 二.前言 三.使用registry搭建私有镜像仓库 3.1 环境介绍 3.2 k8smaster节点配置镜像仓库 3.3 k8sworker1节点配置从私有仓库上传和拉取镜像 3. ...
- 【原创】K8S环境下研发如何本地调试?kt-connect使用详解
K8S环境下研发如何本地调试?kt-connect使用详解 背景 注:背景有点啰嗦,讲讲一路走来研发本地调试的变化,嫌烦的可以直接跳过,不影响阅读. 2019年 我在的公司当时是个什么情况,只有两个J ...
- Linux零拷贝原理
Linux零拷贝原理 前言 磁盘可以说是计算机系统最慢的硬件之一,读写速度相差内存 10 倍以上,所以针对优化磁盘的技术非常的多,比如零拷贝.直接 I/O.异步 I/O 等等,这些优化的目的就是为了提 ...
- 助力培养高质量AI人才,璞公英乐学平台在日本深受好评!
璞公英乐学平台(原名"璞睿魔数")自进入日本市场以来,受到日本用户的广泛好评.近日,日本AI门户网站AIsmiley在发刊的杂志<AI人才育成指南>中对璞公英乐学平台做 ...
- 开源即时通讯GGTalk 8.0发布,增加Linux客户端,支持在统信UOS、银河麒麟上运行!
GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端. 这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产数据 ...
- 在安装Windows时手动创建分区
目前硬件都已经支持UEFI模式启动了,而且硬盘容量普遍大于MBR磁盘能支持的最大2TB的容量.所以在安装Windows系统的时候优先选用UEFI启用,并将磁盘配置为GPT模式以支持更大的容量.而且Wi ...
- Rust学习入门
介绍 特性: 高性能,内存利用率高,没有运行时和垃圾回收 可靠 , 丰富的类型系统和所有权模型保证内存和线程安全,编译器可以消除各种错误 生产力, 包管理器.构建工具一流, 多编辑器支持自动补齐和格式 ...
- 对vue中的data进行数据初始化
this.$data:是表示当前的改变后的this中的数据 this.$options.data():是表示没有赋值前的this中的数据,表示 初始化的data 一般可以使用Object.assign ...
- ERP系统都能给企业带来什么好处?
ERP系统但如果用得好,自然可以提高企业内部资源的计划和控制能力,提质增效降成本,提升企业竞争力,加速数字化转型步伐,但不是所有的企业使用ERP都能带来好处的,尤其是对于一些小微企业,带来的可能是灾难 ...
- 学习记录-Python的局部变量和全局变量
目录 1 定义 2 作用域的重要性 2.1 全局作用域中的代码不能使用任何局部变量 2.2 局部作用域中的代码可以访问全局变量 2.3 不同局部作用域中的变量不能相互调用 2.4 在不同的作用域中,可 ...