news 2026/9/29 2:54:09

AI测试实战:Claude接入蓝湖MCP,联动Pycharm实现自动化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI测试实战:Claude接入蓝湖MCP,联动Pycharm实现自动化

1. 为什么我要把蓝湖需求直接喂给 Claude

做测试的同学大概都有这种体验:产品在蓝湖上更新了原型和需求文档,测试同学要一条条对着看,然后手写 pytest 用例,写完还要跟开发确认字段、跟产品确认交互。一个中等规模的需求,光是把需求翻译成可执行的测试代码,半天就没了。更麻烦的是需求一改,用例就得跟着改,改完还得重新跑一遍回归。

我最近在折腾的一条链路是:让 Claude 通过 MCP 协议直接读取蓝湖的需求文档,然后在 PyCharm 里生成符合项目结构的 pytest 用例,最后用 run.py 触发执行。整条链路跑通之后,从「需求更新」到「用例可跑」的时间从半天压缩到十几分钟,剩下的时间可以拿去补边界用例和排查真实缺陷。

这里的关键角色有三个。Claude 负责理解需求语义并生成代码,MCP 负责把蓝湖的需求数据以工具调用的形式暴露给 Claude,PyCharm 则是我们日常写代码、跑测试的主战场。MCP 全称 Model Context Protocol,你可以把它理解成「给大模型插外设的 USB 接口」——蓝湖 MCP 服务就是一个外设,Claude 通过它拿到需求内容,而不是靠你手动复制粘贴。

这套方案适合谁?适合已经在用 pytest 做自动化、项目结构相对固定、需求主要沉淀在蓝湖上的测试团队。如果你还在手工写用例、需求散落在各种文档里,那先把项目结构和需求管理规范起来,再上这套链路会更顺。

需要说明的是,Claude 本身要能稳定调用,得有一个可用的 API 入口。我这边用的是 TaoToken 提供的接入方式,它兼容 Anthropic 的接口协议,配置起来比较直接,后面会给出具体的配置片段。整条链路的核心不是某个工具多神奇,而是把「需求读取—代码生成—执行验证」这三步串成一条可复现的流水线。

2. 前置准备:TaoToken 接入与蓝湖 MCP 服务

在动手之前,先把两个基础件准备好:一个是 Claude 的 API 接入,一个是蓝湖 MCP 服务。这两件事互相独立,可以并行做。

2.1 TaoToken 的 API Key 与接入地址

TaoToken 的官网是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 基础地址是 https://taotoken.net/api 。注册登录之后,进控制台创建 API Key,这个 Key 后面要写进 Claude 的配置文件里。

创建 Key 的入口在控制台的 API Keys 页面,路径是 https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。建议给这个 Key 起个能认出来的名字,比如claude-lanhu-test,方便后面区分不同用途的 Key。Key 只在创建时完整显示一次,复制下来存好。

如果你对模型对话本身还不熟,可以先到模型对话页面 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 试几条 prompt,确认 Key 能正常调用再往下走。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面写了不同客户端的配置方式,遇到字段不确定的时候可以对照。

2.2 蓝湖 MCP 服务的启动

蓝湖 MCP 服务是一个本地运行的 HTTP 服务,默认监听 8000 端口,暴露的 MCP 端点是http://127.0.0.1:8000/mcp。启动方式取决于你拿到的蓝湖 MCP 实现,通常是一个 Python 或 Node 脚本,跑起来之后保持这个终端窗口不要关。

启动之后可以用浏览器或 curl 探一下服务是否活着:

curl -i http://127.0.0.1:8000/mcp

如果返回 200 或 405(方法不允许)之类的响应,说明服务在监听。返回连接拒绝就说明没起来,回去看启动日志。

注意:蓝湖 MCP 服务需要能访问蓝湖的需求数据,通常要配置蓝湖的访问凭证。这部分按你拿到的 MCP 实现文档来配,不要把它暴露到公网,本地 127.0.0.1 就够了。

2.3 环境检查:Node 与 Claude Code

Claude Code 依赖 Node.js,老旧的 Node v6 是不行的,建议用 LTS 版本,当前是 v20.x 或 v22.x。装完之后重开一个 PowerShell 验证:

node -v npm -v

两条命令都能输出版本号,环境就算就绪。然后全局安装 Claude Code:

npm install -g @anthropic-ai/claude-code

装完之后先别急着登录,我们用配置文件的方式让它走 TaoToken 的接口,避免卡在登录环节。

3. 可复制配置:Claude 接入 TaoToken 并挂载蓝湖 MCP

这一节是整篇的核心,配置写对了,后面就是顺水推舟。配置分两块:Claude 的 API 接入配置,以及 MCP 服务的挂载。

3.1 Claude 免登录配置文件

在 PowerShell 里创建 Claude 的配置文件:

notepad $HOME\.claude.json

写入下面这段,把apiKey换成你在 TaoToken 控制台创建的那个 Key:

