playwright截图/录屏/tracing

1. 截图

playwright可以截取当前页面,当前完整页面和页面某个元素。以下以具体的例子说明:

import pytest
from playwright.sync_api import Page

DOCS_URL = "https://playwright.dev/python/docs/intro"


@pytest.fixture(autouse=True, scope="function")
def visit_playwright(page: Page):
    page.goto("https://playwright.dev/python")
    #截取当前页面
    page.screenshot(path="playwright.png")

    yield page
    page.close()
    print("\n[ Fixture ]: page closed!")


def test_page_has_docs_link(page: Page):
    link = page.get_by_role("link", name="Docs")
    
    assert link.is_visible()
    
    link.click()
    #截取当前完整页面
    page.screenshot(path="docs.png", full_page=True)


def test_get_started_visits_docs(page: Page):
    link = page.get_by_role("link", name="GET STARTED")
    #截取当前页面某个元素      
    link.screenshot(path="get-started.png")
    link.click()

    assert page.url == DOCS_URL

page.screenshot(path="playwright.png")
在这里插入图片描述

page.screenshot(path="docs.png", full_page=True)

在这里插入图片描述

link.screenshot(path="get-started.png")
在这里插入图片描述

2. 录屏

import pytest
from playwright.sync_api import Browser, Page, BrowserContext

DOCS_URL = "https://playwright.dev/python/docs/intro"


@pytest.fixture(scope="function")
def visit_playwright(browser: Browser):
    context = browser.new_context(
        record_video_dir="video/"
    )
    page = context.new_page()
    page.goto("https://playwright.dev/python")

    yield page
    context.close()
    print("\n[ Fixture ]: page closed!")


def test_page_has_docs_link(visit_playwright: Page):
    link = visit_playwright.get_by_role("link", name="Docs")
    assert link.is_visible()

    link.click()

    visit_playwright.screenshot(path="docs.png", full_page=True)


def test_get_started_visits_docs(visit_playwright: Page):
    link = visit_playwright.get_by_role("link", name="GET STARTED")
    link.screenshot(path="get-started.png")
    link.click()

    assert visit_playwright.url == DOCS_URL

执行之后:
在这里插入图片描述

3. tracing

import pytest
from playwright.sync_api import Browser, Page, BrowserContext

DOCS_URL = "https://playwright.dev/python/docs/intro"


@pytest.fixture(autouse=True)
def trace_test(context: BrowserContext):
    context.tracing.start(
        name="playwright",
        screenshots=True,
        snapshots=True,
        sources=True,
    )
    yield
    context.tracing.stop(path="trace.zip")


def test_page_has_docs_link(page: Page):
    page.goto("https://playwright.dev/python")

    link = page.get_by_role("link", name="Docs")
    assert link.is_visible()

    link.click()

    page.screenshot(path="docs.png", full_page=True)

执行之后,项目下会生成一个trace.zip的文件
在这里插入图片描述
执行命令打开trace文件:playwright show-trace trace.zip
在这里插入图片描述
可以在tracing viewer中识别element

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值