2025自动化测试工具集锦

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


Java 测试自动化

一个关于 Java 测试自动化框架、工具、库和软件的综合精心整理的列表,帮助软件工程师在 Java 上轻松启动测试自动化。由 SDCLabs 赞助。

如果有问题/想法/疑问,可以加入这里的聊天讨论: https://gitter.im/atinfo/awesome-test-automation


目录

  1. 1. xUnit 框架

  2. 2. TDD / ATDD / BDD

  3. 3. 模型驱动测试 (Model-Based Testing)

  4. 4. 代码分析与覆盖率

  5. 5. Web UI 测试自动化

  6. 6. 移动端测试自动化

  7. 7. API 测试自动化

  8. 8. Windows UI 测试自动化

  9. 9. Unix / Linux UI 测试自动化

  10. 10. MacOS UI 测试自动化

  11. 11. 服务器端测试自动化

  12. 12. 虚拟环境

  13. 13. 性能 / 压力 / 负载测试

  14. 14. 安全检测

  15. 15. 构建工具

  16. 16. 持续集成

  17. 17. 报告

  18. 18. 文档生成

  19. 19. 编辑器、IDE 和控制台

  20. 20. ORM 框架和库

  21. 21. 有用的库

  22. 22. 测试数据

  23. 23. 数据库测试自动化


xUnit 框架

  • • JUnit
    常用的 Java 测试框架。

  • • TestNG
    测试框架。

  • • Test Data Supplier
    TestNG DataProvider 的包装器,可以以更灵活的方式提供测试数据。

  • • Sunshine
    基于 Java 的 xUnit 测试运行器(例如 TestNG、JUnit ...)的封装。它可以自动在 JAR 文件中查找带有测试的类,传递给所需的测试运行器并报告执行状态。


TDD / ATDD / BDD

工具

  • • JBehave
    一款行为驱动开发(BDD)框架。BDD 是测试驱动开发(TDD)和验收测试驱动设计(ATDD)的演进,旨在让初学者和专家都能更轻松直观地使用这些实践。

  • • Cucumber-JVM
    Cucumber 的纯 Java 实现,支持大多数 JVM 上的主流编程语言。

  • • JGiven
    针对 Java 的开发者友好且务实的 BDD 工具。开发者可以使用流式、特定领域的 API(DSL)在纯 Java 中编写场景,JGiven 会生成易于领域专家阅读的报告。

  • • easyb
    针对 Java 平台的 BDD 框架。通过使用基于规范的领域特定语言(DSL),easyb 旨在实现可执行但又可读的文档。

  • • Robot Framework
    一款通用的测试自动化框架,用于验收测试和验收测试驱动开发(ATDD)。

  • • awesome-robotframework
    一个关于 Robot Framework 资源和库的精选列表。

  • • Spectrum
    针对 Java 8 的 BDD 风格测试运行器,灵感来自 Jasmine、RSpec 和 Cucumber。

  • • Gauge
    轻量级、跨平台的测试自动化工具,可用业务语言编写测试用例。

  • • Spock
    基于 Java 和 Groovy 的规格化(Specification)测试框架。

  • • Concordion
    灵活且可扩展的 BDD/SBE 工具,使用业务语言创建美观的“活文档”。

扩展

  • • cucumber-report-db
    将 Cucumber-JVM 的 BDD 测试结果存储在数据库中,并提供报表功能。


模型驱动测试 (Model-Based Testing)

  • • GraphWalker
    一款模型驱动测试框架。该工具可读取多种格式(graphml、dot、json)的模型,并从中生成测试。


代码分析和覆盖率

  • • SonarQube
    开源项目,用于管理代码质量。

  • • Gradle Quality Plugin
    用于 Java 和 Groovy 项目的静态代码分析插件,集成了 Checkstyle、PMD、FindBugs 和 CodeNarc。插件实现了统一的控制台输出,大大简化了开发者的工作流程,让违规检查的体验类似编译错误。

  • • Qulice
    Java 项目的静态分析质量控制工具。它结合了最好的静态分析工具并对它们进行预配置,因此无需单独使用或配置各个工具。

  • • JaCoCo
    免费的 Java 代码覆盖率库,由 EclEmma 团队创建,基于多年对已有库的使用和集成经验。


Web UI 测试自动化

  • • Selenium
    可移植的 Web 应用测试框架。

  • • SikuliX
    能自动化任何你在桌面屏幕上看到的东西,支持 Windows、Mac 或部分 Linux/Unix。它使用基于 OpenCV 的图像识别来识别并控制 GUI 组件。在无法轻松访问 GUI 内部或应用/网页源代码的情况下,非常有用。

