转载请注明出处️

作者:测试蔡坨坨

原文链接: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——自动化测试开发工具(抢鲜体验)的更多相关文章

  1. 微信小程序开发平台新功能「云开发」快速上手体验

    微信小程序开发平台刚刚开放了一个全新的功能:云开发. 简单地说就是将开发人员搭建微信小程序后端的成本再次降低,此文刚好在此产品公测时,来快速上手看看都有哪些方便开发者的功能更新. 微信小程序一直保持一 ...

  2. AngularJS最理想开发工具WebStorm

    http://blog.fens.me/angularjs-webstorm-ide/ Angularjs插件下载地址:http://plugins.jetbrains.com/plugin/6971 ...

  3. 黄聪:AngularJS最理想开发工具WebStorm

    Aug 29, 2013 Tags: angularangular.jsangularjswebstorm Comments: 23 Comments AngularJS最理想开发工具WebStorm ...

  4. 2015 GOOGLE I/O大会看点总结:新的开发工具及云端测试工具

        http://ask.android-studio.org/?/article/48 尽管凌晨开始的主题演讲略显晦涩并继承了谷歌一贯的东一句西一句想起啥说啥的混乱风格,但期待用技术改变世界的技 ...

  5. 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)

    原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份  http://www.dotblogs.com.tw/ ...

  6. Android群英传》读书笔记 (1) 第一章 Android体系与系统架构 + 第二章 Android开发工具新接触

    第一章 Android体系与系统架构 1.Dalvik 和 ARTDalvik好比是一辆可折叠的自行车,平时是折叠的,只有骑的时候,才需要组装起来用.ART好比是一辆组装好了的自行车,装好就可以骑了. ...

  7. JetBrains IntelliJ IDEA for Mac 15.0 破解版 – Mac 上强大的 Java 集成开发工具

    应网友要求更新. IntelliJ IDEA 是最强大的 Java IDE 之一,由知名的Jetbrainsg公司出品,最新版本增加了大量强大易用的特性,比如 Java 8 的Lambda 表达式调试 ...

  8. Android群英传笔记——第二章:Android开发工具新接触

    Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...

  9. 【视频】使用fiddler开发工具进行新架构页面本地调试

    [视频]使用fiddler开发工具进行新架构页面本地调试,视频没录制好,有些部分比较模糊...

随机推荐

  1. HCNP Routing&Switching之MAC地址防漂移

    前文我们了解了二层端口安全技术相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16631222.html:今天我们来聊一聊MAC地址防漂移技术: 首先我 ...

  2. C# winfrom ListView控件实现自由设置每一行字体及背景色等

    背景:公司经常会需要将日志信息,输出到一个对话框中显示出来.之前一直采用的listbox控件,操作简单,使用方便,但是遗憾的是,不能自由控制每一行的状态. 于是想了如下几个方案: (1)重绘listb ...

  3. SETTLE约束算法中的坐标变换问题

    技术背景 在之前的两篇文章中,我们分别讲解了SETTLE算法的原理和基本实现和SETTLE约束算法的批量化处理.SETTLE约束算法在水分子体系中经常被用到,该约束算法具有速度快.可并行.精度高的优点 ...

  4. setContentView源码分析

    当我们在Activity中调用setContentView,它到底做了什么呢 override fun onCreate(savedInstanceState: Bundle?) { super.on ...

  5. 【AGC】使用云调试优惠扣费、华为设备上触发崩溃、无法下载华为应用市场问题小结

    ​ 1.使用云调试剩余优惠时长还剩300分钟,但还会扣费的情况. 问题描述:用户的云调试账户显示剩余优惠时长还有300分钟,但在使用云调试的过程中,还是产生了扣费的情况. ​ 解决方案: 当开发者成功 ...

  6. Linux系统编程001--系统IO

    1. 文件系统:用来存储.组织.管理文件的一套方式.协议 2. 文件 文件的属性:i-node唯一表示一个文件的存在与否 文件的内容 3. Linux系统如何实现文件的操作? 点击查看代码 硬件层: ...

  7. Python数据科学手册-机器学习:线性回归

    朴素贝叶斯是解决分类任务的好起点,线性回归是解决回归任务的好起点. 简单线性回归 将数据拟合成一条直线. y = ax + b , a 是斜率, b是直线截距 原始数据如下: 使用LinearRegr ...

  8. 使用traefik进行金丝雀发布

    文章转载自:https://mp.weixin.qq.com/s/nMMN7hAJK6SFn1V1YyxvHA 在 Traefik 2.0 中以服务负载均衡的形式进行了支持.可以将服务负载均衡器看成负 ...

  9. 2>&1到底是什么意思?

    java -jar snapshot.jar > snapshot.log 2>&1 & 写Java的朋友一定对上面的命令很熟悉,相信大部分人都知道>表示的是重定向, ...

  10. 微信小程序分享好友,朋友圈

    <template> <view> <button open-type="share">发送给好友</button> </vi ...