继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

用口语化的方式写API测试——Playwright MCP + AI轻松实现!🤖✨

胡子哥哥
关注TA
已关注
手记 390
粉丝 80
获赞 378

如果你知道由 ExecuteAutomation 创建的这个名为 Playwright-MCP-Server 的工具。这个工具基于 Claude 的 MCP(模型上下文协议)。它可以自动化浏览器 UI 交互和抓取网页,现在还能帮你测试 API。你可以用简单的英文命令来测试 GET、POST、PATCH、PUT 和 DELETE 请求。

阅读 Playwright MCP Server 的官方文档 📚,可以从这里开始 Playwright MCP Server

如何搭建Playwright MCP服务器?

好吧,你只需要设置两样东西,在用Playwright-MCP-Server跑API测试前。

  1. Claude 桌面客户端
  2. _Claude_desktopconfig.json 文件中进行如下配置 Playwright-MCP-Server NPM 包,如下
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}
Playwright MCP服务器怎么运行?

配置完成后,您就可以启动您的Claude桌面客户端程序,您将看到在Attach MCP server列表中的全新闪亮的Playwright-MCP-Server。

现在在Claude桌面客户端中运行以下API测试指令,用纯英文文本。

向URL https://api.restful-api.dev/objects 发送POST请求,请求体如下
{  
   "name": "Apple MacBook Pro 16",  
   "data": {  
      "year": 2024,  
      "price": 2499,  
      "CPU型号": "M4",  
      "硬盘容量": "5 TB"  
   }  
}  
并确认响应中包含createdAt和id这两个属性

结果就像这样,你就能看到了

运行高级 API 测试用例

当你需要测试API,并且需要将一个API响应的输出用作另一个API请求的输入时,你可以借助Playwright MCP Server的高级交互功能来实现这一点。如果有返回用户ID的API,你可以捕获该用户ID并将它用作从另一个API请求用户信息的输入,所有这些操作都可以在工作流中无缝集成。

一个 API 测试的例子是这样

    对URL https://api.restful-api.dev/objects 执行POST操作,请求体为  
    {  
       "name": "Apple MacBook Pro 16",  
       "data": {  
          "year": 2024,  
          "price": 2499,  
          "CPU型号": "M4",  
          "硬盘容量": "5 TB"  
       }  
    }  
    并验证响应中是否包含createdAt和id属性,并将ID存入一个变量,例如命名为productID以备后用

    使用URL https://api.restful-api.dev/objects/productID 对创建的ProductID执行GET操作,并验证响应包含Id、name、data等属性

    使用URL https://api.restful-api.dev/objects/productID 对创建的ProductID执行PUT操作,请求体为  
    {  
       "name": "Apple MacBook Pro 16",  
       "data": {  
          "年份": 2025,  
          "price": 4099,  
          "CPU型号": "M5",  
          "硬盘容量": "10 TB",  
          "color": "Titanium"  
       }  
    }  
    并验证响应中是否包含createdAt和id属性

    执行PATCH操作,使用URL https://api.restful-api.dev/objects/productID,请求体为  
    {  
       "name": "Apple MacBook Pro 19 (有限版)"  
    }  
    并验证响应中是否包含updatedAt属性,其值为Apple MacBook Pro 19 (有限版)

对于这个测试,Playwright-MCP-Server 会给出以下结果,

你看,每个 API 请求的回复都已通过测试,并且有一个 ✅,说明测试通过了!

视频展示

这里有一个关于刚才讨论的视频(视频链接: https://youtu.be/BYYyoRxCcFE),大家可以看一下

这个视频链接:https://youtu.be/BYYyoRxCcFE,它是一个有趣的YouTube视频。

一个有用的资源列表

查看来自 https://github.com/executeautomation/mcp-playwright 的 Playwright-MCP-server 源码

来自 @executeautomation/playwright-mcp-server 的这个 NPM 包 (访问网址为 https://www.npmjs.com/package/@executeautomation/playwright-mcp-server)

从 MCP-Get 网站找到这个包 https://mcp-get.com/packages/%40executeautomation%2Fplaywright-mcp-server

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP