当前位置: 首页 > article >正文

世界职业院校技能大赛(软件测试)技术创新思路分享(二)

        软件测试作为数字时代的核心技能,其创新早已不再局限于传统代码调试。我们团队在辅导过程中,始终围绕三个核心方向突破:

  1. 以原始创意驱动技术革新——通过重构测试模型、开发智能脚本生成工具,我们尝试打破传统测试流程的边界,让效率与精准度实现质的飞跃;
  2. 以职业需求锚定创新坐标——聚焦加工工艺数字化、民生领域应用优化等真实场景,我们设计了多套“轻量级测试解决方案”,让技术创新真正服务于生产线提质、医疗系统升级等社会刚需;
  3. 以团队协同激发创新势能——从算法工程师到用户体验设计师,每位成员以跨领域的思维碰撞,将技术可行性、商业价值与人文关怀深度融合,展现了职业教育人才独有的复合创新能力。

软件测试与新兴测试工具Playwright 能否结合? 

        Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。 

1. Playwright 的特点

  • Playwright 支持当前所有主流浏览器,包括 Chrome 和 Edge(基于 Chromium)、Firefox、Safari(基于 WebKit) ,提供完善的自动化控制的 API。

  • Playwright 支持移动端页面测试,使用设备模拟技术可以使我们在移动 Web 浏览器中测试响应式 Web 应用程序。

  • Playwright 支持所有浏览器的 Headless 模式和非 Headless 模式的测试。

  • Playwright 的安装和配置非常简单,安装过程中会自动安装对应的浏览器和驱动,不需要额外配置 WebDriver 等。

  • Playwright 提供了自动等待相关的 API,当页面加载的时候会自动等待对应的节点加载,大大简化了 API 编写复杂度。

2. 安装

        要使用 Playwright,需要 Python 3.7 版本及以上,请确保 Python 的版本符合要求。

        要安装 Playwright,可以直接使用 pip3,命令如下:

pip3 install playwright

        安装完成之后需要进行一些初始化操作:

playwright install

        这时候 Playwrigth 会安装 Chromium, Firefox and WebKit 浏览器并配置一些驱动,我们不必关心中间配置的过程,Playwright 会为我们配置好。

        具体的安装说明可以参考:https://setup.scrape.center/playwright。

        安装完成之后,我们便可以使用 Playwright 启动 Chromium 或 Firefox 或 WebKit 浏览器来进行自动化操作了。

3. 基本使用

        Playwright 支持两种编写模式,一种是类似 Pyppetter 一样的异步模式,另一种是像 Selenium 一样的同步模式,我们可以根据实际需要选择使用不同的模式。

我们先来看一个基本同步模式的例子:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    for browser_type in [p.chromium, p.firefox, p.webkit]:
        browser = browser_type.launch(headless=False)
        page = browser.new_page()
        page.goto('https://www.baidu.com')
        page.screenshot(path=f'screenshot-{browser_type.name}.png')
        print(page.title())
        browser.close()

        这段代码使用了 Playwright 库来自动化浏览器操作。Playwright 是一个用于自动化浏览器操作的库,支持多种浏览器(如 Chromium、Firefox 和 WebKit)。

1. 导入 sync_playwright

from playwright.sync_api import sync_playwright

这里导入了 sync_playwright 函数,它是 Playwright 库的同步 API 入口点。同步 API 意味着代码会按顺序执行,每一步操作都会等待上一步操作完成后再继续。

2. 使用 sync_playwright 上下文管理器

with sync_playwright() as p:

sync_playwright() 返回一个 Playwright 对象 p,它提供了对浏览器实例的访问。with 语句确保在代码块执行完毕后,资源会被正确释放。

3. 遍历不同的浏览器类型

for browser_type in [p.chromium, p.firefox, p.webkit]:

这里遍历了三种浏览器类型:ChromiumFirefox 和 WebKitp.chromiump.firefox 和 p.webkit 分别代表这三种浏览器的实例。

4. 启动浏览器

browser = browser_type.launch(headless=False)

browser_type.launch(headless=False) 启动一个浏览器实例。headless=False 表示浏览器会以非无头模式运行,即你会看到浏览器窗口打开。如果设置为 True,则浏览器会在后台运行,不会显示窗口。

5. 创建新页面

page = browser.new_page()

browser.new_page() 创建一个新的浏览器页面(标签页),并返回一个 Page 对象 page,用于与该页面进行交互。

6. 访问百度首页

page.goto('https://www.baidu.com')

page.goto() 方法使浏览器导航到指定的 URL,这里是百度的首页。

7. 截图并保存

page.screenshot(path=f'screenshot-{browser_type.name}.png')

page.screenshot() 方法截取当前页面的截图,并将其保存到指定的路径。{browser_type.name} 是浏览器类型的名称(如 chromiumfirefoxwebkit),因此截图文件会根据浏览器类型命名,例如 screenshot-chromium.png

8. 打印页面标题

print(page.title())

page.title() 返回当前页面的标题,并将其打印到控制台。

9. 关闭浏览器

browser.close()

browser.close() 关闭浏览器实例,释放资源。

10.运行效果

控制台运行结果如下:

百度一下,你就知道
百度一下,你就知道
百度一下,你就知道

下一章一起探讨如何与竞赛相结合!!!


http://www.kler.cn/a/593928.html

相关文章:

  • VSCode C/C++ 开发环境完整配置及常见问题
  • Android Launcher3终极改造:全屏应用展示实战!深度解析去除Hotseat的隐藏技巧
  • 数据结构之栈(C语言)
  • 轨道交通DSP+FPGA主控板(6U)板卡,支持逻辑控制、数据处理、通信管理、系统安全保护切换等功能
  • NET6 WebApi第5讲:中间件(源码理解,俄罗斯套娃怎么来的?);Web 服务器 (Nginx / IIS / Kestrel)、WSL、SSL/TSL
  • 【01-驱动学习】
  • 华为流程体系建设与运营(123页PPT)(文末有下载方式)
  • 【Spring 默认是否管理 Request 和 Session Bean 的生命周期?】
  • Android Coil3 Fetcher preload批量Bitmap拼接扁平宽图,Kotlin
  • 头歌 JAVA 桥接模式实验
  • GitHub Actions上关于“Cannot Find Matching Keyid”或“Corepack/PNPM Not Found”的错误
  • 英伟达消费级RTX显卡配置表
  • Linux 驱动开发笔记--1.驱动开发的引入
  • 基于51单片机的多路数据采集系统proteus仿真
  • 效用系统简介
  • bootstrap介绍(前端框架)(提供超过40种可复用组件,从导航栏到轮播图,从卡片到弹窗)bootstrap框架
  • (七)List里面常用的属性和方法
  • ASP.NET Core 使用 MongoDB
  • JavaScript 中的事件委托机制,它有什么优点和适用场景?
  • Quartz知识点总结