我们都希望为 Web 应用程序构建易维护的测试。作为这个目标的一部分,我们都希望能集中精力在测试本身,而尽量避免困在实施的具体细节中。从长远来看,测试应该是可维护的,对软件定期的变更并不会破坏测试本身或者让团队的开发节奏变慢。

迭代速度 / 现实环境

某些测试工具可以在做出更改和查看结果之间提供简短的反馈循环,但不能精确地模仿浏览器的行为。其他工具可能会使用实际的浏览器环境,但会降低迭代速度,并且在连续集成系统中可能会变得更加脆弱。

Selenium

知名的浏览器 web 应用测试框架,可以用 Java、C#、Ruby、JavaScript、R 和 Python 等多种编程语言编写测试案例。

Selenium 为每种语言提供客户端 API。

Selenium WebDriver 尽可能使用原生操作系统级别的功能,而非基于浏览器 JavaScript 的命令来驱动浏览器。

这样就绕过了原生功能和 JavaScript 命令之间由于细微差别而产生的问题(包括安全限制)。它提供了很大的灵活性,甚至还支持 iframe 和多个浏览器标签。

卓越的跨浏览器功能令人印象深刻。可以在主流浏览器(Chrome、Firefox、Safari、Edge、Internet Explorer)上执行 Selenium 测试。

Selenium Grid 可以与 WebDriver 一起使用,以在远程系统上执行测试。

使用 Selenium 的唯一缺点是,它需要大量的技能,并且编写测试非常耗时。对没有编程经验的人来说,乍一看用 Selenium 编写测试似乎很容易;但是如果没有最佳实践,将导致项目内的测试自动化框架难以维护且不够稳定可靠。

https://www.selenium.dev/

Endtest

Endtest 是智能自动化测试解决方案,它使用多个开源和闭源组件去简化创建和执行测试的流程。其中之一就是 Recorder 组件可以让用户不用编程技巧就能创建和执行测试。你可以用图形化界面编辑管理自己的测试案例,而不用编写任何代码。

它和 Selenium 一样拥有灵活性,允许你自动化测试场景,其中包含 iframe、多个浏览器标签、文件上传、ShadowDOM, 等等。它同 Selenium 一样拥有跨浏览器的特性, 支持所有主流的浏览器(Chrome、Firefox、Safari、Edge、Internet Explorer)。同时,它也包括跨浏览器的云框架,支持 Windows、Mac 以及移动设备上的浏览器。

此外,它还有支持 JavaScripts 执行的组件,以及发送 API 请求和连接数据库执行 SQL 语句的组件。

这些组件可用于在测试中添加额外的验证步骤,并可准备或清理测试环境。

https://endtest.io

Watir

Watir 是一个 Ruby 的浏览器自动化测试开源库。

Watir 与对浏览器的互动方式和人类是一样的:如点击一个网页元素,填输入字符。

它的底层使用了 Selenium 并且提供同样的灵活性,也支持跨浏览器。同时,它也支持 iframes 以及多个浏览器标签。

Watir 最大的优点是 API 很容易使用,它在繁复的 Selenium API 之上增加了一层简单性。

不过,它的主要缺点是,它不如 Selenium 受欢迎,在寻找答案和解决方案方面你会遇到一些困难。

http://watir.com/

Puppeteer

一个 Node 库,它提供了高级的 API 并通过 DevTools 协议来控制 Chrome(或 Chromium)。

我认为未来它可以代替 Selenium。它也具有支持 iframe 和多个浏览器标签的灵活性。

值得一提的是,它有 2 种不同的软件包:puppeteer-core 和 puppeteer

唯一的区别是 puppeteer-core 在安装后不会自动下载 Chromium。

puppeteer 的主要缺点是缺乏跨浏览器功能,因为它仅适用于基于 Chromium 的浏览器。

即使 Opera 和 Edge 迁移到 Chromium,也无法保证 Firefox 和 Safari 将来也会这样做。

另一个缺点是,唯一受支持的语言是 Node.js。即使到 2020 年一切似乎都围绕 JS 展开,但是仍然有一些用户可能想使用其他语言进行自动化测试的开发。

https://pptr.dev/

Playwright

一个 Node 库,可通过单个 API 在 Chromium、Firefox 和 WebKit 浏览器上执行自动化测试。

Playwright 旨在不断增长的 Web 浏览器集上实现自动化操作。Playwright 类似于 Puppeteer。

它支持多页面、多域名和 iframes 测试,还可以模拟移动端设备,地理指向和权限控制也是可以测试的。

