Token导航 LogoToken导航TokenDH.com
automation (Gilkalman Portfolio) logo
开发工具stdio官方级别未说明来源级核验

automation (Gilkalman Portfolio)

MCP Server

一个生产就绪的自动化测试框架,具备AI驱动的测试维护、定时CI运行和Telegram通知功能,适用于Web和API测试场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
自动化测试PythonClaude浏览器自动化Claude

安装说明

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

作者 / 组织

gilkalman-portfolio

提供方

gilkalman-portfolio

最后核验

2026/5/17 20:23

快速接入

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

命令预览

pip install -r requirements.flex.txt

详细介绍

自动化测试框架

![Python](https://www.python.org/) ![Playwright](https://playwright.dev/) ![Pytest](https://pytest.org/) ](https://github.com/features/actions)

A. 生产就绪自动化框架 通过人工智能驱动的测试维护、预定的CI运行和Telegram通知。

______________________________________________________________________

目录

______________________________________________________________________

手动和自动化STP

______________________________________________________________________

概述

该项目展示了 专业级自动化测试 与:

  • 干净的生产风格代码 页面对象模型+工作流分离
  • 基于XML的配置 用于灵活、无代码的环境管理
  • AI 代理 自动分析和修复失败的测试
  • 计划CI 通过GitHub Actions(每天运行,向Telegram报告)
  • 综合报告 使用Allure+Markdown报告

______________________________________________________________________

主要特点

动态配置

  • 基于XML的配置(data.xml)--浏览器、环境、无头、重试等。
  • CLI参数在运行时重写
  • 无需更改代码以适应不同的环境

AI驱动的测试维护

  • Claude代理SDK 整合(claude-haiku-4-5)
  • 自动读取失败的测试,确定根本原因,应用最小修复
  • 修复后仅重新运行失败的测试以进行验证
  • 通过以下方式选择加入 --ai-fix flag——未经明确许可,从不运行

通过电报通知安排CI

  • GitHub Actions工作流每天02:00 UTC运行
  • 可从GitHub UI手动分派(带标记过滤器)
  • 向Telegram机器人发送摘要消息+完整的Markdown报告

整洁架构

  • 页面对象+工作流 设计模式
  • 集中式页面管理(manage_pages.py)
  • 可重复使用的夹具、公用设施和类型化配置

______________________________________________________________________

技术栈

组件技术
语言Python 3.12+
测试运行器Pytest
浏览器自动化剧作家
测试设计页面对象+工作流
配置系统XML(data.xml) + config_loader.py
报告诱惑+Markdown(reports/)
AI修复代理Claude代理SDK(claude-haiku-4-5)
CI/CDGitHub操作(计划+手动调度)
通知电报机器人API

______________________________________________________________________

项目结构

automation/
├── automated_test_runner.py     # AI-powered scheduled test runner
│
├── .github/
│   └── workflows/
│       └── scheduled_test_runner.yml  # GitHub Actions — daily + manual
│
├── configuration/
│   └── data.xml                 # Main config (browser, env, headless…)
│
├── utilities/
│   ├── config_loader.py         # Loads & normalizes XML config
│   ├── manage_pages.py          # Central Page Objects manager
│   └── logger.py
│
├── page_objects/
│   ├── login_page.py
│   ├── inventory_page.py
│   ├── cart_page.py
│   └── checkout_page.py
│
├── workflows/
│   ├── web_workflow.py          # UI workflows (login, cart, checkout…)
│   └── api_workflow.py
│
├── test_cases/
│   ├── conftest.py              # Fixtures, browser setup, trace/screenshot
│   ├── test_saucedemo.py        # 20 E2E tests (Login, Products, Cart…)
│   ├── test_login.py
│   ├── test_web.py
│   └── test_api.py
│
├── reports/                     # Generated Markdown reports
├── requirements.txt
└── requirements.flex.txt        # Flexible deps for CI/AI agent

______________________________________________________________________

入门指南

先决条件

  • Python 3.12+

安装

# Clone the repository
git clone https://github.com/gilkalman-portfolio/automation.git
cd automation

# Install dependencies
pip install -r requirements.flex.txt

# Install Playwright browsers
python -m playwright install chromium

环境变量(局部)

创建一个 .env 项目根目录中的文件:

# .env — never commit this file
ANTHROPIC_API_KEY=sk-ant-...        # required only for --ai-fix
TELEGRAM_BOT_TOKEN=123456:ABC...    # required for Telegram notifications
TELEGRAM_CHAT_ID=-100123456789      # your chat or group ID

______________________________________________________________________

配置

编辑 configuration/data.xml 控制运行时行为:


  
    stg
    true
    
chromium
       
    1
    retain-on-failure
    only-on-failure
  
  
    
  

还支持CLI覆盖:

pytest --env=prod --browsers=firefox --headless=true

______________________________________________________________________

用法

运行所有测试

pytest

按标记运行

pytest -m smoke
pytest -m regression

使用Allure报告运行

pytest --alluredir=allure-results
allure serve allure-results

______________________________________________________________________

自动测试运行器

automated_test_runner.py 运行一个完整的循环:

1. Run pytest → capture JSON + JUnit XML results
2. If failures + --ai-fix → Claude Agent analyses and fixes
3. Re-run only the failed tests to verify fixes
4. Generate Markdown report → reports/report_YYYYMMDD_HHMMSS.md
5. Send summary + report file to Telegram

命令

# Single run — always works, no API key needed
python automated_test_runner.py

# Smoke tests only
python automated_test_runner.py -m smoke

# With AI auto-fix (requires ANTHROPIC_API_KEY)
python automated_test_runner.py --ai-fix

# Scheduled loop every 24 hours (local)
python automated_test_runner.py --schedule

# Custom interval
python automated_test_runner.py --schedule --interval-hours 6

报告示例

# Automated Test Report — 20260407_020315

Status: ✅ ALL PASSING
Duration: 42.3s

| Metric   | Before | After |
|----------|--------|-------|
| ✅ Passed | 18     | 20    |
| ❌ Failed | 2      | 0     |
| 🔧 Fixed  | —      | 2     |

______________________________________________________________________

CI/CD--GitHub操作

工作流程 .github/workflows/scheduled_test_runner.yml 自动运行:

触发器何时
日程每天02:00 UTC
手动调度GitHub用户界面→ 行动→ 运行工作流

所需机密(GitHub→ 设置→ 秘密→ 行动)

秘密目的
TELEGRAM_BOT_TOKEN来自@BotFather的Telegram机器人令牌
TELEGRAM_CHAT_ID目标聊天/群ID
ANTHROPIC_API_KEYClaude API密钥(仅与 ai_fix=true)

手动调度选项

  • 标记 --过滤器测试: smoke / regression / sanity /空白(全部)
  • ai_fixtrue 启用Claude AI修复(需要 ANTHROPIC_API_KEY)

______________________________________________________________________

联系

吉尔·卡尔曼\ 电话:050-6323576\ github:

______________________________________________________________________

许可证

此项目是为 投资组合和演示目的.

目录标签

目录标签

自动化测试PythonClaude浏览器自动化本地部署AI测试维护定时CITelegram通知Web测试API测试

支持客户端

Claude

接入字段

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

stdio

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

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP