Swell v1.16版本更新:提供 WebRTC 测试和完全集成的 CI/CD 工作流程

Swell 是什么?

Swell 是您进行 API 测试和开发的终极解决方案!Swell 支持多种协议,包括 SSE、HTTP/2、GraphQL、WebSockets、gRPC、tRPC,以及新添加的 WebRTC v1.16,是现代 API 工具的佼佼者。Swell 由开发人员设计,面向开发人员,是一款强大的开源产品,拥有近 80 个贡献者社区。通过 Swell,我们的使命是为开发人员提供无与伦比的应用程序开发工作流程。

Swell v1.16版本更新:提供 WebRTC 测试和完全集成的 CI/CD 工作流程

Swell 最近有什么新鲜事?

作为一个团队,我们致力于为 Swell 做出三项重要贡献: WebRTC API 测试功能、简化的 CI/CD 工作流集成,以及通过增加集成测试来增强代码库的完整性。除了集成测试,我们还提高了整体测试覆盖率,并解决了单元测试和端到端测试中发现的错误。说到这里,让我们深入了解一下全新改进的 Swell!

隆重推出 WebRTC!

我们非常高兴地介绍 WebRTC,它是我们 API 测试协议库中的最新成员。为了延续 Swell 将 API 测试和开发推向新高度的传统,我们优先考虑全面集成 WebRTC, WebRTC 因其无需插件或第三方软件即可在应用程序内实现实时、点对点通信的能力而闻名。通过这项新功能,我们希望确保用户的应用程序开发工作流程始终保持最先进的水平,并为未来做好准备。

Swell v1.16版本更新:提供 WebRTC 测试和完全集成的 CI/CD 工作流程

以下是使用 Swell 初始化 WebRTC 连接的几个步骤:

  1. 要使用 WebRTC 在 Swell(客户端 1)和目标应用程序(客户端 2)之间建立点对点连接,请单击 Swell 中的“获取报价”按钮以生成“报价”SDP(会话描述协议)。此“报价”SDP 将被视为目标 API 的 WebRTC 基础设施中的“收到的报价”SDP。
  2. 使用“提供”SDP,您的目标应用程序(客户端 2)应该能够生成“应答”SDP,并将其发送回 Swell 的界面。
  3. 将这个“answer”SDP 输入到 Swell(客户端 1)中“添加到工作区”上方的文本区域中,然后将其添加到工作区。
  4. 将 WebRTC 请求添加到工作区后,单击工作区中的“发送”按钮以建立连接。
  5. 恭喜!如果您的目标应用程序成功生成有效的 SDP 报价,您应该能够通过 Swell 和您的目标应用程序之间的文本聊天或视频聊天进行自由通信!

简化 Swell: 集成 CI/CD 之旅

以前,开发人员必须在每次发布后手动捆绑 Swell 应用程序。此外,Linux 软件包无法在 macOS 环境中构建。为了解决这个问题,我们利用 GitHub Actions 实施了持续开发管道!

该工作流会在向主分支合并请求成功后自动触发。最初,所有现有的集成测试都将运行,以确保合并后的代码不包含任何错误。如果所有测试都成功通过,那么针对 Linux、Windows 和 macOS 操作系统的打包应用程序将作为草案部署到 GitHub 发布区。

createPackages.yml 文件包含整个工作流程,如下所示:

Swell v1.16版本更新:提供 WebRTC 测试和完全集成的 CI/CD 工作流程
GitHub Actions 显示的工作流程分为三部分:单元测试、创建 GitHub 发布,然后是软件包部署

此外,还在 CI 管道中添加了新的和现有的测试。

提升保证: 提高测试覆盖率和集成测试

此前,Swell 对各个功能进行了单元测试,并对前端用户界面进行了端到端测试。但是,有关 Redux 存储内状态管理准确性的测试非常有限。

1.16 版现在包含了集成测试,以测试前端用户操作和服务器响应是否适当地改变了后端的 Redux 状态。为 HTTP、GraphQL、Websockets、gRPC 和 WebRTC 添加了集成测试。

端到端和单元测试中的现有错误也得到了解决。

那么,下一步是什么?

Swell 在发挥其最大潜力之前,还有一些功能需要改进。我们一直在努力解决仍然存在的技术问题,提高代码库的质量!

WebRTC 功能目前是通过手动输入 SDP 要约和应答来建立连接的。该功能未来可能会通过 WebSocket 服务器建立 WebRTC 连接。我们已经在 WebRTC 界面中为 WebSocket 选项添加了一个下拉菜单。此外,WebRTC 功能还可用于视频和文本信息。未来的迭代还可以实现音频数据。

虽然大部分集成测试已经完成,但 HTTP2 和 tRPC 的集成测试覆盖率仍有待提高。此外,WebRTC 在集成测试中还存在一些小错误,但基础框架已经稳固到位。

之前迭代中的一些网络功能仍有缺陷/未完成,如 OpenAPI 和模拟服务器。这些都为未来的迭代者完善和增强 Swell 提供了宝贵的起点。

最后,当前版本的 Electron 比最新版本落后几个版本。虽然我们知道调整代码库以与 Electron 的最新版本保持一致会带来许多挑战,但这是确保 Swell 长期生存的关键一步。

如果您有兴趣为 Swell 做出贡献,请访问 GitHub

作者:Nitesh Manem、Kevin Li、Alec Derritt、Chad DeGange

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/webrtc/32201.html

(0)

相关推荐

发表回复

登录后才能评论