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结构紧密耦合的选择器更有弹性。

强大的自动化功能

与您的工作流程集成

下面是一个简单的例子。

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();
})();

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

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

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

相关站点:

原文地址:https://www.cnblogs.com/TianFang/p/14337728.html