经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
《最新出炉》系列入门篇-Python+Playwright自动化测试-41-录制视频 - 北京-宏哥
来源:cnblogs  作者:北京-宏哥  时间:2024/5/6 16:20:44  对本文有异议

1.简介

上一篇讲解和分享了录制自动生成脚本,索性连带录制视频也一股脑的在这里就讲解和分享了。今天我们将学习如何使用Playwright和Python来录制浏览器操作的视频,以便在需要时进行回放和分析。

2.录制视频语法

录制视频介绍官方API的文档地址:https://playwright.dev/python/docs/videos#record-video

2.1录制

视频在测试结束时浏览器上下文关闭时保存。如果您手动创建浏览器上下文,请确保browser_context.close(), 会在调用close的时候保存视频。如果没有等到上下关闭,就停止执行将不会保存视频。

  1. context = browser.new_context(record_video_dir="videos/")
  2. # Make sure to close, so that videos are saved.
  3. context.close()

2.2大致流程步骤

①、安装 Playwright Python(已完成搭建playwright环境)
②、创建一个浏览器实例
③、启动录制
④、执行需要录制的操作
⑤、关闭浏览器或者上下文实例
⑥、保存录像文件

接下来,我们将详细介绍每个步骤需要做什么,并提供相应的代码示例进行实战。

3.详细步骤

3.1安装playwright

安装 Playwright Python(已完成搭建playwright环境)

3.2创建浏览器实例

在开始录制之前,我们需要创建一个上下文或者浏览器实例。下面的代码演示了如何创建一个 Chromium 浏览器实例:

  1. from playwright.sync_api import sync_playwright
  2. with sync_playwright() as playwright:
  3. browser = playwright.chromium.launch()
  4. page = browser.new_page()

3.3启动录制

一旦我们有了浏览器实例或者上下文和页面,我们就可以启动录制了。使用以下代码在页面上启动录制:

  1. context = browser.new_context(record_video_dir="videos/")
  2. # Make sure to close, so that videos are saved.
  3. context.close()

代码执行后,可以看到videos目录下生成了视频,只是格式是webm格式。 如下图所示:

3.4执行需要录制的操作

现在,我们可以在页面上执行任何需要录制的操作。例如,点击按钮、填写表单等。请根据您的需求编写相应的代码。

3.5关闭实例

当您完成了需要录制的操作后,使用以下代码关闭浏览器或者上下文实例:

  1. context.close()
  1. browser.close()

3.6 保存录像文件

最后,我们需要保存录制的视频文件。使用以下代码将录制保存为文件:

  1. page.video.path() # 获取录制文件的路径

您可以将录像文件路径打印出来,或将其保存到变量中供后续使用。

4.项目实战

这里还是以度娘为例,在搜索框输入“北京-宏哥”,点击“百度一下”。

4.1代码设计

4.2参考代码

  1. # coding=utf-8??
  2.  
  3. # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行
  4.  
  5. # 2.注释:包括记录创建时间,创建人,项目名称。
  6. '''
  7. Created on 2023-11-26
  8. @author: 北京-宏哥
  9. 公众号:北京宏哥
  10. Project: 《最新出炉》系列初窥篇-Python+Playwright自动化测试-41-录制视频
  11. '''
  12.  
  13. # 3.导入模块
  14. from playwright.sync_api import sync_playwright
  15. with sync_playwright() as playwright:
  16. # 创建一个浏览器实例
  17. browser = playwright.chromium.launch()
  18. # 启动录制
  19. context = browser.new_context(record_video_dir="videos/recording.mp4")
  20. page = context.new_page()
  21. # 执行需要录制的操作
  22. page.goto("https://www.baidu.com")
  23. page.locator("#kw").fill("北京-宏哥")
  24. page.locator("#su").click()
  25. # 关闭实例
  26. context.close()
  27. browser.close()
  28. # 保存录像文件
  29. recording_path = page.video.path()
  30. print("录像文件路径:", recording_path)

4.3运行代码

1.运行代码,右键Run'Test',控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作。如下图所示:

5.指定视频大小

您还可以指定视频大小。视频大小默认为缩小以适合 800x800 的视口大小。视口的视频放置在输出视频的左上角,必要时缩小以适合。您可能需要设置视口大小以匹配所需的视频大小。

  1. context = browser.new_context(
  2. record_video_dir="videos/",
  3. record_video_size={"width": 640, "height": 480}
  4. )

保存的视频文件将出现在指定的文件夹中。它们都生成了唯一的名称。对于多页面场景,您可以通过 page.video 访问与页面关联的视频文件。

  1. path = page.video.path()

6.video对象方法

video对象方法官方API:https://playwright.dev/python/docs/api/class-video

6.1获取视频路径

  1. print(page.video.path())

6.2删除视频

  1. video.delete()

6.3视频另存为

  1. video.save_as(path)

7.小结

 好了,今天时间不早了,关于playwright的录制视频就先介绍讲解到这里。感谢您耐心的阅读!!!

原文链接:https://www.cnblogs.com/du-hong/p/17838529.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号