框架和封装

  • • Selenide
    基于 Selenium 的简洁 API,可编写稳定且可读的 UI 测试。

  • • Selenified
    一个开源框架,简化 Selenium 测试。为 Selenium 调用提供包装,以便详细报告、错误处理、简化测试环境配置(线程安全),并可本地或云端(Grid 或 SauceLabs)运行。

  • • Serenity BDD (Thucydides)
    创新的开源库,用于编写更高效的自动化验收测试,并使用这些测试生成产品和项目的丰富文档和报告。

  • • htmlelements
    一个 Java 框架,以易用的方式在测试中与网页元素交互。

  • • atlassian-selenium
    开源(BSD)项目,旨在简化在 Selenium/WebDriver 中开发功能性测试。

  • • stevia
    Persado 提供的开源 QA 自动化测试框架。

  • • darcy
    一个开源的 Java 8 框架,使用声明式、与自动化库无关的 DSL 将用户界面建模为页面对象。

  • • Satisfy
    基于 Thucydides + JBehave 的开源 Java 框架,开箱即用地支持 WebUI、SOAP、REST、电子邮件、文件及随机数据生成等。

  • • JDI Light
    UI 测试自动化框架,帮助编写快速、可持续的测试,并提供清晰、可预测的测试运行结果。

  • • Geb Framework
    一个 Groovy 测试自动化框架,适配 WebDriver 的页面对象模式,并结合 Spock 进行 BDD。

  • • FluentLenium
    为 Selenium 提供了一个流畅的 Java 接口,使 UI 功能性测试可读性更强,也更可重用、可靠和稳健。

  • • Selion
    基于 TestNG 和 Selenium 构建,提供一组能力,让你能快速开始使用 WebDriver。可用于测试 Web 和移动端应用。

  • • Frameworkium
    一个可用于 Web、App 和 API 测试的自动化框架。集成了 saucelabs、allure、rest-assured、jackson、gson。可通过 Jitpack 获取。

  • • Carina
    基于 Java 的测试自动化框架,统一了所有测试层:移动应用(Web、原生、混合)、Web 应用、REST 服务、数据库。

  • • NoraUi
    NoraUi(NOn-Regression Automation for User Interfaces)是一个基于 Selenium、Cucumber、Gherkin 的 Java 框架,可创建 GUI 测试项目,并能轻松集成到 CI 流程中。

  • • Cubano
    一个用 Java 编写的测试自动化框架,为开发验收和回归测试提供项目结构,无需花时间自行构建和维护。

  • • Jalenium
    一个 Java 的 Selenium API,可以轻松集成到任何使用 Selenium JAR 的 Maven Selenium Java 项目中。

  • • TestZeus
    专为 Salesforce 而构建的开源 UI 测试自动化框架,带有自动定位器功能。

扩展

  • • BrowserMob Proxy
    使得在浏览器中捕获性能数据更加容易,通常与 Selenium 或 Watir 等自动化工具结合使用。

  • • Selenoid
    Selenium Hub 的后继者,将浏览器运行在容器中。可在任何平台上实现可扩展、不可变、自行托管的 Selenium-Grid,只需一个可执行文件。

  • • Selenium-Grid-Extras
    简化对 Selenium Grid 节点的管理,通过在构建完成后清理测试环境来稳定节点。

  • • Selenium Grid Extensions
    通过额外功能扩展 Selenium Grid。可在 Selenium 测试中结合 Sikuli 使用。

  • • Selenium Grid Router
    一个轻量级服务器,用于将 Selenium WebDriver 请求路由和代理到多个 Selenium hub。

  • • Docker Selenium Grid
    一个提供 Selenium Grid 原生视频录制功能的项目,最初用于与 docker-selenium 项目结合。

  • • Video Recorder Java
    这个库可以轻松录制 UI 测试的视频,只需添加几个注解即可。

  • • Zalenium
    基于 Docker 的可弹性 Selenium Grid,支持视频录制、实时预览以及在线/离线仪表板。

  • • SikuliFactory
    针对 SikuliX 的 PageFactory 模型封装。

  • • Mailosaur
    通过 Mailosaur 进行邮件测试/自动化的 Java 客户端。

  • • TrueAutomation.IO
    旨在解决不稳定定位符(locators)问题的一个解决方案。


移动端测试自动化

  • • Appium
    一款开源测试自动化框架,用于测试原生、混合和移动网页应用。它通过 WebDriver 协议驱动 iOS 和 Android 应用。

  • • Calabash
    一款跨平台(Android 和 iOS)测试自动化框架,针对原生和混合应用。语法易于理解,即便非技术人员也能编写和执行应用的自动化验收测试。

  • • Robotium
    全面支持原生和混合应用的 Android 测试自动化框架。可轻松编写功能性、系统以及用户验收测试,覆盖多个 Android Activity。

  • • UIAutomator
    一种高效测试 UI 的方式,可针对真实 Android 设备和模拟器执行自动化功能测试。包含一个 GUI 工具(viewer)来扫描和分析 Android 应用的 UI 组件。

  • • Espresso
    Google 在 2013 年开源的 Android UI 测试自动化框架,API 小巧、预测性强、易于学习,基于 Android Instrumentation 框架之上,可快速编写简洁而可靠的 Android UI 测试。


API 测试自动化

  • • hikaku
    一个验证 REST-API 实现是否符合其规范的库。

  • • Karate-DSL
    Karate 是一个 BDD JavaScript 框架,可对任意类型的 Web 服务执行一系列调用,并检查响应是否符合预期。可轻松构建复杂请求、遍历响应数据并将响应数据链式传递给下一步。内置的有效载荷验证引擎可进行“智能比对”,可选择忽略特定字段。

  • • Retrofit
    针对 Android 和 Java 的类型安全 HTTP 客户端。

  • • REST-Assured
    用于测试和验证 REST 服务的 Java 库。


Windows UI 测试自动化

  • • SikuliX
    同上,使用图像识别来自动化任何在屏幕上可见的元素,适用于 Windows、Mac 或部分 Linux/Unix。

  • • Winium for Desktop
    基于 WinForms 和 WPF 平台的 Windows 应用自动化测试工具,开源。

  • • WinAppDriver
    Windows 应用程序驱动(WinAppDriver),在 Windows 10 上使用类似 Selenium 的方式进行 UI 测试自动化。支持通用 Windows 平台(UWP)、Windows Forms (WinForms)、WPF 以及经典 Win32 应用。


Unix / Linux UI 测试自动化

  • • SikuliX
    同上,使用图像识别自动化桌面屏幕上的任何内容,适用于 Windows、Mac 或部分 Linux/Unix。


MacOS UI 测试自动化

  • • SikuliX
    同上,使用图像识别自动化桌面屏幕上的任何内容。


服务器端测试自动化

  • • Citrus
    用 Java 编写的测试框架,可为企业 SOA 应用创建完全自动化的端到端测试用例。Citrus 模拟周边接口,支持多种传输协议(HTTP、JMS、TCP/IP、FTP、SOAP、XML、JSON 等)。


