【AutoTest】自动化测试工具大全(Java)

news2025/4/19 2:26:45

😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!

  • 自动化测试工具大全(Java)
  • 自动化测试工具大全(Python)

自动化测试工具大全(Java)

  • 1.xUnit 框架
  • 2.TDD / ATDD / BDD
  • 3.模型驱动测试(Model-Based Testing)
  • 4.代码分析与覆盖率
  • 5.Web UI 测试自动化
    • 框架和封装
    • 拓展
  • 6.移动端测试自动化
  • 7.API 测试自动化
  • 8.Windows UI 测试自动化
  • 9.Unix / Linux UI 测试自动化
  • 10.MacOS UI 测试自动化
  • 11.服务器端测试自动化
  • 12.虚拟环境
  • 13.性能 / 压力 / 负载测试
  • 14.安全检测
  • 15.构建工具
  • 16.持续集成
  • 17.报告
  • 18.编辑器、IDE 和控制台
  • 19.ORM 框架和库
  • 20.有用的库
  • 21.测试数据
  • 22.数据库测试自动化

1.xUnit 框架

  • JUnit:一个广泛使用的 Java 单元测试框架,用于编写和运行可重复的自动化测试。它是 xUnit 测试框架家族的一部分,支持注解(如 @Test)、断言(assertEquals 等)和测试生命周期管理(@Before@After)。

  • TestNG:TestNG 是一个受 JUnit 和 NUnit 启发的测试框架,但引入了许多新功能,使其更强大且更易于使用。TestNG 的全称是 Testing, Next Generation(下一代测试)。

  • Test Data Supplier:Test Data Supplier 是 TestNG 中提供测试数据的一种机制,主要通过 @DataProvider 注解来实现。它允许你将测试数据与测试逻辑分离,使测试更加灵活和可维护。

  • Sunshine:基于 Java 的 xUnit 测试运行器(如 TestNG、JUnit)的封装,能自动在 JAR 文件中查找测试类并传递给测试运行器,同时报告执行状态。

2.TDD / ATDD / BDD

  • JBehave:JBehave 是一个 行为驱动开发BDDBehavior-Driven Development)框架,专门用于 Java 应用程序。它允许开发者、测试人员和业务分析师通过自然语言描述软件行为来协作定义需求,并将这些描述转化为可执行的测试用例。BDD 是测试驱动开发(TDD)和验收测试驱动设计(ATDD)的演进,旨在让初学者和专家都能更轻松直观地使用这些实践。

  • Cucumber-JVM:Cucumber-JVM 是一个基于 Java 的行为驱动开发测试框架,它是 Cucumber 在 JVM(Java 虚拟机)平台上的实现。它允许开发者、测试人员和业务分析师使用自然语言(Gherkin 语法)编写可执行的测试规范,并将其映射到 Java 代码实现自动化测试。

  • JGiven:JGiven 是一个基于 Java 的行为驱动开发框架,旨在提供更流畅、更结构化的测试代码编写方式。与 Cucumber-JVM 和 JBehave 不同,JGiven 不依赖 Gherkin 语法,而是直接在 Java 代码中使用 Given-When-Then 风格编写测试,使测试逻辑更贴近代码,同时保持可读性。

  • easyb:easyb 是一个基于 Groovy 的行为驱动开发测试框架,旨在让开发者、测试人员和业务分析师能够用自然语言编写可执行的测试规范。它结合了 Groovy 的动态语言特性和 BDD 的 Given-When-Then 风格,使得测试代码更易读、更接近业务需求。

  • Robot Framework:Robot Framework 是一个通用的自动化测试框架,采用 关键字驱动(Keyword-Driven) 和 数据驱动(Data-Driven)的设计模式,适用于功能测试、API 测试、UI 测试等场景。它使用简单、高度可扩展,并支持自然语言编写测试用例,适合测试人员、开发者和业务分析师协作。

  • awesome-robotframework:awesome-robotframework 是一个精选的 Robot Framework 生态资源列表,类似于 GitHub 上常见的 awesome-xxx 系列项目(如 awesome-pythonawesome-java)。它由社区维护,收集了与 Robot Framework 相关的最佳工具、库、教程、扩展和实用资源,帮助用户更高效地使用该框架。

  • Spectrum:Spectrum 是一个专门为 Java 8 设计的轻量级 BDD 测试框架,它通过 Lambda 表达式和流畅的 API 提供更符合自然语言的测试编写方式。灵感来自 Jasmine、RSpec 和 Cucumber。

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

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

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

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

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

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

