本文档描述了 Cypress 中的 App 和 Launchpad 组件,它们构成了应用程序的主要用户界面。App 是用户运行和调试测试的主要测试界面,而 Launchpad 是用户首先交互的项目选择和配置界面。有关这些接口使用的 GraphQL API 的信息,请参阅 GraphQL API。
Cypress 的用户体验分为两个不同的界面
这些界面协同工作,为 Cypress 测试提供完整用户体验。
来源
App 和 Launchpad 都作为 Vue.js 应用程序实现,通过共享数据层和 GraphQL API 与 Cypress 的核心功能进行通信。
来源
App 和 Launchpad 作为独立的包实现,共享依赖项和通用数据层。
| 包 | 描述 |
|---|---|
@packages/app | 运行测试的主应用程序界面 |
@packages/launchpad | 项目选择和配置界面 |
@packages/frontend-shared | 共享 UI 组件和本地化 |
@packages/data-context | 共享数据层和操作 |
@packages/graphql | GraphQL API 定义和解析器 |
来源
Launchpad 是 Cypress 用户的入口点,负责项目选择、配置和设置。
Launchpad 的主屏幕为用户提供测试选项和项目配置功能。
来源
来源
Launchpad 通过 ProjectLifecycleManager 和 ProjectConfigManager 处理项目配置。主要职责包括:
cypress.config.js 加载项目配置来源
App 是主要的测试界面,用户在此选择、运行和调试测试。
来源
来源
App 为管理 spec 提供了一个全面的界面,包括:
来源
App 和 Launchpad 通过共享数据层和 GraphQL API 与 Cypress 后端进行通信。
DataContext 为 App 和 Launchpad 使用的数据和操作提供了集中式 API。它包括:
来源
GraphQL API 提供了前后端通信的类型安全接口。关键部分包括:
来源
ProjectLifecycleManager 处理 Cypress 项目的生命周期,包括:
来源
App 和 Launchpad 都与浏览器进行交互以执行测试
来源
这些界面连接到几个服务器组件
来源
对于组件测试,Launchpad 提供了额外的配置选项:
然后,App 使用这些配置来运行选定框架和打包器的组件测试。
来源
App 和 Launchpad 组件构成了 Cypress 的主要用户界面,为配置项目、选择测试、运行和调试测试提供了全面的环境。它们通过共享数据层和 GraphQL API 协同工作,提供无缝的用户体验。