selenium — Playwright 自动化测试框架

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


Playwright 简介

Playwright 官网:

  • Web 自动化测试框架。

  • 跨平台多语言支持。

  • 支持 Chromium、Firefox、WebKit 等主流浏览器自动化操作。

Playwright 的优点

  • 支持所有流行的浏览器。

  • 速度更快,更可靠的执行。

  • 更强大的自动化测试配置。

  • 强大的工具库:Codegen、Playwright inspector、Trace Viewer。

Playwright 原理

scale 1000 

participant 编程语言 as p 

participant Playwright as playwright

participant puppeteer 

participant 浏览器 as browser

p -> playwright: 编程语言调用playwright库 

playwright -> puppeteer: 调用 puppeteer 工具 

puppeteer <-> browser: 通过 Chrome DevTools 协议(基于Websocket),调用浏览器

Playwright 与 selenium 对比

项目

Playwright

Selenium

是否需要驱动

需要对应浏览器 webdriver

支持语言

Java, Python, Javascript

Java, Python, Javascript, Ruby, C#等

支持浏览器

Chrome、Firefox 等

Chrome、Firefox 等

通讯方式

websocket 双向通讯协议

http 单向通讯协议

使用的测试框架

无限制(pytest,unittest)

无限制(pytest,unittest)

测试速度

录制测试视频、快照

支持

支持

社区支持

微软

thoughtworks 公司

Playwright 核心工具

  • Codegen:通过记录你的操作来生成测试。 将它们保存为任何语言。

  • Playwright inspector: 检查页面、生成选择器、逐步执行测试、查看点击点、探索执行日志。

  • Trace Viewer:捕获所有信息以调查测试失败。 Playwright 跟踪包含测试执行截屏、实时 DOM 快照、动作资源管理器、测试源等等。

Playwright 环境安装

官网介绍:https://playwright.dev/python/docs/intro

  • 安装 playwright 插件

  • pip install pytest-playwright

  • 安装所需的浏览器

  • playwright install

Codegen

# 设定展示窗口大小
playwright codegen --viewport-size=800,600 地址
# 指定设备
playwright codegen --device="iPhone 11" 地址

其他参数: https://playwright.dev/python/docs/codegen

Codegen-保存登录状态

  • 场景:单点登录、验证码问题

# 保存登录状态
playwright codegen --save-storage=auth.json
# 加载认证信息
playwright codegen --load-storage=auth.json 地址

Playwright 常用API

https://playwright.dev/python/docs/input

常用API

含义

start()

实例化playwright

chromium().launch()

打开chrome浏览器

new_page()

打开一个窗口页面

page.goto()

跳转到某个地址

page.locator(““)

定位某个元素

click()

点击元素

fill()

输入内容

keyboard().down()

键盘事件

screenshot()

截图操作

Playwright 使用实例

from playwright.sync_api import sync_playwright, expect
def test_playwright():
    # 实例化playwright
    playwright = sync_playwright().start()
    # 打开chrome浏览器,headless默认是True,无头模式,这里设置为False方便查看效果
    browser = playwright.chromium.launch(headless=False)
    # 打开一个窗口页面
    page = browser.new_page()
    # 在当前窗口页面打开测试人网站
    page.goto("https://ceshiren.com/")
    # 定位搜索按钮并点击
    page.locator("#search-button").click()
    # 定位搜索框并输入web自动化
    page.locator("#search-term").fill("web自动化")
    # 使用keyboard.down模拟键盘的enter事件
    page.keyboard.down("Enter")
    # 断言搜索结果
    result = page.locator(".list>li:nth-child(1) .topic-title>span")
    expect(result).to_contain_text("自动化测试")
    # 截图
    page.screenshot(path='screenshot.png')
    # 用例完成后先关闭浏览器
    browser.close()
    # 然后关闭playwright服务
    playwright.stop()

Trace Viewer 简介

https://playwright.dev/python/docs/trace-viewer-intro

Trace Viewer 使用

trace 在代码中的配置

browser = chromium.launch()

实例化一个新的context

context = browser.new_context()

设置trace的参数信息

context.tracing.start(screenshots=True, snapshots=True, sources=True)

使用context生成的page实例进行对应的操作

page = context.new_page()

结束追踪

context.tracing.stop(path = "trace.zip")

打开trace

playwright show-trace trace.zip

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值