Token导航 LogoToken导航TokenDH.com
AI Testing logo
浏览器工具stdio官方级别未说明来源级核验

AI Testing

MCP Server

一个基于Python的AI自动化网页测试框架,通过Chrome DevTools集成实现自然语言测试用例执行,支持批量测试和Azure Application Insights的全面遥测。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
浏览器自动化Python网页抓取

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

RezaMahmood

提供方

RezaMahmood

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv venv

详细介绍

人工智能测试框架

一个基于Python的测试框架,它利用人工智能通过模型上下文协议(MCP)集成Chrome DevTools来执行自动化网页测试。该框架具备全面的遥测功能,可与Azure Application Insights集成,并支持批量测试执行。

概述

这个框架允许您编写自然语言测试用例,这些用例将由一个使用Chrome浏览器自动化技术的AI代理执行。该代理能够浏览网站、与网页元素进行交互,并提供详细的测试结果分析。

关键特性

  • 🤖 机器人 基于人工智能的测试GPT-4执行的自然语言测试指令
  • 🌐 代表互联网或全球网络的符号,可直接译为“🌐(互联网/全球网络)”。在实际语境中,可根据需要具体说明其含义。 浏览器自动化通过MCP集成Chrome DevTools进行真实浏览器测试
  • 📊 表格 Azure 应用程序见解(或 Azure 应用性能监控)全面的遥测、日志记录和性能监控
  • 📋(清单/列表) 批量测试从CSV文件执行多项测试并生成详细报告
  • 🔄 翻译为中文是:循环/旋转(这个符号本身在中文里没有直接对应的词汇,但通常表示循环、重复或旋转的动作或状态)。 不可变测试执行每个测试独立运行,不会受到上下文污染
  • 🚀 火箭/快速上升/飞速发展(根据上下文可灵活翻译) GitHub Actions自动化测试工作流及结果报告

先决条件

  • Python 3.11+
  • Node.js(用于Chrome DevTools MCP服务器)
  • Azure OpenAI API访问

设置

1. 克隆仓库

git clone 
cd AI-Testing

2. 创建并激活虚拟环境

python3 -m venv venv
source venv/bin/activate

3. 安装Python依赖项

pip install -r requirements.txt

4. 配置环境变量

创建一个 .env 在根目录中放置包含您的 Azure OpenAI 和 Application Insights 凭据的文件:

# Azure OpenAI Configuration (required)
AZURE_OPENAI_API_KEY=your_api_key_here
AZURE_OPENAI_ENDPOINT=your_endpoint_here
AZURE_OPENAI_DEPLOYMENT_NAME=your_deployment_name_here

# Application Insights for Telemetry (optional but recommended)
APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=your-key;IngestionEndpoint=https://your-region.in.applicationinsights.azure.com/

# Semantic Kernel Telemetry Settings (optional)
SEMANTICKERNEL_EXPERIMENTAL_GENAI_ENABLE_OTEL_DIAGNOSTICS=true
SEMANTICKERNEL_EXPERIMENTAL_GENAI_ENABLE_OTEL_DIAGNOSTICS_SENSITIVE=true

Application Insights 连接字符串应采用以下格式: InstrumentationKey=;IngestionEndpoint=;LiveEndpoint=;ApplicationId=

运行测试

单次测试执行

运行一个默认的单个测试用例:

source venv/bin/activate
python -m pytest test_agent_assert.py::TestAgentAssert::test_default_single_case -v -s

从CSV文件批量执行测试

执行多个测试用例 manual_tests.csv 文件:

source venv/bin/activate
python -m pytest test_agent_assert.py::TestAgentAssert::test_csv_file_cases -v -s

运行所有测试

执行所有可用的测试:

source venv/bin/activate
python -m pytest test_agent_assert.py -v -s

这个(或:那个) -s 标志显示所有输出,包括AI代理的分析和遥测信息。

测试结果与遥测数据

当配置了 Application Insights 后,框架会自动捕获:

  • 📈 表情符号“📈”通常被翻译为“上升趋势”或“上升的箭头”。它常用于表示某种情况或数据正在积极增长或上升。 性能指标测试执行时间,API响应时间
  • 📝 详细日志语义内核操作,MCP(可能指某种特定模块或协议)交互
  • 🔍 看起来像是放大镜的符号,可以翻译为“放大镜”或保持原样表示“查看/搜索”等含义,具体根据上下文而定。 痕迹端到端测试执行流程
  • ⚠️ 错误追踪详细的异常信息和堆栈跟踪

通过Azure Application Insights仪表板访问您的遥测数据。

GitHub Actions 集成

这个仓库包含一个GitHub Action工作流(.github/workflows/python-tests.yml) 用于自动化测试:

  • 手动触发该工作流仅在从GitHub Actions选项卡手动触发时运行
  • 环境设置镜像了包含Python 3.11、Node.js 20和Chrome DevTools MCP的开发容器环境
  • 测试报告使用GitHub原生的报告工具生成全面的测试报告
  • 工件上传测试结果以XML格式保存,供下载和分析

