news 2026/7/12 18:44:37

Playwright 移动端测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Playwright 移动端测试

Playwright 移动端测试(2025 年最新版)

Playwright 原生支持移动端浏览器模拟(Mobile Emulation)和真实 Android 设备测试,无需额外工具即可覆盖手机/平板场景。核心优势:一套代码跨桌面 + 移动浏览器运行,支持触屏手势、横竖屏、地理位置、设备特性等。

1.最常用方式:浏览器模拟移动设备(Emulation)

无需真实设备,速度快,适合 90% 的移动端测试场景。

在 playwright.config.ts 中定义项目

import{defineConfig,devices}from'@playwright/test';exportdefaultdefineConfig({projects:[// 桌面 Chrome{name:'Desktop Chrome',use:{...devices['Desktop Chrome']}},// iPhone 示例{name:'iPhone 14',use:{...devices['iPhone 14']}},{name:'iPhone 14 Landscape',use:{...devices['iPhone 14 landscape']}},// Android 示例{name:'Pixel 7',use:{...devices['Pixel 7']}},// iPad 示例{name:'iPad Pro',use:{...devices['iPad Pro 11']}},],});

Playwright 内置 100+ 设备模型(devices.ts 源文件),常用:

  • iPhone 13/14/15(包括 Pro/Max、landscape)
  • Pixel 5/7
  • Galaxy S23
  • iPad Air/Mini/Pro

运行移动端测试

npx playwrighttest--project="iPhone 14"# 只跑 iPhonenpx playwrighttest--project="Pixel 7"npx playwrighttest# 默认并行跑所有项目
2.测试代码示例(自动适配移动端)
import{test,expect}from'@playwright/test';test('移动端首页响应式验证',async({page})=>{awaitpage.goto('https://your-app.com');// 移动端特有:验证视口大小(自动由设备配置设置)constviewport=page.viewportSize();console.log('当前视口:',viewport);// e.g., { width: 390, height: 844 }// 验证移动端菜单(汉堡菜单)awaitexpect(page.getByRole('button',{name:'菜单'})).toBeVisible();// 模拟触屏点击(等同 click(),但更真实)awaitpage.getByRole('button',{name:'菜单'}).tap();// 模拟手势:滑动(swipe)awaitpage.touchscreen.tap(200,600);// 触摸起点awaitpage.touchscreen.touchMove(200,200);// 向上滑动// 验证横竖屏切换awaitpage.setViewportSize({width:844,height:390});// 切换到横屏awaitexpect(page.getByText('横屏布局')).toBeVisible();});
3.移动端特有功能
// 模拟地理位置test.use({geolocation:{longitude:116.397,latitude:39.909},// 北京permissions:['geolocation'],});// 模拟网络(离线/慢网)test.use({offline:true,// 离线模式// 或慢网javaScriptEnabled:true,// 自定义:通过 context 设置});// 触屏手势(touchscreen)awaitpage.touchscreen.tap(x,y);awaitpage.touchscreen.touchMove(x,y);awaitpage.touchscreen.touchEnd();// 捏合缩放(pinch zoom)awaitpage.touchscreen.touchStart(x1,y1,x2,y2);// 两指
4.真实 Android 设备测试(高级)

Playwright 支持直接连接真实 Android 手机(无需 Appium)。

前提

  • Android 设备开启 USB 调试。
  • 安装 Android SDK Platform-Tools(adb)。

配置示例

import{android}from'@playwright/test';test('真实 Android 设备',async()=>{const[device]=awaitandroid.devices();// 自动发现连接设备constcontext=awaitdevice.launchBrowser();constpage=awaitcontext.newPage();awaitpage.goto('https://your-app.com');awaitpage.screenshot({path:'real-android.png'});awaitcontext.close();});
5.最佳实践总结
  • 优先使用设备模拟(devices[‘iPhone 14’] 等),速度快、覆盖广。
  • 多项目并行:在 config 中定义多个移动设备项目,CI/CD 自动覆盖。
  • 响应式断言:根据 viewportSize() 或设备名动态断言不同布局。
  • 截图对比:移动端测试建议开启screenshot: 'on',失败时对比视觉差异。
  • 真实设备:仅在需要测试硬件特性(如摄像头、传感器)时使用。

运行示例:

npx playwrighttest--project="iPhone 14"--headed# 可视化看移动端效果

移动端测试在 Playwright 中实现非常优雅,一套代码覆盖桌面 + 多款手机/平板。官方设备列表:https://playwright.dev/docs/emulation#devices

如果需要完整响应式测试示例(如媒体查询断言)、自定义设备配置,或真实 Android 连接步骤,随时告诉我!

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

【高危漏洞预警】Open-AutoGLM认证体系缺失MFA?立即检查这4项配置

第一章:Open-AutoGLM 多因素认证集成在现代身份验证架构中,多因素认证(MFA)已成为保障系统安全的核心机制。Open-AutoGLM 通过灵活的插件化设计,支持多种 MFA 方式的无缝集成,包括基于时间的一次性密码&…

作者头像 李华
网站建设 2026/7/12 10:46:09

紧急预警能力提升300%!Open-AutoGLM行为分析的4个黄金法则

第一章:紧急预警能力提升300%!Open-AutoGLM行为分析的4个黄金法则在现代智能系统中,Open-AutoGLM凭借其强大的语义理解与行为建模能力,显著提升了异常检测和紧急预警的响应效率。通过优化模型推理路径与上下文感知机制&#xff0c…

作者头像 李华
网站建设 2026/7/13 2:12:46

文献综述“魔法棒”:书匠策AI解锁科研信息整合新姿势

在科研的漫漫征途中,文献综述就像是一座关键的桥梁,它连接着过去的研究成果与未来的探索方向。一份高质量的文献综述,能够帮助科研人员站在巨人的肩膀上,洞察研究领域的发展脉络、前沿动态以及潜在的研究空白,为后续的…

作者头像 李华
网站建设 2026/7/11 21:29:01

科研“探照灯”:借书匠策AI文献综述功能照亮学术未知疆域

在科研的广袤天地中,每一项研究都是一次对未知的大胆探索。而文献综述,恰似那高悬于夜空的探照灯,为我们照亮前行的道路,让我们看清前人留下的足迹,避免在重复的道路上徘徊,指引我们走向更具价值的科研方向…

作者头像 李华
网站建设 2026/7/9 22:36:22

无需编程!用LangFlow镜像轻松拖拽搭建LangChain智能体

无需编程!用LangFlow镜像轻松拖拽搭建LangChain智能体 在大模型技术席卷各行各业的今天,越来越多团队希望快速构建属于自己的AI应用——无论是智能客服、知识问答系统,还是自动化内容生成工具。但现实往往令人望而却步:LangChain功…

作者头像 李华
网站建设 2026/7/12 3:28:14

【企业安全防线重建】:基于Open-AutoGLM的日志查询权限分级方案详解

第一章:企业日志安全新挑战在数字化转型加速的背景下,企业信息系统产生的日志数据呈指数级增长。这些日志不仅记录了系统运行状态、用户行为和安全事件,更成为攻击者觊觎的重要目标。传统的日志管理方式已难以应对当前复杂的安全威胁&#xf…

作者头像 李华