即使它具有更广泛的跨浏览器支持,但它也不支持 Internet Explorer。

因为它是一个相对较新的库,所以你可能现在在线上找不到很多资源。

如果你在编写 Node.js 代码方面有扎实的经验,那么 Playwright 可以一试。

https://playwright.dev/

Sikuli

在运行 Windows、Mac 或 Linux 的台式计算机屏幕上看到的任何内容,都可以使用 Sikuli 执行自动化测试。

它使用由 OpenCV 支持的图像识别来识别视觉组件。如果无法轻松访问 GUI 内部或要操作的应用程序或网页的源代码,这个工具会非常方便。实际上,这是大多数现代 RPA 解决方案背后的技术。

Sikuli 的优点是,元素具有唯一属性或属性是否更改都无关紧要,因为 Sikuli 仅依赖于视觉识别。

它的主要缺点是视觉容忍度让用户很难在不同的浏览器和屏幕尺寸之间实现自动化。

并且,使用 Sikuli 库需要编程技巧,并且你可以在 Python、Ruby 和 Java 之间选择。

如果你有涉及 Web 应用程序和桌面应用程序的混合自动化测试,则较好的做法是将 Selenium 用于 Web 组件,将 Sikuli 用于桌面组件。

http://sikulix.com/

Micro Focus UFT (QTP)

专有解决方案,以前称为 QuickTest Professional(QTP)。它提供了使 Web 应用程序和桌面应用程序自动化的功能。

它使用 Visual Basic 脚本语言来定位应用程序中的元素并与之交互。同时,它还提供了一个 IDE,你只需在 GUI 中创建一个流程即可在不编写任何代码的情况下构建测试。

该工具已经存在很长时间,并且确实使 Selenium 失去了很多市场份额。

https://www.microfocus.com/en-us/products/uft-one/overview

IBM Rational Functional Tester

一个提供功能、回归、GUI 和数据驱动测试的自动化测试的专业工具。它确实包括有限的跨浏览器功能,因为它仅适用于 Chrome、Firefox 和 Internet Explorer。主要优点是它还可用于自动化桌面应用程序。

优势之一是它具有 Eclipse Java Developer Toolkit 编辑器,这让你的团队可以轻松地使用 Eclipse 在 Java 中编写测试脚本。自带的 IDE 工具箱编辑器包含以下功能,如代码自动完成和高级调试选项。

将 IBM Rational Functional Tester 与 CI/CD 系统集成可能会很困难,因为它被设计用在你自己的工作站上

https://www.ibm.com/us-en/marketplace/rational-functional-tester

Jest

Jest 是一个 JavaScript 框架,允许你通过 jsdom 访问 DOM。

值得一提的是,jsdom 只是浏览器工作方式的一个近似值,用于 React 应用程序的测试框架,但不是跨浏览器测试的可靠选择。

Jest 确实提供了良好的迭代速度,并且具有强大的功能,例如模拟模块和计时器。

理想情况下,开发人员应使用它来测试某些组件,但结果不能保证该应用程序在实际的浏览器中可以正常工作。

https://jestjs.io/

Cucumber

Cucumber 是一个开源的行为驱动测试工具,支持多种编程语言,包括 Ruby,Java,Scala 和 Groovy。

创建测试案例需要编程技术。实际功能可以通过使用 Gherkin 来调用。

使用 Cucumber 的明显优势是,非技术用户可以轻松理解这些方案。

可以说 Cucumber 并不是 Selenium 的替代品,而仅仅是对 Selenium 进行了一层包装。

Selenium 和 Cucumber 的组合可提高代码的可读性,并使其更易于重用组件。

https://cucumber.io/

原文链接:

https://medium.com/swlh/the-10-best-test-automation-tools-a51e76c091df

延伸阅读:

网易CI/CD实践(下):测试自动化及API版本管理-InfoQ

移动金融类 APP 自动化测试平台技术揭秘-InfoQ

敏捷交付中的自动化测试-InfoQ

关注我并转发此篇文章,私信我“领取资料”,即可免费获得InfoQ价值4999元迷你书,点击文末「了解更多」,即可移步InfoQ官网,获取最新资讯~

