像对话一样编写API测试!Playwright MCP + AI让这成为可能 🤖✨

agent1个月前发布 aier
73 0

简介

如果您听说过由ExecuteAutomation创建的Playwright-MCP-Server,您会知道这是一个基于Claude的模型上下文协议(MCP)构建的工具。它不仅可以自动化浏览器UI交互和网页抓取,现在还能帮助您测试API。您可以使用简单的中文命令来测试GET、POST、PATCH、PUT和DELETE请求,而不必编写任何API专业术语。

如何设置Playwright MCP Server?

设置Playwright-MCP-Server进行API测试只需要两个步骤:

  1. 安装Claude桌面客户端
  2. Claude_desktop_config.json文件中配置Playwright-MCP-Server NPM包,如下所示:
{  
  "mcpServers": {  
    "playwright": {  
      "command": "npx",  
      "args": ["-y", "@executeautomation/playwright-mcp-server"]  
    }  
  }  
}

如何运行Playwright MCP Server?

配置完成后,只需启动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 model": "M4",  
      "Hard disk size": "5 TB"  
   }  
}  
并验证响应是否包含createdAt和id属性

运行高级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 model": "M4",  
      "Hard disk size": "5 TB"  
   }  
}  
并验证响应是否包含createdAt和id属性,并将ID存储在变量中供将来参考,比如变量productID

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

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

对创建的ProductID使用URL https://api.restful-api.dev/objects/productID 执行PATCH操作,请求体为:
{  
   "name": "Apple MacBook Pro 19 (Limited Edition)"  
}  
并验证响应是否包含updatedAt属性,值为Apple MacBook Pro 19 (Limited Edition)

对于上述测试,Playwright-MCP-Server将给出测试结果,每个API请求的响应都会被测试,并且有一个✅表示测试通过!

在Cursor中使用Playwright MCP

与Claude桌面客户端类似,您也可以在Cursor中配置和使用Playwright MCP。以下是在Cursor中设置的步骤:

  1. 打开Cursor设置
  2. 导航到Features部分
  3. 找到MCP Servers设置
  4. 点击”Add New MCP Server”
  5. 选择”Stdio/local”方式
  6. 输入命令:npx -y @executeautomation/playwright-mcp-server
  7. 点击”Add”按钮完成添加

设置完成后,您可以在Cursor的Composer中使用Agent模式,通过自然语言指令来执行API测试,就像在Claude桌面客户端中一样。

实际应用案例

电商平台API测试

假设您正在开发一个电商平台,需要测试产品管理API。使用Playwright MCP,您可以这样描述测试:

创建一个新产品,名称为"智能手表X1",价格为1299元,类别为"电子产品"
获取刚才创建的产品详情并验证名称和价格是否正确
更新产品价格为999元并添加"限时促销"标签
删除该产品并验证是否成功删除

用户认证流程测试

对于需要认证的API,您可以这样描述测试流程:

使用用户名"testuser"和密码"password123"获取认证令牌
使用获取的令牌请求用户个人资料信息
验证返回的用户名是否为"testuser"
使用令牌更新用户手机号为"13800138000"
验证更新是否成功

结论

Playwright MCP Server结合AI的能力,彻底改变了API测试的方式。它使得非技术人员也能参与API测试过程,大大提高了团队协作效率。通过使用自然语言描述测试场景,您可以专注于业务逻辑而不是技术细节,同时保持测试的可靠性和全面性。

无论您是在Claude桌面客户端还是在Cursor中使用Playwright MCP,都能体验到这种革命性的API测试方法带来的便利。

有用的资源

参考资料:原文链接

© 版权声明

相关文章