跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonNode.jsAI

AI 大模型驱动 Web UI 自动化测试:Playwright 与 RobotFramework 实践

综述由AI生成将 UI 自动化从 Selenium 迁移至 Playwright 的过程,结合 AI 大模型与 MCP 协议提升脚本编写效率。阐述了 Playwright 基于原生调试协议的优势,分享了 Playwright 分层封装设计思路及 RobotFramework 集成方案。通过实际演示展示了 AI 分析页面元素并生成自动化脚本的能力,强调了 AI 辅助半自动化的工作模式及代码审查的重要性。

道系青年发布于 2026/4/5更新于 2026/5/2236 浏览

前言

团队将 UI 自动化由 Selenium 迁移至 Playwright,在 AI 大模型加持下,脚本质量稳定和编写效率得到明显提升。本文从 Playwright 与 Selenium 对比出发,分享思路与设计。

一、playwright 与 selenium 对比

从原理上对比:

  • Selenium 使用代理 webdriver 协议来统一接口对接不同厂家的浏览器
  • Playwright 直接和各个浏览器原生底层调试协议来通信,比如 CDP(Chrome Devtools Protocol)

Selenium 采用套一层的方式解决自动化问题,无法获取浏览器很多原生的底层数据(如网络请求参数、控制台信息),执行速度也天然慢于 Playwright。在 AI 时代,Selenium 因底层原理限制,相关 AI 应用难有明显成果。反观 Playwright,结合 AI 的应用有很多亮点,近期团队已将驱动 UI 的底层重构切换为 Playwright。

二、AI-playwright MCP

如何让 AI 与 web 自动化有效结合并带来效率提升?利用 MCP 让 AI 模型分析页面的 DOM 元素,驱动浏览器,告诉 AI 模型记住页面交互细节。它会抓取页面情况帮助分析元素结构和交互过程,从而协助编写 UI 自动化测试。

关于模型选择,目前各 LLM 百花齐放,第一批梯队的大模型对普通人来说差异不大。AI 模型也会犯错,建议原则是 AI 辅助,半自动档位配合工作。不要偷懒不去 review AI 生成的代码,有错误必须反馈;积累有效的 prompt;在 AI 生成代码毫无逻辑时立即停止手动 coding 教会它;在代码复杂时手动拆分模式加入合理设计模型。

安装 playwright MCP 请参考 Node 环境的 MCP Server 安装文档。调研过市面上一些 AI 测试工具如 TestCraft、Testim.ai、applitools 等,封闭式的测试用例管理和编写封装性太强且收费,很难适合大多数业务需求。

演示图片

演示图片

实际业务中仍需修改,demo 演示的是 AI 分析页面并输出脚本的能力。

三、Playwright 封装设计建议

分层设计思想指导下,考虑可维护性和可扩展性,主要封装思路如下:

  • Playwright 提供原生操作浏览器的能力,基于底层封装业务 Playwright 即 XxxPlayWright
  • 在 XxxPlayWright 基础之上将代码组件化,UI 控件大多 DIY,基于 XxxPlayWright 将操作告警框、下拉框等组件模块化,可使用 Mixin 等结构型设计模式
  • 基于模块组件化的代码,封装业务关键字层,提供业务的 UI 操作能力
  • Case 上层只调用 UI 业务代码关键字

robotframework-browser 介绍

博主使用的自动化测试框架是 Robot Framework,针对 RF 简单介绍相关知识。如果使用 pytest 原理类似。基于 RF 官方库再二次封装。

Browser library powered by Playwright。关键点:new browser、new page 等无需关心资源清理问题,RF 框架可以自动清理,确保资源隔离。自动关联已经存在的资源和自动启动需要的资源。

安装 Only Python 3.9 or newer is supported. From Node side 18, 20 and 22 LTS versions are supported.

  1. Install node.js e.g. from https://nodejs.org/en/download/
  • Update pip pip install -U pip to ensure latest version is used
  • Install robotframework-browser from the commandline: pip install robotframework-browser
  • Install the node dependencies: run rfbrowser init in your shell
    • If rfbrowser is not found, try python -m Browser.entry init

    这里需要注意的是,Playwright 不像 Selenium 那样需要单独安装驱动和驱动对应的浏览器,Playwright 提供了自动安装的方式。使用了 Robot 的 Playwright 库,所以使用了 rfbrowser init 进行安装。如果你使用原生 Playwright,它也提供了类似的能力。

    目录

    1. 前言
    2. 一、playwright 与 selenium 对比
    3. 二、AI-playwright MCP
    4. 三、Playwright 封装设计建议
    5. robotframework-browser 介绍
    • 💰 8折买阿里云服务器限时8折了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 🤖 一键搭建Deepseek满血版了解详情
    • 一键打造专属AI 智能体了解详情
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • SkyWalking 告警通知渠道集成:Webhook、Slack、钉钉、企业微信
    • Bugku Web 实战:PHP assert 绕过与文件读取
    • 【Vue3】前端Vue3最常用的 20 道面试题总结(含详细代码解析)
    • Vue3 前端面试核心 20 题详解(含代码实战)
    • TIOBE 7 月编程语言排行榜发布:Python 稳居榜首,C++ 挑战 C
    • Qwen3-VL-WEBUI 游戏 NPC 视觉交互部署实践
    • 前端微前端架构:避免应用变成巨石单体
    • JavaScript DOM 元素操作:添加、删除、替换与插入详解
    • 后仿真 SDF 反标常见 Warning 排查与处理指南
    • Qwen3-Embedding-4B 本地化部署与 llama.cpp 集成实战
    • Python 合并两个字典的 8 种常用方法
    • Android 原生安全音量功能实现原理与定制分析
    • Spring Integration Kafka XML 配置示例
    • AIGC 内容创作方法论解析:以爆款短片《牌子》为例
    • n8n 集成飞书机器人实战指南:从 Webhook 到 WebSocket 的迁移
    • Java 八大基本数据类型详解与类型转换规则实战
    • 【AIGC】扩散模型加速:从Flow Matching到Rectified Flow再到Reflow
    • Spring AI MCP Server 集成与源码解析
    • SD-Trainer 快速上手:AI 绘画模型微调实战
    • Linux 文件系统与硬件结构详解

    相关免费在线工具

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • curl 转代码

      解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online