虚拟环境

  • • Vagrant
    易配置、可靠的工具,用于构建和维护可移植的虚拟开发环境。

  • • Docker
    当前流行的容器平台。开发者可用 Docker 来解决“在我的机器上运行正常”这类问题;运维团队可利用 Docker 在隔离的容器中并行运行和管理应用。


性能 / 压力 / 负载测试

  • • Apache JMeter
    功能测试和性能测试工具。

  • • The Grinder
    负载测试框架,可轻松使用多台负载注入机进行分布式测试。

  • • Lightning
    在 CI/CD 服务器上集成 JMeter 的非功能测试。

  • • Tsung
    基于 Erlang 的多协议分布式负载测试工具。

  • • Gatling
    基于 Scala、Akka 和 Netty 的开源负载测试框架,功能强大,易用且可维护度高。采用消息而非线程来模拟虚拟用户,可轻松模拟数千并发。

  • • CRUX
    基于 Kubernetes(AKS)和 JMeter 的性能测试集成方案,使性能测试轻松接入 Azure CI/CD 流程。可在每次性能构建时创建并销毁所需的基础设施,从而降低成本。


安全检测

  • • BDD-Security
    BDD-Security 使用 Gherkin 的 Given/When/Then 语法来描述安全需求,同时也能作为标准的单元/集成测试来执行,可集成到构建/测试/部署流程中。


构建工具

  • • Apache Ant
    Java 库和命令行工具,通过在构建文件中描述的目标和依赖来驱动过程。最常用场景是构建 Java 应用。

  • • Apache Maven
    管理软件项目和理解项目的工具。基于项目对象模型(POM)的概念,可统一管理构建、报告和文档。

  • • Gradle
    开源构建自动化系统,可自动化软件包的构建、测试、发布、部署等,也可用于生成静态网站或文档等。


持续集成

  • • Jenkins
    获奖的应用程序,用于监控重复任务的执行,如构建软件项目或执行定时任务。

  • • TeamCity
    功能强大且用户友好的持续集成与部署服务器,开箱即用。

  • • Drone
    面向繁忙开发团队的自助式持续集成平台。

  • • Thundra Foresight
    一款 CI 可观察性工具,为测试套件提供可见性。


报告

  • • ReportPortal
    强大的客户端-服务端报告工具。通过机器学习减少处理结果的时间,一键获取历史执行数据、日志、截图及任何二进制附件。可自定义 widget 和仪表板,提供实时集成,无需等待执行结束。支持各种语言和平台,免费、开源。

  • • Allure
    开源框架,用于生成清晰、易读的测试执行报告。

  • • Gradle Allure Plugin
    第三方 Gradle 插件,用于将 Allure 集成到 Spock、TestNG 和 JUnit 测试中。

  • • ExtentReports
    .NET 和 Java 的 HTML 报告库,易于使用且报告美观。可折叠查看测试和步骤摘要以及执行状态,便于快速分析。

  • • ReportNG
    一个简单的 HTML 报告插件,基于 TestNG 单元测试框架。

  • • Zebrunner Reporting
    测试自动化管理工具,用于聚合并展示测试结果。可提供详细报告,包括测试日志、截图和视频录制。

  • • Difido-reports
    一个生成 HTML 测试报告的通用实现。

  • • cucumber-reporting
    主要用于在 Jenkins 上发布 Cucumber 测试报告,也可用于 Maven 命令行或其他场景。生成无需依赖即可离线查看的报告,并包含图表展示 Cucumber 测试运行结果。

  • • Cluecumber
    针对 Cucumber 和 Karate 生成的 JSON 报告文件的报告库,可生成清晰而简洁的 HTML 报告,并具有高度的可定制性。


文档生成

(欢迎在此部分贡献相关条目)


编辑器、IDE 和控制台

  • • IntelliJ IDEA
    免费开源的 IDE,支持 Java、Groovy、Scala 和 Android 开发。

  • • IntelliJ IDEA Selenium plugin
    用于简化在 IntelliJ IDEA 中创建 Selenium Web 测试的插件。

  • • Eclipse
    以 Java IDE、C/C++ IDE 和 PHP IDE 而闻名。

  • • Genie plugin
    用于纯 AS 3.0 SWF 和 Flash 游戏的功能测试自动化工具。

  • • NetBeans
    官方 Java 8 IDE,提供编辑器、代码分析和转换器,可轻松迁移到 Java 8 新特性。

  • • VSCode
    代码编辑,重新定义。


ORM 框架和库

  • • Hibernate
    帮助开发者更轻松地编写数据持久化代码,支持对象/关系映射(ORM),专注于数据持久层。

  • • Morphia
    一个轻量级、类型安全的库,用于在 MongoDB 与 Java 对象之间映射。提供类型安全且流式的 Query API,并使用注解配置,无需编写 XML。

  • • MyBatis
    一款优先支持自定义 SQL、存储过程和高级映射的持久化框架。几乎免去所有 JDBC 代码,不需手动设置参数或处理结果集。可使用简单的 XML 或注解进行配置。


