playwright环境配置和快速体验

  继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")
posted @ 2023-04-23 20:35  夏大帅  阅读(405)  评论(0编辑  收藏  举报