备注
测试引擎已弃用 ,将在将来的版本中删除。 使用 Power Platform Playwright 示例在 Power Platform 和 Dynamics 365 服务中测试自动化功能。
Power Apps测试引擎包括模型上下文协议 (MCP) 服务器实现,该实现通过应用程序确定性分析增强测试创建。 本指南介绍如何使用此功能生成更准确、与上下文相关的测试。
什么是模型上下文协议?
模型上下文协议(MCP)是 AI 工具之间通信的标准,用于提供上下文和作。 在测试引擎环境中,它可以启用:
- 确定性分析:扫描和分析应用程序结构
- 上下文感知:了解代码关系和依赖关系
- 代码生成:根据上下文创建代码片段
- 交互式协助:通过相关建议响应用户查询
- 计划集成:利用计划设计器来制定结构化的测试计划
测试引擎 MCP 服务器提供标准输入/输出(stdio)实现,可与 MCP 客户端一起使用,例如Visual Studio、GitHub Copilot或其他兼容工具。
测试引擎 MCP 服务器的工作原理
测试引擎 MCP 服务器将确定性应用程序扫描与生成式建议相结合:
扫描阶段:分析您的应用程序结构以识别:
- 控件类型和层次结构
- 导航路径
- 数据源和架构
- 常见交互模式
- 解决方案组件关系
- 实体定义和关系
- 表单布局和业务规则
- 自定义代码组件
分析阶段:处理扫描结果以确定有助于识别以下内容的优化提示:
- 可测试的组件和性能
- 潜在的测试方案
- 覆盖率优化机会
- 风险领域
- 数据依赖关系
- 所需的测试数据设置
计划集成阶段:与计划设计器协同工作以:
- 按业务需求组织测试
- 确定关键测试方案的优先级
- 创建结构化测试计划
- 跟踪测试覆盖率与计划项的对比情况
- 生成有关测试覆盖率的报告
推荐阶段:生成与上下文相关的提示,以协助:
- 测试模板和结构
- Power Fx 断言
- 导航序列
- 数据验证模式
- 模拟数据定义
- 错误处理方案
集成阶段:通过 stdio 与 MCP 客户端通信以:
- 响应用户提示
- 提供基于上下文的建议
- 建议的提示,以帮助生成完整的测试用例
使用 MCP 方法的好处
与纯生成方法相比,模型上下文协议服务器具有多种优势,可以配置这些方法以改进:
| 益处 | 描述 |
|---|---|
| 准确性 | 确定性分析确保生成的测试参考实际控制和属性 |
| 可靠性 | 测试基于应用程序的实际结构,而不是假设的模式 |
| 上下文感知 | MCP 服务器了解应用程序的结构并可以生成更相关的测试 |
| 与计划设计器集成 | 允许根据业务需求和计划项目组织测试 |
| 解决方案元数据利用率 | 使用你的解决方案中的实体定义、关系和业务规则 |
| 测试数据生成 | 创建建议,以根据解决方案的数据模型生成适当的测试数据 |
| 与大型语言模型(LLM)互补 | 与大型语言模型配合使用,增强其生成能力 |
| 标准化方法 | 遵循 MCP 规范,以便与各种客户端进行一致的交互 |
设置 MCP 服务器
要使用测试引擎 MCP 服务器,请执行以下操作:
- 安装最新版本的 Power Apps 测试引擎 CLI
- 在工作区中设置应用程序源文件
- 配置 MCP 服务器以分析您的工作空间
- 将 MCP 客户端连接到服务器
先决条件
- Power Apps测试引擎 CLI (最新版本)
- 源代码控制的 Power Platform 解决方案
- MCP 兼容的客户端,例如Visual Studio或GitHub Copilot
将计划设计器与 MCP 结合使用
计划设计器 提供了一种结构化的方法来组织测试工作并确定其优先级。 当与测试引擎 MCP 服务器一起使用时,它增强了测试生成过程:
- 测试计划创建:定义具有特定目标和成功标准的测试计划
- 需求映射:将测试链接到业务需求和解决方案组件
- 测试优先级:在实施解决方案时确定关键路径和高风险区域,以便进行重点测试
- 覆盖率分析:根据计划项和解决方案组件跟踪测试覆盖率
- 测试数据定义:为每个测试场景指定测试数据要求
计划设计器信息如何增强MCP服务器
MCP 服务器使用计划设计器信息来:
- 将测试生成重点放在高优先级领域
- 创建涵盖计划定义要求的测试数据
- 结构测试以验证特定计划项目
- 生成与业务优先级一致的全面测试覆盖率
- 提供测试和业务需求之间的可追溯性
入门
查看 测试引擎 MCP 获取关于 MCP 服务器和入门的信息。
将确定性分析与生成式 AI 相结合
测试引擎 MCP 服务器的真正强大之处在于将确定性分析与生成功能相结合:
- 确定性分析通过识别实际组件来确保准确性
- 生成式 AI 提供自然语言理解和创意测试场景
- 它们共同开发了既可靠又全面的测试
这种混合方法有助于克服以下两者的局限性:
- 纯粹的确定性方法可能缺乏对创造性测试场景的覆盖
- 纯生成方法可以引用不存在的控件或不正确的属性
- 审查流程以完善和改进生成的结果
最佳做法
使用测试引擎 MCP 服务器时:
- 提供完整的源上下文:确保解决方案文件夹包含所有相关文件
- 在提示中具体说明:包括具体的控件名称和预期行为
- 增量迭代:从基本测试开始,逐步增加复杂性
- 验证生成的测试:在执行前查看和调整测试
- 与手动专业知识相结合:将 MCP 服务器用作生产力工具,而不是替代测试知识
故障排除
如果遇到 MCP 服务器问题,请尝试以下故障排除步骤:
| 问题 | 解决 |
|---|---|
| 服务器无法启动 | 验证安装和 PATH 环境变量 |
| 客户端无法连接 | 检查 stdio 配置和文件权限 |
| 生成的测试引用了不正确的控件 | 确保您的解决方案文件完整且最新 |
| 分析似乎不完整 | 使用详细日志查看服务器正在扫描的内容 |