有用的库

  • • StreamEx
    对 Java 8 Streams 的增强库。

  • • Vavr
    Java 8 的函数式扩展,提供持久化集合、函数式错误处理、并发编程模式、模式匹配等。

  • • Lombok
    消除样板代码的工具,通过注解自动生成常用的代码结构(如 getter/setter、构造方法等)。

  • • AspectJ
    Java 的无缝面向切面编程扩展。可实现错误检查与处理、同步、性能优化、监控和日志支持、调试支持、多对象协议等交叉关注点的干净模块化。

  • • aShot
    基于 WebDriver 的截图工具。可截图、裁剪、美化、对比。

  • • WireMock
    灵活的 Web 服务模拟与桩服务库。与一般的模拟工具不同,它会启动一个真实的 HTTP 服务器,以便与被测应用建立真实的 HTTP/HTTPS 连接。

  • • MockServer
    用于模拟任意通过 HTTP/HTTPS 协议通信的系统(服务、网站等)。

  • • Mockito
    流行的 Java Mock 框架,API 简洁,能编写易读的测试。

  • • PowerMock
    允许对通常被视为无法测试的代码进行单元测试的 Java 框架。

  • • XMLUnit
    用于测试和对比 XML 输出(Java 和 .NET 皆可)。

  • • Awaitility
    一种 DSL,可简洁地表达对异步系统的期望。

  • • Beanmother
    用于在测试中设置 Java Bean 测试数据的库。

  • • PIT
    进行变异测试的工具(Pitest)。

  • • GreenMail
    开源的易用邮件服务器测试套件,用于邮件集成测试或在开发中作为沙盒邮件服务器。

  • • image-comparison
    Java 库,用于对比两张相同尺寸的图像并可将差异部分用矩形标记。可忽略图像的某些区域,常用于自动化 QA 测试。

  • • AssertJ
    功能强大的流式断言框架,可与任意 xUnit 兼容。

  • • Truth
    Google 开发的 Java/Android 流式断言框架。

  • • JSONassert
    JSON 断言库。

  • • selenium-to-restassured
    允许在 Selenium WebDriver Cookies 和 Rest Assured 之间来回共享的适配器。

  • • TestRail-JUnit
    使基于 JUnit 的测试轻松集成 TestRail 的库。

  • • TestRail-TestNG
    使基于 TestNG 的测试轻松集成 TestRail 的库。

  • • Allure-Environment-Creator
    小型库,帮助轻松为 Allure 提供和存储环境信息。

  • • Owner
    一款简化 Java Properties 文件处理的库,减少配置解析所需的样板代码。

  • • DeepfakeHTTP
    一个使用 HTTP 转储(dump)作为响应来源的 Web 服务器工具,可模拟 REST、GraphQL 等各种 API 以进行客户端测试。

  • • Cucable
    一个 Maven 插件,可以将 Cucumber 场景拆分成最小可运行的 Feature 文件和 Runner 类,从而简化并行执行。


测试数据

  • • Faker
    生成姓名、地址、电话号码等虚拟数据的 Java 库实现。

  • • Instancio
    用于在单元测试中创建完整填充的对象,包含 JUnit 5 扩展。


数据库测试自动化

  • • DBTestCompare
    比较两个 SQL 查询结果的应用,支持所有提供 JDBC 驱动的数据库(已在 Microsoft SQL Server、Teradata、Snowflake、PostgreSQL 和 MySQL\MariaDB 测试)。
    DBTestCompareGenerator - 用于生成可由 DBTestCompare 运行的数据库测试的工具。


其他

资源

  • • Serenity BDD (Thucydides) libraries

  • • Automation tests structure

  • • Websites

    • • automated-testing.info — 测试自动化社区

    • • atinfo.github.io/at.info-knowledge-base — 不同工具和技术的测试自动化示例知识库

    • • selenium-simplified — 使用 Selenium 2 WebDriver 进行自动化浏览器测试的简化教程

Python 测试自动化

一个精心整理的 Python 测试自动化框架、工具、库和软件的综合列表,帮助软件工程师在 Python 上轻松地启动测试自动化工作。由 SDCLabs 赞助。

如果有问题/想法/疑问,可以加入这里的聊天讨论: https://gitter.im/atinfo/awesome-test-automation


目录

  1. 1. xUnit 框架

  2. 2. TDD / ATDD / BDD

  3. 3. 测试数据操作

  4. 4. 代码分析

  5. 5. Web UI 测试自动化

  6. 6. 移动端测试自动化

  7. 7. Windows UI 测试自动化

  8. 8. Unix / Linux UI 测试自动化

  9. 9. MacOS UI 测试自动化

  10. 10. REST API 测试

  11. 11. 虚拟环境

  12. 12. 性能 / 压力 / 负载测试

  13. 13. 安全检测

  14. 14. 持续集成

  15. 15. 报告

  16. 16. 文档生成

  17. 17. 编辑器、IDE 和控制台

  18. 18. 有用的库

  19. 19. 资源

  20. 20. 其他优秀的测试自动化列表

  21. 21. 贡献


xUnit 框架

框架

  • • unittest
    自带于 Python 的单元测试库。

  • • unittest2
    Python 2.7 及以上 unittest 框架的新特性在 Python 低版本上的一个回移版(backport)。

  • • pytest
    一个成熟且功能全面的 Python 测试工具,帮助你编写更好的程序。

    • • plugincompat - 用于测试运行 pytest 插件并检查兼容性。

  • • test-junkie
    高度可配置的现代测试框架。

  • • nosetests
    一种更好用的 Python 测试方式。

  • • slash
    由 Python 编写的测试框架。

  • • lemoncheesecake
    一个 Python 框架,面向功能测试,提供了 fixture、matcher、通过测试套件层次和元数据(测试/套件名称、描述、标签、属性、链接)来组织测试,拥有丰富的报告特性及多种报告格式(JSON、XML、HTML、JUnit)。

