继selenium后,又一强大的web自动化框架出现在大众的视野。playwright!在这之前,谈及到UI自动化,大部份人想到的都是selenium。因为selenium2.0和3.0和4.0的发布,并没有过多的功能迭代,不能满足用户的需求。随着新框架的出现,慢慢被替代掉了。
一、playwright的优势在哪?
1、支持多语言打码
支持Node.js、python、c#、Java、JavaScript语言
2、跨浏览器和跨平台
Playwright支持所有现代渲染引擎,包括Chromeium、WebKit和Firefox
跨平台:在Windows、Linux、macos上进行本地测试或在CI上进行无头或有头模进行测试
测试移动网络:适用于Android和iOS的Google Chrome浏览器的本机移动仿真。同等的渲染引擎适用桌面和云端
3、稳定性
自动等待。Playwright在执行动作之前等待元素可操作。它还具有一组丰富的内省 事件。两者的结合消除了人为超时的需要——这是不稳定测试的主要原因
Web优先断言。Playwright断言是专门为动态网络创建的。检查会自动重试,直到 满足必要的条件
追踪。配置测试重试策略,捕获执行跟踪、视频、屏幕截图以定位问题。
4、运行机制
多重一切。测试跨越多个选项卡、多个来源和多个用户的场景。为不同的用户创建 具有不同上下文的场景,并在您的服务器上运行它们,所有这些都在一次测试中完成
可信事件。悬停元素,与动态控件交互,产生可信事件。Playwright使用与真实用 户无法区分的真实浏览器输入管道。
测试框架,穿透 Shadow DOM。Playwright 选择器穿透影子 DOM 并允许无缝地输 入帧
5、完全隔离-快速执行
浏览器上下文。Playwright为每个测试创建一个浏览器上下文。浏览器上下文相当 于一个全新的浏览器配置文件。这提供了零消费的完全测试隔离。创建一个新的浏 览器上下文只需要几毫秒
二、环境准备
python要求版本在python3.7+版本
1、安装playwright
pip install playwright
2、安装所需要的浏览器
playwright install
一步即可安装所需的浏览器,并且不需要安装驱动包了(解决了selenium启动浏览器, 总是要找对应驱动包的痛点)
三、快速体验
启动浏览器打开百度页面
from playwright.sync_api import sync_playwright with sync_playwright() as fp: browser = fp.chromium.launch() context = browser.new_context() page = context.new_page() page.goto("https://www.baidu.com")标签:Playwright,浏览器,配置,selenium,playwright,测试,体验,上下文 From: https://www.cnblogs.com/xdsa/p/17347673.html