4.代码分析与覆盖率

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

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

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

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

5.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 测试的自动化框架。集成了 saucelabsallurerest-assuredjacksongson。可通过 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)问题的一个解决方案。

6.移动端测试自动化

  • 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 测试。

7.API 测试自动化

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

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

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

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

8.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 应用。

9.Unix / Linux UI 测试自动化

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

10.MacOS UI 测试自动化

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

11.服务器端测试自动化

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

12.虚拟环境

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

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

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

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

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

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

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

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

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

14.安全检测

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

15.构建工具

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

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

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

16.持续集成

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

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

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

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

17.报告

  • 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 报告,并具有高度的可定制性。

18.编辑器、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:代码编辑,重新定义。

19.ORM 框架和库

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

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

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

20.有用的库

  • 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 类,从而简化并行执行。

21.测试数据

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

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

22.数据库测试自动化

  • DBTestCompare:比较两个 SQL 查询结果的应用,支持所有提供 JDBC 驱动的数据库(已在 Microsoft SQL Server、Teradata、Snowflake、PostgreSQL 和 MySQL / MariaDB 测试)。

  • DBTestCompareGenerator:用于生成可由 DBTestCompare 运行的数据库测试的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2336807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea报错java: 非法字符: ‘\ufeff‘解决方案

解决方案步骤以及说明 BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题? 最后重新编译,即可运行!!! BOM是什么? \ufeff 是 Unicode 中的 BOM&#xff0…

PHY芯片与网络变压器接线设计指南——不同速率与接口的硬件设计原则

一、PHY与网络变压器的核心作用 • PHY芯片(物理层芯片) • 功能:实现数据编码(如Manchester、PAM4)、时钟恢复、链路协商(Auto-Negotiation)。 • 接口类型:MII/RMII/GMII/RGMII/…

【学习笔记】计算机网络(八)—— 音频/视频服务

第8章 互联网上的音频/视频服务 文章目录 第8章 互联网上的音频/视频服务8.1概述8.2 流式存储音频/视频8.2.1 具有元文件的万维网服务器8.2.2 媒体服务器8.2.3 实时流式协议 RTSP 8.3 交互式音频/视频8.3.1 IP 电话概述8.3.2 IP电话所需要的几种应用协议8.3.3 实时运输协议 RTP…

linux: 文件描述符fd

目录 1.C语言文件操作复习 2.底层的系统调用接口 3.文件描述符的分配规则 4.重定向 1.C语言文件操作复习 文件 内容 属性。所有对文件的操作有两部分:a.对内容的操作;b.对属性的操作。内容是数据,属性其实也是数据-存储文件&#xff0c…

记录一次后台项目的打包优化

文章目录 前言分析问题寻找切入点根据切入点逐一尝试cdn引入node包遇到的一些问题记录最终结果 前言 优化,所有开发者到一定的程度上,都绕不开的问题之一 例如: 首页加载优化白屏优化列表无限加载滚动优化,图片加载优化逻辑耦合…

问题记录(四)——拦截器“失效”?null 还是“null“?

拦截器“失效”?null 还是"null"? 问题描述 这个问题本身并不复杂,但是却是一个容易被忽略的问题。 相信大家在项目中一定实现过强制登录的逻辑吧,巧了,所要介绍的问题就出现在测试强制登录接口的过程中&am…

图论整理复习

