首页 > 其他分享 >Aqua 专为自动化测试打造的IDE

Aqua 专为自动化测试打造的IDE

时间:2024-06-02 17:55:01浏览次数:22  
标签:menu self Aqua 自动化 test IDE browser

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的功能。

标签:menu,self,Aqua,自动化,test,IDE,browser
From: https://www.cnblogs.com/fnng/p/18227407

相关文章

  • 自动化测试意义
    自动化测试意义,更现实的来说把我们的自动化测试应用到项目中去,在保证质量的前提下让项目的测试成本低于纯手工测试。自动化测试关注的一些指标:1、自动化测试用例的覆盖率=自动化测试用例数/所有用例总数,这个比例越高,测试反馈越快,成本节约越多。2、节省的时间成本=手工测试所花的......
  • 什么项目适合做自动化测试?
    什么项目适合做自动化测试?1.需求稳定,不会频繁变更2.研发和维护周期长,需要频繁执行回归测试3.需要在多种平台上重复运行相同测试的场景4.某些测试项目通过手工测试无法实现,或者手工成本太高5.被测软件的开发较为规范,能够保证系统的可测试性6.测试人员已经具备一定的编程能力......
  • 自动化测试的认识误区
    误区一:自动化测试是一种比人工测试更先进,更高级的测试手段。自动化测试既有自身的优点,也有其局限性。例如对于需求不明确,或者界面经常发生变动的产品就不适合使用自动化测试。自动化测试与手工测试的关系应该是相辅相成,互相弥补各自的局限性,相互促进。误区二:自动化测试能够发现......
  • 自动化测试的优势&劣势
    自动化测试的优势:1.可复用性一旦编写好自动化测试脚本或者测试工具,便可以重复使用,使得我们可以避免繁琐重复的手工测试。2.可靠性手工测试在一定条件下存在不确定性,偶尔会出现漏测或者误判的情况,但是自动化测试的预期输入和输出的确定性,可以弥补此类缺陷。3.速度快,时间......
  • D. Divide and Equalize
    题解我们只需要将每个数拆成质因数相乘的形式,然后对每个质因数累加,最后观察每个质因数出现的次数是不是数组长度的整数倍即可。code #include<bits/stdc++.h>usingnamespacestd;constintN=1e4+5;inta[N];map<int,int>map1;boolss(intm){for(inti=2;i<......
  • [DotNetGuide]C#/.NET/.NET Core优秀项目和框架精选
    前言注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯......
  • 【会议征稿,ACM出版】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024,7
    2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC2024)将于2024年7月19-21日在中国·珠海召开。本次会议主要围绕“人工智能、自动化与高性能计算”的最新研究展开,旨在荟聚世界各地该领域的专家、学者、研究人员及相关从业人员,分享研究成果,探索热点问题,交流新的经......
  • 基础9 探索图形化编程的奥秘:从物联网到工业自动化
            办公室内,明媚的阳光透过窗户洒落,为每张办公桌披上了一层金色的光辉。同事们各自忙碌着,键盘敲击声、文件翻页声和低声讨论交织在一起,营造出一种忙碌而有序的氛围。空气中氤氲着淡淡的咖啡香气和纸张的清新味道,令人心旷神怡。        卧龙端坐在电脑前......
  • Idea中关于输出控制台中文乱码解决
    元注解@Target(value={ElementType.TYPE})@Retention(value=RetentionPolicy.RUNTIME)public@interfaceComponent{Stringvalue();}实体类@Component("userBean")publicclassUser{}*测试@TestpublicvoidComponentScan()throwsUnsupport......
  • Linux-shell自动化编程
    1.常用命令解释器Shell命令解释器:bash编程. 编程环境准备 2.shell脚本执行方式 3.变量变量名字命名要求:1.不能以数字开头。2.不能以特殊符号开头,可以以"_"开头。3.推荐字母开头变量的命名方式:1.驼峰方式:personOfNamepersonOfAge2.✔现代式:单词(小......