学习笔记丨Playwright 01

一、playwright简介

1.1 playwright定义

  • Web自动化测试框架;
  • 支持跨平台多语言;
  • 支持Chrome、FireFox、Webkit等主流浏览器自动化操作。

1.2 playwright优点

  • 支持所有流行的浏览器;
  • 速度更快、执行更可靠;
  • 更强大的自动化测试配置;
  • 强大的工具库:Codegen、Playwright inspector、Trace Viewer。

1.3 Playwright vs seleium

對比表
序号比较项目PlaywrightSelenium评分谁胜出
1安装难易度安装较为简便,依赖少安装过程相对复杂,依赖较多8:6Playwright
2编程语言支持支持多种主流语言支持多种主流语言8:8平手
3浏览器兼容性对主流浏览器兼容性好对主流浏览器兼容性好8:8平手
4跨平台性良好的跨平台支持跨平台性较好8:7Playwright
5文档质量文档清晰详细文档较为全面8:7Playwright
6API 设计简洁直观相对复杂一些8:7Playwright
7性能性能较高性能一般8:7Playwright
8异步支持优秀的异步处理异步处理稍显复杂8:7Playwright
9等待机制灵活多样有多种等待方式,但稍显复杂8:7Playwright
10元素定位方便准确较为准确8:7Playwright
11稳定性稳定性较好稳定性一般8:7Playwright
12错误处理清晰明确相对复杂8:7Playwright
13并发执行支持高效并发并发执行稍弱8:7Playwright
14移动端测试支持较好支持一般8:7Playwright
15无头模式支持支持良好支持良好8:8平手
16录制功能有录制功能录制功能相对较弱8:7Playwright
17社区活跃度社区逐渐活跃社区非常活跃7:8Selenium
18插件丰富度插件相对较少插件丰富7:8Selenium
19更新频率更新较快更新频率一般8:7Playwright
20学习曲线相对较平缓学习曲线稍陡8:7Playwright
21对新特性支持快速支持新特性支持新特性稍慢8:7Playwright
22代码可读性代码简洁,可读性高代码相对复杂,可读性一般8:7Playwright
23与 CI/CD 集成集成方便集成相对复杂8:7Playwright
24支持的浏览器版本范围较广一般8:7Playwright
25对 WebRTC 的支持支持较好支持一般8:7Playwright
26对 HTML5 特性支持支持良好支持一般8:7Playwright
27对 CSS3 特性支持支持良好支持一般8:7Playwright
28对 JavaScript 框架支持支持良好支持一般8:7Playwright
29对前端框架的兼容性兼容性好兼容性一般8:7Playwright
30支持的操作系统多操作系统支持多操作系统支持8:8平手
31内存占用相对较低较高8:7Playwright
32执行速度速度较快速度一般8:7Playwright
33对动态页面处理处理能力强处理能力一般8:7Playwright
34对 AJAX 请求的处理处理优秀处理一般8:7Playwright
35对 iframe 的处理处理方便处理稍复杂8:7Playwright
36对表单提交的处理处理准确处理一般8:7Playwright
37对弹窗的处理处理灵活处理稍复杂8:7Playwright
38对鼠标和键盘事件模拟模拟自然模拟稍复杂8:7Playwright
39对文件上传下载的支持支持良好支持一般8:7Playwright
40对网络请求拦截的支持支持较好支持一般8:7Playwright

二、playwright核心工具

  • Codegen:能够记录用户的操作,并将其转化为测试用例,且可以保存为任何语言的测试代码。
  • Playwright Inspector:可用于检查页面状态,生成精准的选择器,能够逐步执行测试,清晰地查看点击位置,还能探索详细的执行日志。
  • Trace Viewer:能够捕获所有关键信息,以便在测试失败时进行深入调查。Playwright 的跟踪功能十分强大,包含测试执行过程中的截屏、实时的 DOM 快照、动作资源管理器以及测试的源代码等内容。

三、playwright环境安装

  • 安装playwright插件:
    • pip install pytest-playwright
  • 安装所需的浏览器:
    • playwright install

详细的安装指南可前往:Playwright 的安装 | 静觅 进行查看。在成功完成安装后,我们就能运用 Playwright 开启 Chromium、Firefox 或者 WebKit 浏览器,从而开展自动化操作了。

录制

playwright codegen 需要录制的网址,如:

  • playwright codegen http://www.baidu.com

脚本切换&生成测试用例

在inspector 窗口可以切换腳本語言,选择pytest后,会自动生成对应的测试用例

搜圖,下載↓

import re
from playwright.sync_api import Page, expect


def test_example(page: Page) -> None:
    page.goto("https://www.baidu.com/")
    with page.expect_popup() as page1_info:
        page.get_by_role("link", name="图片").click()
    page1 = page1_info.value
    page1.get_by_placeholder("拖入图片/输入文字").click()
    page1.get_by_placeholder("拖入图片/输入文字").fill("澳門酒店logo")
    page1.get_by_placeholder("拖入图片/输入文字").press("Enter")
    page1.get_by_role("button", name="百度一下").click()
    with page1.expect_download() as download_info:
        page1.get_by_role("link", name="下载原图").click()
    download = download_info.value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值