回溯: 模板: void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {处理节点;backtracking(路径,选择列表); // 递归回溯&#xff…

C++修炼:vector模拟实现

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》、《C修炼之路》 欢迎点赞&#xff0c;关注&am…

案例-索引对于并发Insert性能优化测试

前言 最近因业务并发量上升,开发反馈对订单表Insert性能降低。应开发要求对涉及Insert的表进行分析并提供优化方案。   一般对Insert 影响基本都在索引,涉及表已按创建日期做了分区表,索引全部为普通索引未做分区索引。 优化建议: 1、将UNIQUE改为HASH(64) GLOBAL IND…

[区块链lab2] 构建具备加密功能的Web服务端

实验目标&#xff1a; 掌握区块链中密码技术的工作原理。在基于Flask框架的服务端中实现哈希算法的加密功能。 实验内容&#xff1a; 构建Flash Web服务器&#xff0c;实现哈希算法、非对称加密算法的加密功能。 实验步骤&#xff1a; 哈希算法的应用&#xff1a;创建hash…

muduo库源码分析: TcpConnection

一. 主要成员: socket_&#xff1a;用于保存已连接套接字文件描述符。channel_&#xff1a;封装了上面的socket_及其各类事件的处理函数&#xff08;读、写、错误、关闭等事件处理函数&#xff09;。这个Channel中保存的各类事件的处理函数是在TcpConnection对象构造函数中注册…

RuoYi-Vue升级为https访问-后端安装SSL证书(单台Linux服务器部署)

一、前言 当Nginx已经作为反向代理并成功配置了SSL证书时,前端客户端与Nginx的通信已经是加密的。但Nginx和后端服务之间的连接可能仍然存在明文传输的风险。 如果Nginx和后端服务位于同一台物理机器或者通过安全的内部网络(如私有VLAN或防火墙保护的内网)进行通信,则可以…

博客文章文件名该怎么取?

文章目录 &#x1f9fe; 1. 博客文章文件名该怎么取&#xff1f;&#x1f4cc; 2. 为什么文件名重要&#xff1f;✅ 3. 推荐命名规范✅ 3.1 使用 **小写英文 中划线&#xff08;kebab-case&#xff09;**✅ 3.2 简短但具备语义✅ 3.3 如果是系列文章&#xff0c;可加前缀序号或…

【Web API系列】Web Shared Storage API之WorkletSharedStorage深度解析与实践指南

前言 在现代Web开发领域&#xff0c;数据存储与隐私保护的矛盾始终存在。传统存储方案如LocalStorage和Cookies面临着日益严格的安全限制&#xff0c;而跨域数据共享的需求却在持续增长。正是在这样的背景下&#xff0c;Web Shared Storage API应运而生&#xff0c;其核心组件…

UE5 制作方块边缘渐变边框效果

该效果基于之前做的&#xff08;https://blog.csdn.net/grayrail/article/details/144546427&#xff09;进行修改得到&#xff0c;思路也很简单&#xff1a; 1.打开实时预览 1.为了制作时每个细节调整方便&#xff0c;勾选Live Update中的三个选项&#xff0c;开启实时预览。…

2.3 Spark运行架构与流程

Spark运行架构与流程包括几个核心概念&#xff1a;Driver负责提交应用并初始化作业&#xff0c;Executor在工作节点上执行任务&#xff0c;作业是一系列计算任务&#xff0c;任务是作业的基本执行单元&#xff0c;阶段是一组并行任务。Spark支持多种运行模式&#xff0c;包括单…

软件测试——BUG概念

目录 一、软件测试生命周期 二、BUG 2.1BUG概念 2.2BUG要素 2.3BUG级别 2.4 BUG的生命周期 2.5测试人员与开发人员因为BUG发生争执 2.6BUG评审 一、软件测试生命周期 软件测试贯穿于软件的整个生命周期 软件测试的生命周期指测试流程&#xff0c;每个阶段有不同的目标…

二、Android Studio环境安装

一、下载安装 下载 Android Studio 和应用工具 - Android 开发者 | Android DevelopersAndroid Studio 提供了一些应用构建器以及一个已针对 Android 应用进行优化的集成式开发环境 (IDE)。立即下载 Android Studio。https://developer.android.google.cn/studio?hlzh-c…

Hyperlane:重新定义Rust Web开发的未来 [特殊字符][特殊字符]

Hyperlane&#xff1a;重新定义Rust Web开发的未来 &#x1f680;&#x1f525; 大家好&#xff01;&#x1f44b; 今天我要向各位技术爱好者介绍一个令人兴奋的Rust HTTP服务器库——Hyperlane &#x1f31f;。作为一个轻量级、高性能的框架&#xff0c;Hyperlane正在悄然改变…

从零构建机器学习流水线:Dagster+PyTorch实战指南

本文将系统讲解机器学习流水线的核心原理&#xff0c;并通过Dagster编排框架与PyTorch深度学习库的实战结合&#xff0c;手把手演示从数据预处理到生产部署的全流程。文中包含可运行的代码示例、最佳实践和性能对比分析&#xff0c;帮助开发者快速构建可扩展、易维护的机器学习…