扩展

  • • proboscis
    针对 Python 内置 unittest 模块和 Nose 的增强,借鉴了 TestNG 的特性。

  • • grail
    用于基于“步骤”来创建测试脚本的库。

  • • testify
    单元测试框架,提供了增强的测试夹具(fixture)设置、可将测试套件拆分为多个分块以便并行运行,还提供了 PEP8 命名约定和丰富的日志/报告输出选项。

  • • trial
    unittest 的扩展,用于支持使用 Deferreds 编写异步单元测试,并增加了 'skip' 和 'todo' 结果类型。包括一个命令行程序,可发现测试并与 doctest、coverage 集成。

  • • subunit
    透明地为 unittest 用例/套件提供在独立进程中运行的支持:防止测试中的系统级更改影响测试运行器。也允许从其他进程中的测试报告到 unittest 框架,形成统一的测试环境。

  • • testresources
    提供一种机制来管理“资源”(多个测试需要的昂贵基础设施)。可根据需要来构造和释放资源;也可选用 TestSuite 优化测试运行顺序,从而减少构造与释放资源的次数。与 unittest 兼容。

  • • testtools
    从 Twisted、Bazaar 等项目的自定义扩展中提炼而来的对 unittest 的有用扩展。

  • • Sancho
    Sancho 2.1 执行测试并对失败的测试提供输出;不会统计通过/失败次数。目标是那些不会修复失败测试的项目。

  • • zope.testing
    强大的测试运行器,包括对失败后进行 post-mortem 调试的支持,同时提供了性能剖析和覆盖率报告。独立包,与 Zope 无依赖,也可用于不使用 Zope 的项目。

  • • pythoscope
    可以自动或半自动地为 Python 老旧系统生成单元测试的工具。

  • • testlib
    为标准 unittest 提供更多功能:更多 assert 方法;支持模块级别的 setup/teardown;跳过测试等功能。

  • • dutest
    面向 doctest 的面向对象接口,可从 doctest 中获取 unittest 测试用例。允许在交互示例中进行 setUp/tearDown,并可控制 doctest 提供的各种选项。通过特定类可以跨包层次选择性发现测试。

  • • green
    干净、带颜色输出的测试运行器。可与 Nose 或 trial 类比。

  • • ddt
    使用 unittest 进行数据驱动测试的库。

  • • pytractor
    针对 Selenium Python 绑定的扩展,让测试 Angular.js 应用更简易。

  • • stestr
    基于 subunit 的并行 Python 测试运行器。

  • • pytest-django
    允许使用 pytest 工具测试你的 Django 项目/应用。

  • • pytest-asyncio
    帮助在 pytest 中测试 asyncio 代码。


TDD / ATDD / BDD

BDD

  • • behave
    BDD 工具。

  • • lettuce
    BDD 工具。

    • • lettuce-tools - 一系列 Lettuce 的扩展和工具,填补了该项目的功能空白。

  • • contexts
    一种可描述化 Python 测试的工具。

  • • mamba
    为 Python 而生的 BDD 测试工具。

  • • pyvows
    针对 Python 的异步行为驱动开发(BDD)。

  • • pytest-bdd
    基于 py.test(即 pytest)的 BDD 库。

  • • pytest-play
    一个 ATDD 的 pytest 插件,能够通过执行纯 YAML 文件来自动化动作、断言和测试指标。

  • • robotframework
    一款通用的测试自动化框架,用于验收测试和验收测试驱动开发(ATDD)。

  • • awesome-robotframework
    一个汇集 Robot Framework 资源与库的精选列表。

  • • radish-bdd
    带有扩展功能的 BDD 测试工具。

断言(Assertions)

  • • pyshould
    基于 pyhamcrest,采用 “Should” 风格的断言。

  • • pyhamcrest
    Hamcrest 的 Python 版本匹配器。

  • • sure
    一个强大且灵活的 Python 测试断言库。

  • • assertpy
    Python 测试的简洁断言库,支持流式 API,兼容 Python 2 和 3。

Mocking

  • • mock
    Python 的模拟(Mocking)和补丁(Patching)库。

  • • Ludibrio
    优雅的 Python 测试替身框架(mocks、stubs、spy、dummies)。

  • • responses
    用于模拟 Python requests 库请求的工具库。

  • • doublex
    强大的 Python 测试替身框架。

  • • freezegun
    通过模拟 datetime 模块在测试中“穿越时间”。

  • • httpretty
    HTTP 请求模拟工具。

  • • httmock
    一个针对于 requests 的 mock 库,兼容 Python 2.6+ 和 3.2+。

  • • pretenders
    用于测试的假服务器(fake servers)。

  • • mock-server
    基于 tornado,具有管理面板的简单 REST 和 XML-RPC API mock 服务器。

  • • VCR.py
    自动模拟 HTTP 交互,以简化并加速测试。

  • • model-mommy
    帮助 Django 测试中轻松创建大量对象的工具(简单而强大的 API)。

  • • django-test-plus
    针对 Django 默认 TestCase 的有用扩展。

  • • Mockintosh
    Mock 服务器生成器,可生成 RESTful APIs 并与消息队列通信来模拟异步任务。

  • • pytest-mock
    将标准库 unittest.mock 封装成 pytest fixture 的插件。


测试数据操作

  • • faker
    生成虚拟数据的 Python 包。

  • • fake2db
    假数据库生成器。

  • • ForgeryPy
    易用的伪造数据生成器(Python 版,移植自 forgery)。

  • • radar
    生成随机日期/时间。

  • • robotframework-faker
    Robot Framework 中对 faker 的封装库。

  • • hypothesis
    基于性质(Property)测试的库,灵感来自 Haskell 的 Quickcheck。

  • • factory_boy
    替代 fixtures 的库,灵感源于 thoughtbot 的 factory_girl。

  • • fauxfactory
    随机数据生成器。

  • • mimesis
    速度快、极易使用,可生成大量多语言假数据的 Python 包。


代码分析

  • • ruff
    用 Rust 编写的超高速 Python 代码检查器(linter)。

  • • pysonar2
    一个 Python 的类型推断与索引器。

  • • coverage
    代码覆盖率测量工具。

  • • pycallgraph
    可视化 Python 应用调用流程(调用图)的库。

  • • Flake8
    模块化源代码检查器,整合 pep8、pyflakes 等。

  • • pylama
    Python 和 JavaScript 的代码审查工具。

  • • Pylint
    源代码分析器。

  • • hacking
    OpenStack Hacking 风格检查(flake8 插件)。

  • • prospector
    分析 Python 代码,输出错误、潜在问题、风格违例以及复杂度信息。

  • • wemake-python-styleguide
    史上最严格、最主观的 Python 代码风格检查器!

  • • pytest-cov
    帮助在 pytest 中识别已被测试执行到的代码部分的插件。


