logo
0
0
WeChat Login

Web Test MCP

一个基于 Puppeteer 的网页测试工具,使用 Vitest 进行测试。

功能特性

  • fetchHtml: 获取网页HTML内容的函数
  • puppeteer: Puppeteer代码执行器,支持安全的网页自动化操作

安装依赖

pnpm install

测试命令

运行所有测试

pnpm test

运行测试并生成覆盖率报告

pnpm test:coverage

使用UI界面运行测试

pnpm test:ui

核心功能

fetchHtml

用于获取网页HTML内容的函数,支持:

  • 自定义请求头
  • 查询参数
  • 错误处理
import { fetchHtml } from './src/function/fetchHtml.js'

const result = await fetchHtml({
  url: 'https://example.com',
  headers: { 'User-Agent': 'Custom Agent' },
  queryParams: { page: '1', limit: '10' }
})

console.log(result)
// {
//   state: true,
//   message: '请求成功',
//   data: '<html>...</html>'
// }

Puppeteer 操作

提供安全的Puppeteer操作执行器:

import { executeSafePuppeteerOperations, PuppeteerOperations } from './src/function/puppeteer.js'

const operations = [
  PuppeteerOperations.navigateToUrl('https://example.com'),
  PuppeteerOperations.clickElement('#button'),
  PuppeteerOperations.typeText('#input', 'test text')
]

const result = await executeSafePuppeteerOperations(operations)
console.log(result)

测试覆盖率

当前测试覆盖率:

  • fetchHtml.ts: 100% 覆盖率
  • puppeteer.ts: 96.69% 覆盖率
  • 总体覆盖率: 67.41%

开发

启动开发服务器

pnpm dev

构建项目

pnpm build

启动应用

pnpm start

技术栈

  • TypeScript: 类型安全的JavaScript
  • Vitest: 快速的单元测试框架
  • Puppeteer: 无头浏览器自动化
  • Hono: 轻量级Web框架
  • pnpm: 高效的包管理器

About

No description, topics, or website provided.
Language
TypeScript73.9%
Markdown21.4%
gitignore2.8%
Dockerfile2%