uft自动化测试工具安装步骤_10款好用的自动化测试工具相关推荐

  1. uft自动化测试工具安装步骤_你需要了解的自动化测试框架知识

    01 自动化测试与测试自动化 很多人会以为自动化测试和测试自动化这两个概念没有什么不同.但是从我个人看来,这两个概念有本质上的区别. 自动化测试是指使用自动化测试工具代替人工的方式来执行测试用例.使用 ...

  2. uft自动化测试工具安装步骤_2020年十大最佳自动化测试工具

    Best Automation Testing Tools for 2020 对更快交付高质量软件(或"快速质量")的需求要求组织以敏捷,持续集成(CI)和DevOps方法论来寻找 ...

  3. vatic标注工具安装步骤(非docker安装)以及错误解决办法

    Vatic标注工具安装步骤(非docker安装)以及错误解决 1.安装参考 2.安装步骤 2.1.环境介绍 2.2.下载Vatic 2.3.配置Apache 2.4.配置MySQL 2.5.配置/安装 ...

  4. uft自动化测试工具安装步骤_自动化功能测试和接口测试工具整理

    对于自动化测试,原来谈这方面的内容比较少,但是现在我们做DevOps支撑平台的时候,在整个持续集成和交付的过程中,有一个重要的内容就是自动化测试.自动化测试的覆盖面相当大,其中既包括了CS,BS和移动 ...

  5. uft自动化测试工具安装步骤_自动化测试灵魂三问:是什么、为什么和做什么

    什么是自动化测试 在软件测试领域,有两种测试技术:「手动测试」和「自动测试」.两种方法都旨在执行测试用例,然后将实际结果与预期结果进行比较. 概括来讲手动测试是一种人工执行操作的测试技术,可确保软件代 ...

  6. python自动化工具哪个好用_10款好用的自动化测试工具推荐

    当我们功能测试干的时间比较久了,或者想要学习更多的技术,提升自己的时候,基本上第一时间就会想到的是自动化测试.而在自动化测试领域,自动化工具的核心地位毋庸置疑,下面为大家推荐10款常见常用的自动化测试 ...

  7. 【NVM】node多个版本管理工具安装步骤以及使用

    1.什么是nvm? nvm是一个管理nodejs版本的工具.在实际的开发中,有些项目的开发依赖需要不同版本的nodejs运行环境,此时我们就需要使用nvm来管理nodejs版本. 2.安装步骤 2.1 ...

  8. Vue开发者工具Vue.js devtools Vue开发者工具安装步骤 包含Vue2 和 Vue3

    保存一下操作步骤,这是Vue2的,最后有Vue3的 下载地址: https://wwm.lanzoul.com/iu4tS04cfeja   密码: vue_wt 安装步骤: 以谷歌浏览器为例 第一步 ...

  9. 常用工具:介绍一款免费开源录屏工具-captura

    网上能搜到的大部分录屏工具表面打着免费的旗号,实际上下载之后不是有水印就是限制分辨率和时长,介绍一款免费无水印的开源录屏截屏工具captura. 准备工作 要使用这个工具,必须事先在电脑上安装ffmp ...

最新文章

  1. SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
  2. 如何掌握“所有”的程序语言?没错,就是所有!
  3. 静态数组和动态数组 内存分布
  4. Linux 系统常用命令汇总(二) vi 文本编辑
  5. kettle时间维度_MySQL快速生成时间维度表
  6. 使用 Windows Sysinternals 工具进行故障排除
  7. ANSI,Unicode,UTF-8网页编码的区别【转】
  8. 5Python全站之路系列之MySL连表查询
  9. MySQL 5.7 多实例单配置 多实例多配置文件安装 | 资料
  10. c#实现txt转化为excel
  11. HeadFirstJava——13_网络与线程
  12. arcpy批量重命名
  13. 【献血小常识】------- 献血者健康检查标准
  14. clang diagnostic用例
  15. vtk医学图形提取骨骼模型的算法思路
  16. 使用pgpool-ii 搭建postgresql 高可用、负载均衡架构
  17. mingw+msys windows下配置
  18. 测试总结:如何进行弱网测试
  19. java虚拟机win10_主编解读win10系统Java虚拟机错误的详尽解决方法
  20. ftp命令拷贝文件到服务器,ftp服务器拷贝文件命令

热门文章

  1. 物业平台管理系统源码
  2. VirtualXposed源码编译
  3. try-finally的详解
  4. Python3使用PIL在图片中写文字支持中文
  5. iOS 获取本地视频播放路径
  6. 拉美最火平台Mercado Libre绑定连连跨境支付收款教程!
  7. 调用 Mathpix AIP 实现每月1000次免费识别
  8. Oracle SQL Loader切身实例
  9. 腾讯云的短信验证功能实现
  10. X、合宙Air模块Luat开发:全网首发,通过iic直接驱动OLED,720Sl开始有显时代