Playwright入门 —— 简介

Playwright是微软提供的一个web自动化工具,和puppeteer比较类似,微软自己对它的优势介绍如下:

支持所有浏览器

在Chromium, Firefox 和 WebKit上测试。Playwright对所有的现代浏览器都有完整的API覆盖,包括谷歌Chrome和微软Edge(含Chromium),苹果Safari(含WebKit)和Mozilla Firefox。
跨平台WebKit测试. 使用Playwright,测试你的应用程序在Apple Safari中的表现,并为Windows、Linux和macOS构建WebKit。在本地和CI上进行测试。
测试移动。使用 device emulation在移动网络浏览器中测试您的响应式 Web 应用程序。
无头和有头。Playwright支持所有浏览器和所有平台的headless(无浏览器UI)和headful(有浏览器UI)模式。Headful非常适合调试,而headless则更快,适合CI/cloud执行。

快速可靠的执行

自动等待API。扮演者交互auto-wait for elements要准备好。这提高了可靠性并简化了测试编写。
免超时自动化。Playwright接收浏览器信号,如网络请求、页面导航和页面加载事件,以消除导致flakiness的睡眠超时需求。
使用浏览器上下文进行精益并行化。为多个并行化的隔离执行环境重用一个浏览器实例browser contexts.
弹性元素选择器。Playwright可以依靠面向用户的字符串,如文本内容和可访问性标签来select elements。这些字符串比与DOM结构紧密耦合的选择器更有弹性。

强大的自动化功能

多域、多页面、多框架。Playwright是一个流程外的自动化驱动,它不受页面内JavaScript执行范围的限制,可以自动处理multiple pages的场景。
强大的网络控制。Playwright引入了上下文范围内的network interception来存根和模拟网络请求。
现代web特性。Playwright通过shadow-piercing selectorsgeolocation, permissions、web workers和其他现代web API支持web组件。
覆盖所有场景的能力。支持file downloadsuploads,进程外iframe,本地input events,甚至dark mode

与您的工作流程集成

单行本安装。运行npm i playwright自动下载浏览器依赖关系,让您的团队快速上手。
支持TypeScript。Playwright内置了自动完成和其他优点的类型。
调试工具。Playwright与editor debugger and browser developer tools一起工作,暂停执行并检查网页。
多语言支持。此外,可在 Python和 C#中使用 Playwright 。了解 supported languages.
将测试部署到CI。第一方Docker imageGitHub Actions部署测试到your preferred CI/CD provider

下面是一个简单的例子。

const {chromium} = require(‘playwright’);

(async () => {
    const browser = await chromium.launch({
        headless: false,
        executablePath: ‘C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe’
    });
    const page = await browser.newPage();

    await page.goto(‘https://www.cnblogs.com/TianFang/’);
    await page.screenshot({path: ‘example.png’});
    await browser.close();
})();

最近拿它当蜘蛛程序简单的试了一下,还是非常好用的,主要的好处有:

更强大、好用的api
更易读的文档
更方便的调试功能
易调试
除了nodejs外,还有c#的版本

当然,目前的主流测试工具已经有不少了,我本来也是拿它当蜘蛛使用,就不深入比较了,感兴趣的朋友可以看下网上的对比: Puppeteer, Selenium, Playwright, Cypress – how to choose?

相关站点:

Playwright官方网站
Playwright Github

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注