Web UI 测试自动化

  • • selenium webdriver
    浏览器自动化工具。

  • • splinter
    一个测试 Web 应用的工具,提供简洁的元素查找、表单操作等浏览器操作。

  • • mechanize
    在 Python 中进行有状态的程序化 Web 浏览。

框架和封装

  • • play_selenium
    pytest-play 插件,让你通过简单的 YAML 文件配合 Selenium 驱动浏览器。

  • • py.saunter
    针对 Selenium RC 和 WebDriver 库的一款“有主见”的自动化框架。

  • • moz-web-qa
    一个针对 py.test 的插件,为 Mozilla 的 WebQA 项目提供其他特性。

  • • testutils sst
    基于 Python 的浏览器端功能测试框架。

  • • wtframework
    用于配置化地编写 Web 测试的 Python 框架。

  • • holmium.core
    提供页面对象 (Page Objects) 和常用工具来编写 Selenium 测试用例。

  • • robotframework-selenium2library
    Robot Framework 的 Web 测试库。

  • • gocept.selenium
    针对 Selenium 远程控制的 API,适合为任何 WSGI、Plone、Zope 2、ZTK 或 Grok 应用编写测试并与测试套件集成。

  • • webium
    一个 Python 实现的 Page Object 模式库。

  • • robotframework-anywherelibrary
    跨平台(桌面浏览器、Android、iOS)的 Robot Framework 测试库,内部集成了 Selenium2(WebDriver) 和 Appium。

  • • robotframework-pageobjects
    使用 robotframework + selenium 实现的 Page Object 模式,可在框架外部使用。

  • • elementium
    采用 jQuery 风格的 Python 语法糖,帮助进行稳定的自动化浏览器测试。

  • • slickqa
    slick-webdriver-python 项目是对 Python WebDriver 客户端绑定的一种封装。

  • • selene
    在 Python 中编写简洁 UI 测试,支持 AJAX、PageObjects、Widgets。

  • • hitch
    面向服务式应用的高级集成测试框架。

  • • Needle
    与 Selenium 和 nose 结合,可进行视觉测试,比较页面某部分的截图与“黄金截图”是否一致,也可测试 CSS 值及 HTML 元素位置。

  • • PyPOM
    针对 Selenium 和 Splinter 的 Python Page Object Model 库。

  • • pypom_form
    基于 PyPOM 的页面对象模型,适用于基于模式(schema)的表单。

  • • POM
    轻量级的 Page-Object-Model 微框架,用于快捷愉悦地开发 Web UI 测试。

  • • websmith
    Web 测试的领域特定语言(DSL)。

  • • pages
    轻量级的 Page Object & Component Python 库,用于编写 UI 测试。

  • • seleniumbase
    用于基于 Selenium WebDriver 构建自动化测试的简单 Python 框架,依赖 pytest 或 noose 等模块来运行,配合 noose 可生成 HTML 报告。

  • • Toolium
    将 Selenium 和 Appium 库封装为 Python 工具,可在单个项目中测试 Web 和移动应用。提供可在配置文件中选择和配置驱动,并实现了 Page Object 模式及简单的可视化测试方案。

  • • Mops
    一个 Python 封装库,提供友好统一的 API,可同时使用 Selenium、Appium 和 Playwright 来简化 Web 应用测试自动化。减少 Selenium 等的等待时长,并支持跨所有框架的视觉对比。

扩展

  • • webdriver_manager
    简化对不同浏览器二进制驱动的管理。

  • • pytest_splinter
    用于在测试中集成 pytest 与 splinter/selenium 的插件。

  • • lettuce_webdriver
    让 lettuce 使用 Selenium WebDriver。

  • • Browsermob Proxy
    Browsermob Proxy 的 Python 封装。

  • • FireRobot
    Firefox 插件,以更高效的方式创建 Robot Framework / Selenium 测试。

  • • pytractor
    Selenium Python 扩展,用于测试 Angular.js 应用。

  • • Selenium-Requests
    扩展 Selenium WebDriver 类,使其可使用 Requests 库进行请求并自动处理 cookies、请求头等。

  • • selenium-respectful
    一个最简的 Selenium WebDriver 封装,可同时在多个网站内受速率限制的情况下工作。支持并行处理。

  • • Mailosaur
    通过 Mailosaur 进行邮件测试/自动化的 Python 客户端。

  • • gauge
    轻量级、跨平台的测试自动化工具,用业务语言编写测试用例。虽然核心用 Go 语言编写,也可用 Python 驱动。

  • • Golem
    一个完整的端到端测试自动化工具和框架。基于 Selenium WebDriver,易学易用(对编程要求不高),可使用 Python 来扩展。

  • • Pylenium.io
    将 Selenium、Cypress 和 Python 的优势集于一体的工具包。

  • • Playwright
    一个可用单一 API 来自动化 Chromium、Firefox、WebKit 浏览器的 Python 库。Playwright 提供稳定、高效且快速的自动化能力。


