Playwright第一篇:初探神器

目录

 

0X01 简单介绍

0X02 对比selenium优点

0X03 安装

0X04 简单上手

0X05 总结


0X01 简单介绍

        最近在学习新的前端自动化测试框架——Playwright。相信不少开发者已经听说过它的名字,今天分享一下我对这个神器的初步探索。

        作为一款开源的 Node.js 库,Playwright 可以用于浏览器自动化测试和 UI 测试。与其他类似工具相比,它有一个独特的优点——不依赖于任何第三方库或插件,支持 Chromium、Firefox 和 WebKit 三大浏览器内核,并且支持 Windows、Mac 和 Linux 等多个操作系统平台。

        那么,什么是 Playwright 的具体作用呢?我们可以从以下几个角度来介绍它的特点:

        1. 高效灵活的 API

        Playwright 提供了一个高效灵活的 API,能够帮助开发者完成各种不同的操作,例如打开页面、点击按钮、填充表单、截图等等。值得注意的是,Playwright 与浏览器 API 相似,具有更好的可读性和可维护性。

        2. 直观友好的调试模式

        Playwright 拥有一个直观友好的调试模式,通过它,我们可以方便快捷地找到解决问题的方法。同时,它也支持 DevTools 协议,允许我们对浏览器的调试工具进行操作。

        3. 多语言支持

        Playwright 提供了多语言(JavaScript、TypeScript、Python)的支持,使得我们可以以自己熟悉的语言来编写测试脚本。

0X02 对比selenium优点

        对比 Selenium,Playwright 有以下几个优点:

        1. 更好的跨平台支持:Playwright 支持多个操作系统平台,包括 Windows、Mac 和 Linux 等,而 Selenium WebDriver 的不同版本存在平台差异,比如 Safari Driver 只支持 MacOS。

        2. 更好的浏览器兼容性:Playwright 支持多个浏览器内核,包括 Chromium、Firefox 和 WebKit,而 Selenium 主要围绕着 Firefox 和 Chrome,对其他浏览器的支持性不如 Playwright。

        3. 更好的 API 设计:Playwright 的 API 设计更加简洁、直观和易于使用,与浏览器 API 大致相同,可读性和可维护性更强,相比之下,Selenium 的 API 相对复杂一些。

        4. 更好的运行速度:Playwright 在 UI 自动化测试时,其执行速度可以比 Selenium 更快。除了支持并发执行,提升测试执行速度,还可以在多个浏览器实例之间共享网络栈,提升测试效率。

0X03 安装

        在 Python 上使用 Playwright,需要安装 Python 版本的 Playwright 库。

Step1:pip install playwright

Step2:playwright install

        安装成功后 ,可以通过以下方式来使用 Playwright:

from playwright.sync_api import Playwright, sync_playwright_with_args

def run(playwright: Playwright) -> None:
  browser = playwright.chromium.launch()
  context = browser.new_context()
  page = context.new_page()

  page.goto("https://www.google.com/")
  page.type("input[name='q']", "Playwright")
  page.press("input[name='q']", "Enter")

  print(page.title())

  context.close()
  browser.close()

0X04 简单上手

        一个简单的 Python 脚本示例,以 Chrome 浏览器为例,演示如何使用 Playwright 自动化搜索百度关键字并截取页面。

from playwright.sync_api import Playwright, sync_playwright_with_args

def run(playwright: Playwright) -> None:
  # 启动浏览器并创建新的页面
  browser = playwright.chromium.launch()
  context = browser.new_context()
  page = context.new_page()

  # 打开搜索引擎并输入关键词
  page.goto('https://www.baidu.com')
  page.type('#kw', 'Playwright')

  # 点击搜索按钮并等待页面加载完成
  page.click('#su')
  page.wait_for_selector('#content_left', state='visible')

  # 截取页面并保存到本地
  page.screenshot(path='playwright.png')

  # 关闭页面和浏览器
  context.close()
  browser.close()


with sync_playwright_with_args() as playwright:
  run(playwright)

         首先导入了 Playwright 库,并通过Playwright类型的实例来启动 Chromium 浏览器,创建页面并输入搜索关键词。然后,我们点击搜索按钮并等待搜索结果的页面完全加载完成后,我们通过page.screenshot()方法来获取页面截图,并将截图保存到本地文件中。最后,我们关闭浏览器,结束测试。

0X05 总结

        总之,Playwright 是一款非常值得尝试的自动化测试框架,具备高效灵活的 API、直观友好的调试模式和多语言支持等优点。尤其是在跨平台和浏览器兼容性、API 设计和执行速度方面表现优秀。希望通过这篇文章的介绍,能够让读者初步了解 Playwright 的特点和使用方法~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值