目录
前言
Katalon Studio
Selenium
Appium
JMeter
SOAP UI
Robot Framework
Watir
JUnit
Robotium
Citrus
总结
免费的开源框架和工具由于其开源特性,现在逐渐成为自动化测试的首选解决方案。区别在于,你是喜欢使用类库编写一个全新的自动化测试框架,或者喜欢使用一个现成的工具。
Katalon Studio 是一款流行的免费测试自动化工具,适用于 Web、移动、API和桌面(Windows)。Katalon Studio 提供低代码和脚本方法,消除了构建和维护单独测试框架的培训成本。
借助强大的内置功能,用户可以直接专注于测试活动,而在创建、运行和维护测试上花费更少的精力。
支持的编程语言:Java 和 Groovy
操作系统兼容性:Windows、macOS 和 Linux
使用录制和回放、手动和脚本模式灵活快速地创建测试
调试 UI 和智能报告以解决失败的测试
具有页面对象模型 (POM) 设计和测试工件共享的可重用测试工件(测试用例、对象、关键字等)
支持的测试方法:BDD、DDT、关键字驱动测试、跨浏览器测试(Headless、Chrome、Edge、Firefox 和 Safari)和跨平台移动测试(iOS、Android)
允许导入 Selenium、SoapUI 和 Postman 项目
与 CI/CD 系统(Jenkins、Bamboo、Azure DevOps、CircleCI 等)、ALM(例如 Jira)集成成本低
Selenium 是基于 Web和开源测试自动化主题的第一个选择。更准确地说,Selenium 不应当被视为一种工具,而是一个开源库。
凭借着名的 Selenium WebDriver、Selenium IDE、Selenium Grid 和最近发布的 Selenium 4 三重奏,这肯定是编程自动化的的首选。
支持的编程语言:Java、JavaScript (Node.js)、Groovy、Scala、PHP、Perl、Python、Ruby 或 C#
导入在 Eclipse、Visual Studio 或 NetBeans 上编写的高级测试
兼容 macOS、Windows 和 Linux 以实现跨平台执行
可定制的附加组件和插件
允许与 Ant、Maven、TestNG、JUnit、NUnit 等框架集成。
Appium 与 Selenium 共享类似的后缀,同样是移动自动化测试要学习的开源框架。从原生、移动 Web 到混合应用程序,Appium 一直被受追捧,越来越多的人选择Appium作为APP测试框架。
支持的编程语言:Java、PHP、Objective-C、C#、Clojure、带有 Node.js 的 JavaScript、Python、Perl 或 C#,只要 Selenium 支持
JSON Wire Protocol 为所使用的编程语言增加了灵活性
自动化测试脚本可以在 iOS 和 Android 平台上运行
可以在没有源代码的情况下测试应用程序
Apache JMete是一种用于性能(负载和压力测试)和功能测试的自动化工具。JMeter 的主要用途是测量应用程序的性能并充当虚拟用户向服务器发送大量请求。
支持的编程语言:Java、Groovy
用于自定义代码的用户友好的 UI/GUI 和 Beanshell 处理器,特别是Groovy脚本引擎
适用于 HTTP、HTTPS、JDBC、LDAP、FTP、LDAP、SOAP、POP3、IMAP、SMTP、TCP 和 Java 脚本协议
可与 Jenkins 和第三方报告工具集成
多线程框架(并发线程组)将函数与线程组分开采样
为了测试 SOAP 和 REST API,我们选择了 SOAP UI。除了 API 测试之外,SoapUI 用于 Web 服务测试的开源应用程序还包括功能、负载和Mock测试。
支持的编程语言:Groovy 和 Javascript
对 SOAP/WSDL、 REST 和 JMS的协议支持
用于数据驱动测试的 DataSource TestStep
简单的需求管理
与 Maven、HUDSON、JUnit 和 Apache Ant 集成
Robot Framework 使用 Python 作为主要脚本语言,是一个用于验收测试和机器人流程自动化 (RPA) 的开源框架。Robot Framework 通常与免费的移动和桌面应用程序测试工具相关联。
支持的编程语言:Python、Jython (Java)、PyPy 和 IronPython (.NET)
操作系统兼容性:Windows、macOS、Unix 和 Linux
可以使用 Eclipse、RIDE(Robot Framework IDE)或文本编辑器来构建测试
关键字驱动测试、自动完成完成和语法突出显示以减少编码时间
与 Appium 和 Selenium 集成
Watir 提供 Ruby 中的开源库,用于跨浏览器或Web 测试自动化。Watir 在后台使用 Selenium,因此它能够利用 Selenium 的通用 API。
支持的编程语言:Ruby
浏览器兼容性:Chrome、Firefox、Edge、Internet Explorer、Safari
BDD 设计可通过与 Cucumber、RSpec 等的集成获得。
Watir 7.0.0 在 RubyGems 上可用,但需要 Ruby 2.6+ 和 Selenium 4.0
Java 加单元测试为我们提供了 JUnit。在Java Top 10 Libraries中排名第 7 ,这个免费的开源测试框架是 Java 开发人员在单元级别编辑和重构代码的最爱。更重要的是,JUnit 5 的发布带来了有用的更新,例如在层次结构中更好地组织测试、一次同时使用多个运行器等等。
支持的编程语言:Java、Groovy
使用注释和断言类编写自动化单元测试脚本
与第三方软件一起使用的扩展 API 或扩展机制
并行执行(5.3 及以上版本)
AssertThrows 方法用于更轻松的异常和超时处理
Robotium 通常被称为「Android 的 Selenium」,是一种流行的开源框架,用于 Android 应用程序黑盒测试,包括原生和混合。
支持的编程语言:Java
运行时绑定以查看所有 Android UI 组件和活动
与 Gradle、Maven 和 Ant 集成以编写自动化移动测试
使用 Config.sleepDuration 和 Config.sleepMiniDuration 可调整执行速度
我们最后一个开源测试自动化框架是 Citrus。Citrus 肯定会为从事集成测试和验证消息传输连接的开发人员敲响警钟。除此之外,连接 JUnit 或 TestNG 以补充使用对于编写基于 Java 的单元测试脚本是很常见的。
支持的消息协议:HTTP、REST、SOAP、Kafka、JMS 等。用于灵活测试创建的 XML 或 Java 编码 与 Apache Camel、Arquillian、Kubernetes 和 Docker 集成以启用微服务集成测试 使用 Cucumber 和 YAKS 进行 BDD 和云原生 BDD 自动化测试 使用 REST 扩展测试 POST、GET、PUT、DELETE、OPTIONS、PATCH、HEAD、REST API。
感谢每一个认真阅读我文章的人!!!
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,与我一起学习交流。