移动端测试自动化

  • • appium
    用于测试原生、混合和移动 Web 应用的开源自动化框架。通过 WebDriver 协议驱动 iOS 和 Android 应用。

  • • Winium.StoreApps
    针对 Windows Store 应用的开源测试自动化工具,可在模拟器上进行测试。实现了 Selenium Remote WebDriver。

  • • robotframework-androidlibrary
    满足 Android 自动化需求的 Robot Framework 测试库。

  • • robotframework-appiumlibrary
    Robot Framework 的 Appium 测试库。

  • • robotframework-ioslibrary
    满足 iOS 自动化需求的 Robot Framework 测试库。

  • • uiautomator
    Android uiautomator 测试工具的 Python 封装,Android 4.1+ 通过 ADB 连接设备即可。

  • • ATX
    智能手机自动化工具,支持 iOS、Android、WebApp 及游戏自动化。

  • • Airtest
    跨平台自动化测试框架,主要面向游戏测试,也适用于原生应用测试。


Windows UI 测试自动化

  • • Winium.Desktop
    针对 WinForms 和 WPF 平台的 Windows 应用测试自动化工具,开源。实现了 Selenium Remote WebDriver。

  • • PyAutoGUI
    跨平台的 GUI 自动化库,可在 Python 脚本中控制键盘和鼠标。

  • • robotframework-autoitlibrary
    适用于 Robot Framework 的 Windows GUI 测试库。

  • • autopy
    跨平台的 GUI 自动化工具包,功能相对简单。

  • • UISoup
    Python 库,支持在 Windows 和 Mac OS 上进行 UI 相关测试。(仅支持 Python x86)

  • • pywinauto
    非常“Pythonic”的 Windows GUI 自动化库,支持 64 位的 Python 2 和 3。

  • • SikuliX
    基于 OpenCV 的 GUI 测试框架,通过图像识别定位元素,用 Python 2.7 编写脚本。

  • • AutoItDriverServer
    通过 (Remote)WebDriver API 控制/驱动 AutoIt 的 Selenium 服务器。


Unix / Linux UI 测试自动化

  • • ldtp
    跨平台 Linux 桌面(GUI 应用)测试项目。

  • • fMBT
    面向多平台 GUI 测试的 Python 库。

  • • SikuliX
    同上,基于 OpenCV 的 GUI 测试框架,使用图像识别定位元素,脚本基于 Python 2.7。


MacOS UI 测试自动化

  • • PyAutoGUI
    跨平台的 GUI 自动化库,可在脚本中操作键盘和鼠标。

  • • ATOMac
    使用 Apple Accessibility API 来完整测试 Mac 应用程序的 Python 库。

  • • SikuliX
    同上,基于 OpenCV 的 GUI 测试框架,使用图像识别定位元素,脚本基于 Python 2.7。


REST API 测试

  • • Rester
    用于测试(RESTful)HTTP API 的框架。

  • • pyresttest
    REST 测试和 API 微基准测试工具。

  • • siesta
    Python 的 REST 客户端。

  • • play_requests
    pytest-play 插件,让你通过简单的 YAML 文件使用 requests 进行 HTTP 调用。

  • • gabbi
    通过在 YAML 文件中声明请求和响应来运行 HTTP 测试的工具。

  • • Schemathesis
    用于基于 Open API & Swagger 规范进行性质测试(property-based testing)的工具。它读取应用模式(schema)并生成测试用例,验证应用是否符合其模式。集成了 pytest & unittest。

  • • httprunner
    简洁优雅且功能强大的 HTTP(S) 测试框架,支持使用 HAR 录制并生成测试用例。

  • • tavern
    可命令行使用或作为 Python 库/pytest 插件的 RESTful API 测试工具,采用简洁、灵活的基于 YAML 的语法。


虚拟环境

  • • virtualenv
    创建独立 Python 环境的工具。

  • • virtualenvwrapper
    针对 virtualenv 的一系列扩展。

  • • tox
    通用的虚拟环境管理和测试命令行工具,可在不同 Python 版本上测试代码。

  • • PyVirtualDisplay
    针对 Xvfb、Xephyr 和 Xvnc 的 Python 封装,用于 GUI 测试或自动截图等场景。

  • • pew
    一系列管理多个虚拟环境的工具。

  • • Vex
    在指定虚拟环境中运行命令。

  • • PyRun
    一款无需安装的单文件 Python 版本。

  • • pyenv
    简单的 Python 版本管理工具。

  • • Tapper
    覆盖所有测试基础设施的工具。

  • • Poetry
    Python 项目的依赖管理工具,简单易用。


性能 / 压力 / 负载测试

  • • Multi-Mechanize
    开源的性能和负载测试框架。

  • • locust
    由 Python 编写的可扩展用户负载测试工具。

  • • Yandex.Tank
    负载和性能基准测试工具。

  • • pytest-benchmark
    pytest 的基准测试(benchmark)插件。

  • • Airspeed Velocity
    简单的 Python 基准测试工具,带有 Web 报告。

  • • The Grinder
    负载测试框架,可使用多台负载注入机进行分布式测试。支持常见的 HTTP Web 服务器、SOAP、REST Web 服务、应用服务器(CORBA、RMI、JMS、EJB)等,以及自定义协议。脚本使用 Jython 或 Clojure。

  • • Tsung
    开源的多协议分布式负载测试工具,可用于对 HTTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP、Jabber/XMPP 服务器进行压力测试。

  • • taurus
    面向持续测试(Continuous Testing)的自动化友好框架。

  • • molotov
    Python 3.5+ 的简单负载测试工具。

  • • Awesome pytest speedup
    一份优化 pytest 测试套件速度的最佳实践清单。


安全检测

  • • sparta
    一个图形界面应用,通过简化扫描和枚举阶段来协助渗透测试网络基础设施。

  • • OWASP ZAP
    允许从 Python 脚本调用 OWASP ZAP 功能的 API。

  • • pythem
    多功能的渗透测试框架,只能在 GNU/Linux 上运行,仅适用于合法范围内的测试。

  • • SQLMap
    开源渗透测试工具,自动检测并利用 SQL 注入漏洞,可接管数据库服务器,支持丰富的检测和开关。

  • • fsociety
    一整套渗透测试框架,包含“黑客”所需的脚本。


