最强自动化测试框架Playwright(25)-浏览器

Browser | Playwright Python

方法

创建page页面

from playwright.sync_api import sync_playwright

def run(playwright):
    firefox = playwright.firefox
    browser = firefox.launch()
    page = browser.new_page()
    page.goto("https://example.com")
    browser.close()

with sync_playwright() as playwright:
    run(playwright)

关闭浏览器

如果使用 browser_type.launch() 创建浏览器,则使用该方法可以关闭浏览器及其所有页面(如果打开了任何页面),如果使用 browser.new_context() 创建了 BrowserContext ,则需要先关闭浏览器山下文browser_context.close(),再关闭浏览器。

browser.close()

new_browser_cdp_session

返回新创建的浏览器会话。

browser.new_browser_cdp_session() 

 创建浏览器上下文

创建新的浏览器上下文。它不会与其他浏览器上下文共享 cookie/缓存。

context = browser.new_context()

browser = playwright.firefox.launch() # or "chromium" or "webkit".
# create a new incognito browser context.
context = browser.new_context()
# create a new page in a pristine context.
page = context.new_page()
page.goto("https://example.com")

# gracefully close up everything
context.close()
browser.close()

 创建新的页面

browser.new_page()

开始跟踪结束跟踪

start_tracing方法可以用于开启跟踪,并将跟踪结果保存到文件中。测试者可以通过分析这些跟踪数据来检测页面的性能问题,比如卡顿、加载时间过长等等。同时,这些跟踪数据也可以帮助测试者编写更加精准的测试用例,以便更好地模拟用户的操作行为

browser.start_tracing(page, path="trace.json")
page.goto("https://www.google.com")
browser.stop_tracing() 

使用这两个方法,可以生成跟踪文件,跟踪文件可以在 Chrome 开发人员工具性能面板中打开。

示例:

from playwright.sync_api import sync_playwright

def run(playwright):
    firefox = playwright.chromium
    browser = firefox.launch(headless=False)
    page = browser.new_page()
    browser.start_tracing(page=page, path="trace.json")
    # page.goto("https://www.google.com")
    page.goto("http://www.baidu.com")
    browser.stop_tracing()
    browser.close()

with sync_playwright() as playwright:
    run(playwright)

 

 该文件可以在浏览器开发者工具的性能面板中打开。

 属性

browser_type

获取浏览器所属的浏览器类型(chromium,Firefox或webkit)。

browser.browser_type

contexts

返回所有打开的浏览器上下文的数组。在新创建的浏览器中,这将返回零个浏览器上下文

browser = pw.webkit.launch()
print(len(browser.contexts())) # prints `0`
context = browser.new_context()
print(len(browser.contexts())) # prints `1` 

  is_connected

指示浏览器已连接。

browser.is_connected()

version

浏览器的版本

browser.version 

 事件

on("disconnected")

当浏览器与浏览器应用程序断开连接时发出。这可能是由于以下原因之一而发生的:

browser.on("disconnected", handler)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值