Playwright的browser、context、page三层结构

1、browser(浏览器)

  • Browser对应一个浏览器实例,例如chromium、Firefox、WebKit等
  • Playwright脚本通常以启动浏览器实例开始,已关闭浏览器结束
  • 浏览器实例可以在headless(无头)或headful(有头)模式下启动。Headless模式允许脚本在内存中运行浏览器,不展示实际窗口,通常用于服务器或CI/CD环境中的自动化测试
  • 一个Browser可以包含多个BrowserContext

2、BrowserContext(浏览器上下文)

  • BrowserContext代表浏览器的上下文回话,相当于一个全新的浏览器配置文件
  • Playwright为每个测试创建一个BrowserContext,提供了完全隔离的测试环境,并且零开销
  • 每个BrowserContext都有自己的Session、Cookie、浏览器存储和浏览器历史记录,与其他BrowserContext完全隔离
  • 创建一个新的BrowserContext非常快速,只需要几毫秒
  • 一个BrowserContext可以包含多个Page

3、Page(页面)

  • Page代表浏览器中的一个选项卡或页面
  • Page是真正与网页进行交互的层面,包括页面跳转、元素定位、事件触发等
  • 通过Page可以访问和操作网页中的所有元素和事件
  • 一个BrowserContext可以打开多个Page,并且每个Page都有自己单独的状态

总结

  • Playwright通过Browser、BrowserContext和Page三层结构,实现了对浏览器的全面控制盒测试
  • Browser是浏览器实例的抽象,可以包含多个BrowserContext
  • BrowserContext是浏览器上下文的抽象,提供了测试隔离和快速创建能力,可以包含多个Page
  • Page是页面层的抽象,用于与网页进行交互

相关推荐

  1. Playwrightbrowser、context、page结构

    2024-06-07 15:52:04       29 阅读
  2. Playwright

    2024-06-07 15:52:04       36 阅读
  3. playwright 对象是 Playwright 框架中核心对象

    2024-06-07 15:52:04       41 阅读
  4. 单片机编程分层思想APP BSP HAL 结构

    2024-06-07 15:52:04       28 阅读
  5. 交换机原理

    2024-06-07 15:52:04       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 15:52:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 15:52:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 15:52:04       87 阅读
  4. Python语言-面向对象

    2024-06-07 15:52:04       96 阅读

热门阅读

  1. Rust 实现 kvmsample

    2024-06-07 15:52:04       31 阅读
  2. SVN中trunk,branch,tag

    2024-06-07 15:52:04       34 阅读
  3. git拉取合并分支冲突解决

    2024-06-07 15:52:04       34 阅读
  4. Unity Shader基础知识的入门了解

    2024-06-07 15:52:04       30 阅读
  5. 【Android】解决AndroidStudio无法预览layout.xml的问题

    2024-06-07 15:52:04       29 阅读
  6. 云WAF的负载均衡和流量分发功能

    2024-06-07 15:52:04       33 阅读
  7. Android - RadioGroup中多个radiobutton同时被选中问题

    2024-06-07 15:52:04       30 阅读
  8. CSS -webkit-text-security

    2024-06-07 15:52:04       32 阅读
  9. PDF格式分析(八十五)——水印注释(Watermark)

    2024-06-07 15:52:04       36 阅读
  10. python 第一天

    2024-06-07 15:52:04       31 阅读