最强自动化测试框架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)

 最强自动化测试框架Playwright(25)-浏览器_第1张图片

 该文件可以在浏览器开发者工具的性能面板中打开。最强自动化测试框架Playwright(25)-浏览器_第2张图片

 属性

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")

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

  • 浏览器应用程序已关闭或崩溃。
  • 浏览器.close() 方法被调用。

browser.on("disconnected", handler)

你可能感兴趣的:(#,playwright,自动化,测试)