持续集成

  • • buildbot
    自动化编译/测试流程的系统,以验证代码改动。

  • • jenkins
    可扩展的开源持续集成服务器。

  • • travis-ci
    免费的托管持续集成平台。


报告

  • • ReportPortal.io
    强大的测试结果管理与分析平台,可与 pytest、RobotFramework 等集成。支持机器学习、实时集成、可视化趋势与统计、自定义仪表板和小部件,提供测试自动化的可见度,可嵌入到 CI/CD 流程中。免费开源,GitHub 可获取。

  • • allure pytest
    PyTest 的 Allure 适配器。

  • • HTMLTestRunner
    对 Python 标准库 unittest 的扩展,可生成简洁易读的 HTML 测试报告。

  • • unittest-xml-reporting
    可将测试结果保存为 XML 文件的 unittest 测试运行器,可被各种工具(构建系统、IDE、CI 服务器等)消费。

  • • PrettyTable
    在控制台生成美观的表格报告的 Python 库。

  • • pytest-html
    为 PyTest 结果生成 HTML 报告的插件。


文档生成

  • • Sphinx
    Python 文档生成器。

  • • MkDocs
    支持 Markdown 的文档生成器。

  • • Pycco
    最初的简洁实现(仅一百行左右)的文档生成器,类似“文学编程(literate-programming)”风格。


编辑器、IDE 和控制台

  • • pycharm
    智能代码编辑器,对 Python 提供一流支持。

  • • pydev
    基于 Eclipse 的完整功能 Python IDE。

  • • sublime
    一个先进的文本编辑器,适合编写代码、标记文本和散文。

  • • ipython
    一个多语言的交互式计算命令行,最初为 Python 而开发。

  • • VSCode
    针对 Python 有大量插件的现代编辑器。


有用的库

这些库可能有助于构建更好的测试自动化。

  • • requests
    人性化设计的 Apache2 授权 HTTP 库。

  • • WebTest
    帮助测试 WSGI 应用的库。

  • • lxml
    在 Python 中处理 XML 和 HTML 的最丰富、最易用库。

  • • suds
    用于消费 Web Services 的轻量级 Python SOAP 客户端。

  • • fabric
    精简基于 SSH 的应用部署或系统管理任务的 Python 库和命令行工具。

  • • BeautifulSoup
    解析 HTML 文档(含有不完整标签等“Tag soup”)的库,可生成可用于提取数据的解析树。

  • • Soupy
    BeautifulSoup 的封装,使构建复杂查询时更简单。

  • • PyQuery
    在 XML 文档上使用 jQuery 式选择器的工具。内部使用 lxml 处理 XML/HTML。

  • • waiting
    等待条件(predicate)达成的实用库。

  • • Comcast
    模拟糟糕网络连接,以便构建更健壮的系统。

  • • dateutil
    对标准 Python datetime 模块的扩展。

  • • python-tesseract
    tesseract OCR(Linux、Mac、Windows)的包装类。

  • • pywinrm
    Windows 远程管理 (WinRM) 的 Python 客户端,可从任何可运行 Python 的机器调用 Windows 本地对象(如运行批处理脚本、Powershell、WMI 变量等)。

  • • fig
    借助 Docker 让开发环境更隔离更快速。

  • • gitpython
    让你可高层次(git-porcelain)或底层次(git-plumbing)操作 git 仓库的 Python 库。

  • • Pyro4
    允许在网络中通信的对象间轻松交互的 Python 工具。

  • • keyboard
    在 Windows 和 Linux 上监听和模拟全局键盘事件。

  • • Errbot
    一个聊天机器人,与常用的聊天服务相连,能将你的工具整合到对话中。

  • • tappy
    一系列在 Python 中使用 TAP(Test Anything Protocol)处理测试数据的工具。

  • • pyscreenshot
    可使用多种后端(X11 等)来将屏幕内容复制到 PIL 或 Pillow 图像对象中的库,用于替换仅支持 Windows 的 ImageGrab

  • • TBVaccine
    一个让 Python 堆栈跟踪(Traceback)更易读的工具,可自动突出重点行并弱化不必要行,同时用颜色区分各要素。

  • • PyPattyrn
    帮助更容易、更快速地在项目中实现设计模式(Design Patterns)的 Python 包。

  • • Spyne
    Python RPC 工具包,可以方便地使用多种协议/传输方式来对外暴露有良好定义的在线服务。

  • • Pexpect
    让 Python 更好地控制其他应用的库。

  • • devtools-proxy
    Chrome DevTools 的代理,可与 Selenium/ChromeDriver 完全兼容。

  • • extratools
    超过 145 个比标准库 itertools/functools 等更高阶的函数式工具,也超越 toolz/fancy/more-itertools 等。

  • • retrying
    一个通用的重试(retry)库,在 Python 中轻松为任何操作添加重试机制。

  • • mitmproxy
    免费开源的交互式 HTTPS 代理。

  • • Python MSS
    使用 ctypes 编写的纯 Python、多平台、多屏幕截图库,速度极快。

  • • Loguru
    旨在为 Python 带来更愉悦的日志记录体验的库。

  • • prettyprinter
    为 Python 3.5+ 提供语法高亮、声明式、可组合的 Pretty Printer 库。

  • • jsonschema
    JSON Schema 在 Python 中的实现,强大且通用,用于验证 JSON 数据结构。


资源

发现新库、信息、工具等的地方

  • • python books
    (Python 相关书籍资源)

  • • pytest-tricks
    关于 Python 测试工具 pytest 的技巧与心得 - http://hackebrot.github.io/pytest-tricks/

网站

  • • automated-testing.info — 测试自动化社区

  • • atinfo.github.io/at.info-knowledge-base — 各种工具和技术的测试自动化示例知识库

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​
在这里插入图片描述​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值