通过 GitHub Actions 运行测试:

  1. 前往 行动 在你的GitHub仓库中的选项卡
  2. 选择 “Python 测试” 工作流程
  3. 点击 “Run workflow”翻译成中文是“运行工作流”
  4. 可选地指定一个测试过滤模式以运行特定测试

它是如何工作的

  1. 测试定义编写包含自然语言指令的测试用例(单个测试或CSV批量测试)
  2. 人工智能代理代理使用Chrome开发者工具来浏览和与网页进行交互
  3. 遥测数据收集所有交互都被记录到 Azure 应用程序见解(Application Insights)中
  4. 分析人工智能将实际结果与预期结果进行比较
  5. 报告详细的通过/失败结果,附带解释及性能指标

测试用例格式

单个测试用例

test_case = TestCase(
    url="https://example.com",
    instructions="Navigate to the page and click the login button",
    expected_result="Should redirect to login page within 2 seconds"
)

CSV 批量测试

该框架包括一个 manual_tests.csv 包含10个示例测试用例的文件,用于Microsoft Learn Azure DevOps文档。您可以修改此文件或创建自己的CSV文件,其中包含以下列:

  • url要测试的网页
  • test_instructions自然语言测试指令
  • expected_result预期结果描述

样本测试用例

所包含的测试(test_agent_assert.py执行以下自动化网页测试:

  1. 目标导航至 https://developer.chrome.com
  2. 行动点击“Chrome 新功能”部分中的“立即探索”按钮
  3. 性能断言验证页面以HTTP状态码200加载,并且加载时间少于2秒
  4. AI分析使用AI代理分析实际页面行为与预期结果的对比

⚠️ 预期测试行为

这个测试在首次运行时很可能会失败 出于几个原因:

  • 需要Azure OpenAI API凭据 .env 文件
  • Chrome DevTools MCP服务器必须正确配置
  • 根据网络状况,页面加载时间可能会超过2秒
  • 自测试创建以来,网站结构可能已发生变化
  • “立即探索”按钮的位置/文本可能已更新

这是有意为之,以展示实际测试场景,即测试需要根据实际网站条件进行调整。

关键组件

  • agent_assert_mcp.py - 主人工智能测试代理,集成遥测功能
  • test_agent_assert.py - 支持单次和批量测试的测试执行框架
  • assertion_result.py - 测试结果数据结构
  • manual_tests.csv - 包含10个网页测试场景的示例CSV文件
  • .env - 环境配置(创建此文件)

依赖项

  • 语义内核 - 支持遥测功能的AI编排框架
  • Chrome 开发者工具 MCP(注:MCP在此处可能是一个特定上下文中的缩写或专有名词,没有直接的中文对应,因此保留原样。如果MCP有特定含义,请根据上下文替换为相应的中文表述。) - 通过模型上下文协议实现浏览器自动化
  • pytest - 测试框架
  • Azure OpenAI - 用于测试分析的人工智能模型
  • Azure Monitor OpenTelemetry - 望远镜数据收集(或遥测数据收集)与Application Insights集成

GitHub Actions 工作流

该仓库包含一个GitHub Actions工作流,该工作流:

  • 设置与开发容器完全相同的环境
  • 安装所有来自(指定位置的)Python依赖项 requirements.txt
  • 支持单个测试和CSV批量测试
  • 捕获包含遥测数据的全面测试结果
  • 上传测试工件以供后续分析
  • 与Application Insights集成以进行CI/CD监控

该工作流程已配置为 仅手动执行 在开发过程中避免不必要的运行。

遥测与监控

该框架通过Azure Application Insights提供全面的可观测性:

自动数据收集

  • 请求遥测数据每次测试执行都被记录为一个请求
  • 依赖项遥测Azure OpenAI API调用及响应时间
  • 自定义事件测试通过/失败事件,附带详细上下文
  • 性能计数器测试期间的系统资源使用情况
  • 异常跟踪带有堆栈跟踪的详细错误信息

仪表板和警报

配置 Azure 应用程序见解 (Application Insights) 仪表板以监控:

  • 随时间变化的测试成功率/失败率
  • 平均测试执行时间
  • API响应时间和可用性
  • 错误趋势和模式
  • 测试运行期间的资源利用

______________________________________________________________________

此框架包含全面的遥测和批量测试功能。所包含的测试可能需要适当的Azure凭据,并且在初次运行时可能会失败,这模拟了实际测试场景,即测试需要根据实际网站行为和适当的环境配置进行调整。请使用Application Insights仪表板来监控测试性能并识别优化机会。

目录标签

目录标签

浏览器自动化Python网页抓取AI测试本地部署网页自动化自然语言处理批量测试遥测监控

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP