打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Playwright上手学习

Playwright上手学习

  • 简介
    • 优势
      • 浏览器支持
      • 快速稳定的执行
      • 强大的自动化功能
  • 安装上手使用(Python)

简介

Playwright是微软开源的一款自动化测试工具,支持Python、Java、Node.js、.NET,目前最新版本的为1.14,暂时没有中文文档。可快速实现在主流的浏览器上的自动化测试。

优势

浏览器支持

  1. Playwright有全面的API,支持现主流的浏览器,Chrome、Microsoft Edge (Chromium)、Apple Safari (WebKit)和Firefox。无需额外下载浏览器驱动,在下载Playwright库时就已自动下载浏览器驱动文件。
  2. 跨平台WebKit测试:支持在Windows、Linux、MacOS上进行通过WebKit实现Apple Safari测试
  3. Playwright支持通过设置手机型号进行移动端Web browsers测试
  4. 支持无头、有头浏览器模式运行

快速稳定的执行

  1. Playwright提供自动等待API,自动等待元素出现(自动等待30s,等待时间可以自定义,单位毫秒),自动等待时间发送
  2. 自动识别浏览器超时。Playwright可以接收浏览器信号,如网络请求、页面导航和页面加载事件,以解决设置不稳定的睡眠时间的需要
  3. 快速隔离浏览器环境:Playwright支持上一个执行完成的浏览器实例作为下一个执行的开始
  4. 更加灵活的元素定位:Playwright支持面向用户的字符串定位,如通过文本内容和可访问标签来定位元素。

强大的自动化功能

  1. 支持多个域、页面和表单。 Palywright是一个 进程外(out-of-process) 自动化驱动程序,它不受页内JavaScript执行范围的限制,可以自动处理多个页面的场景
  2. 强大的网络控制。Playwright引入上下文的网络监听来阻断或mock网络请求
  3. Playwright支持文件上传下载、切换iframes、原生输入事件,还可以切换浏览器的模式(Light or Dark mode)

安装上手使用(Python)

  • 在Python环境安装,建议版本3.7以上
 pip install playwright
  • 安装浏览器的驱动文件
 python -m playwright install

完成以上两个步骤即可开始正式试用Playwright

Playwright支持两种形式的API:synchronous(同步)和 asynchronous(异步),因为Playwright默认是用的无头模式,为了看到效果,这里修改了默认参数,改为了有头模式。下面分别这两种调用方式跑同一个示例测试流程:

- 同步执行:

 # 打开谷歌浏览器,输入'http://www.baidu.com’并跳转,等待页面加载完毕,答应当前页面的的title,关闭浏览器
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("http://www.baidu.com")
    print(page.title())
    browser.close()

- 异步执行:

# 打开谷歌浏览器,输入'http://www.baidu.com’并跳转,等待页面加载完毕,答应当前页面的的title,关闭浏览器
import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        page = await browser.new_page()
        await page.goto("http://www.baidu.com")
        print(await page.title())
        await browser.close()

asyncio.run(main())

Playwright支持屏幕截图,无头有头模式都可截图:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto("http://www.baidu.com")
    # 浏览器截图,无头模式也可截图。默认为当前执行路径
    page.screenshot(path='example.png')
    browser.close()

Playwright支持脚本录制:

通过python命令行的方式可以进行脚本录制

python -m playwright codegen

输入 --help查看相关使用方法


可以看到其功能是很齐全,这里只是简单介绍使用,后续会单独重点对这部分进行讲解。

Playwright可以与Pytest结合使用: 使用第三方库pytest-playwright

原文链接:https://blog.csdn.net/qq_36219929/article/details/120039744





本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
微软最强 Python 自动化工具开源了!不用写一行代码!
Python Playwright API使用实例详解
推荐一款最强Python自动化神器!不用写一行代码
Playwright快速上手指南
python+playwright 学习-53 模拟键盘操作-复制粘贴相关
Python自动化办公——Selenium控制浏览器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服