{ "hasCompletedOnboarding": true, "userId": "anonymous", "telemetryEnabled": false, "apiBaseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥" }

hasCompletedOnboarding设为 true 是为了跳过首次启动的引导流程,telemetryEnabled关掉可以少一些无关的网络请求。保存之后,在 PowerShell 里直接输入claude,如果能进入对话界面并正常回复,说明 API 接入已经通了。

3.2 挂载蓝湖 MCP 服务

Claude Code 支持通过命令行添加 MCP 服务。确认蓝湖 MCP 服务已经在 8000 端口跑着,然后执行:

claude mcp add --transport http lanhu http://127.0.0.1:8000/mcp

这条命令的意思是:添加一个名为lanhu的 MCP 服务,传输方式用 HTTP,地址指向本地的 8000 端口。添加完之后可以用下面的命令确认:

claude mcp list

列表里应该能看到lanhu这一项,状态是已连接。如果显示连接失败,先回去确认 MCP 服务是否还在运行,再检查端口有没有被占用。

3.3 Claude Desktop 的配置文件写法

如果你同时用 Claude Desktop,它的配置方式和 Claude Code 略有不同。找到claude_desktop_config.json,没有就新建,写入:

{ "apiBaseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "mcpServers": { "lanhu-mcp": { "url": "http://localhost:8000/mcp", "name": "lanhu-mcp" } } }

保存之后完全退出 Claude Desktop(任务栏右键退出,不是关窗口),再重新打开,配置才会生效。这样「TaoToken 接口 + 蓝湖 MCP」就是双生效的状态。

3.4 PyCharm 侧的运行配置

PyCharm 这边不需要装额外插件,直接用内置终端就行。打开你的项目,比如E:\测试文档\pythonProject,在底部打开 Terminal,注意要选 PowerShell 而不是 CMD,因为 Claude Code 的交互在 PowerShell 下更稳。

项目结构建议保持这样:

pythonProject/ ├── test_cases/ # 生成的测试用例 ├── common/ # 公共方法、fixture ├── reports/ # 测试报告输出 └── run.py # 执行入口

run.py用 pytest 的 main 入口就行,一个最小可用的版本:

import pytest if __name__ == "__main__": pytest.main([ "test_cases", "-v", "--html=reports/report.html", "--self-contained-html" ])

这样 Claude 生成的用例只要放进test_cases/,跑run.py就能执行并出报告。

4. 验证请求:从蓝湖需求到可执行用例

配置就绪之后,来跑一遍完整链路,确认每一步都有预期结果。

4.1 在 PyCharm 终端唤起 Claude

在 PyCharm 的 PowerShell 终端里输入:

claude

进入对话界面后,先确认 MCP 服务挂载正常,输入:

@mcp

如果能看到lanhu相关的工具列表,说明 MCP 已经连上。这一步很关键,看不到工具列表就说明前面的claude mcp add没生效,回去检查。

4.2 用 @mcp 读取蓝湖需求

把蓝湖的需求链接贴进去,让 Claude 通过 MCP 读取:

@mcp 读取这个蓝湖需求文档:https://lanhuapp.com/xxx 基于需求生成完整的 Python + pytest 自动化测试代码,要求: 1. 测试用例放在 E:\测试文档\pythonProject\test_cases 目录下 2. 公共方法放在 E:\测试文档\pythonProject\common 目录下 3. 代码可直接运行,包含详细注释、异常处理、日志打印 4. 符合项目结构,和 run.py 兼容

Claude 会先调用蓝湖 MCP 的工具去拉取需求内容,然后基于需求语义生成用例。生成过程中它会自己决定文件怎么拆分,比如把登录相关的放一个文件、订单相关的放另一个文件。

4.3 检查生成结果

生成完之后,去test_cases/目录看文件是否落地。一个典型的生成结果长这样:

# test_cases/test_login.py import pytest import logging from common.request_util import post logger = logging.getLogger(__name__) class TestLogin: """登录模块测试用例,对应蓝湖需求 REQ-1024""" def test_login_success(self): """正常登录:用户名密码正确应返回 token""" payload = {"username": "test_user", "password": "Test@123"} resp = post("/api/login", json=payload) assert resp.status_code == 200 assert "token" in resp.json() logger.info("登录成功用例通过") def test_login_wrong_password(self): """异常登录:密码错误应返回 401""" payload = {"username": "test_user", "password": "wrong"} resp = post("/api/login", json=payload) assert resp.status_code == 401

注意看注释里有没有带上需求编号,这是判断 Claude 是否真的读到了蓝湖需求的一个信号。如果注释里全是泛泛的描述,说明 MCP 可能没读到内容,需要回去排查。

4.4 触发执行并看报告

用例检查没问题之后,在 PyCharm 终端跑:

python run.py

pytest 会收集test_cases/下的用例并执行,结束后在reports/report.html生成报告。打开报告能看到每条用例的通过情况和耗时。如果某条用例失败,先看是断言写错了还是接口本身有问题,前者改用例,后者提缺陷。

到这里,从蓝湖需求到用例执行的链路就跑通了。日常的工作流可以固定成:启动蓝湖 MCP 服务(单独窗口保持运行)→ 打开 PyCharm 进入项目 → 终端启动 claude → 用 @mcp 读需求 → 生成用例到 test_cases/ → 跑 run.py 出报告。

5. 本篇常见错排查

链路跑不通的时候,问题通常集中在几个地方,按下面的顺序排查效率最高。

5.1 MCP 服务连不上

现象是claude mcp list里lanhu显示未连接,或者@mcp看不到工具。先确认蓝湖 MCP 服务进程还在,用curl -i http://127.0.0.1:8000/mcp探一下。如果服务在但 Claude 连不上,检查claude mcp add时地址有没有写错,http://127.0.0.1:8000/mcp和http://localhost:8000/mcp在某些环境下解析结果不同,建议统一用 127.0.0.1。

5.2 Claude 调用报鉴权错误

现象是对话时返回 401 或鉴权失败。检查.claude.json里的apiKey是不是完整复制了,有没有多余空格。apiBaseUrl必须是https://taotoken.net/api,不要漏掉/api路径。如果 Key 是在别的项目里用过的,确认它没有过期或被禁用。

5.3 生成的用例跑不起来

现象是python run.py报 import 错误或 fixture 找不到。多半是common/下的公共方法没生成全,或者 import 路径和项目实际结构对不上。让 Claude 重新读一遍项目结构再生成,prompt 里明确写出common目录下已有哪些文件。另外确认test_cases/和common/下都有__init__.py,不然 pytest 的包发现会出问题。

5.4 需求读到了但用例不贴需求

现象是用例能跑,但覆盖的字段和蓝湖上的需求对不上。这通常是 MCP 返回的需求内容不完整,或者 Claude 只读了摘要没读详情。可以在 prompt 里要求它先列出从需求中提取的测试点,确认无误再生成代码。如果蓝湖需求里有表格或图片,确认 MCP 实现是否支持解析这些格式。

5.5 PyCharm 终端里 claude 命令找不到

现象是在 PyCharm 终端输入claude提示命令不存在。这是因为 PyCharm 终端的环境变量和系统 PowerShell 不一致。解决办法是在 PyCharm 设置里把 Terminal 的 shell path 指向 PowerShell 的完整路径,或者直接用系统 PowerShell 跑 Claude,PyCharm 只用来编辑和跑测试。

6. 把这条链路固定成日常流程

跑通一次不难,难的是每天都这么用。我的做法是把几个入口固定下来:蓝湖 MCP 服务单独开一个 PowerShell 窗口常驻,PyCharm 里项目固定用 PowerShell 终端,Claude 的配置和 MCP 挂载写进一个初始化脚本,换机器的时候跑一遍脚本就恢复环境。

如果你还在用零散的 prompt 让 Claude 写用例,建议把「读需求—生成—执行」这三步的 prompt 模板固化下来,每次只换蓝湖链接和需求编号。长期做编码和 Agent 类任务的话,可以了解一下 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite ,它在长会话和代码生成场景下的额度策略更适合这种持续性的工作流。接入过程中遇到配置问题,对照接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 排查,Key 的管理在 API Keys 页面 https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。

最后留一个我踩过的坑:Claude 生成的用例第一次跑通常会有一两条因为环境差异失败,别急着改 prompt,先手动把失败原因定位清楚,是接口地址不对还是测试数据没准备。把这类环境问题在common/里统一处理掉,后面生成的用例通过率会明显提升。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 2:51:19

解锁VS Code新姿势:用TaoToken统一Key打通AI插件开发与Bug秒修

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 2:50:10

HoloCubic_AIO常见问题解答:从小白到高手的避坑指南

HoloCubic_AIO常见问题解答:从小白到高手的避坑指南 【免费下载链接】HoloCubic_AIO HoloCubic超多功能AIO固件 基于esp32-arduino的天气时钟、相册、视频播放、桌面投屏、web服务、bilibili粉丝等 项目地址: https://gitcode.com/GitHub_Trending/ho/HoloCubic_A…

作者头像 李华
网站建设 2026/9/29 2:49:56

DeepSeek离线部署内网AI知识库实战指南

简介:本资源是一份面向政企单位IT运维人员及技术爱好者的DeepSeek大模型内网AI知识库构建指南,专为无互联网接入的离线环境设计,系统解决国产化适配、安全加固与RAG落地等核心痛点。内容覆盖离线模型包(含DeepSeek-R1越狱版多规格…

作者头像 李华
网站建设 2026/9/29 2:48:49

Cursor 连接远程服务器失败?TaoToken 配置排查与 settings.json 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华