杭州网站搜索,网页和网站的联系,太原网络推广公司,网站制作验收单做自动化测试已经好多年了#xff0c;随着项目技术的正增长提升#xff0c;我们也不断完善并提高自己的技术能力#xff0c; 下面给大家分享一个 selenium 自动化执行测试用例的录屏功能。希望对大家有帮助#xff01; 首先#xff0c;我们为什么要执行自动化录屏功能呢… 做自动化测试已经好多年了随着项目技术的正增长提升我们也不断完善并提高自己的技术能力 下面给大家分享一个 selenium 自动化执行测试用例的录屏功能。希望对大家有帮助 首先我们为什么要执行自动化录屏功能呢 不是有执行用例的日志就可以了吗 这个答案是否定的。 因为传统的自动化测试主要关注于功能性的验证而且有时候我们也很难无法捕捉测试过程的复现和步骤。这个时候就要引用到自动化执行测试用例的录屏功能了。 在Selenium自动化测试框架的基础上集成屏幕录制功能。这样在测试脚本执行的过程中可以自动捕捉屏幕上的所有活动包括视频播放、用户交互等从而更直观地发现潜在的视觉问题或性能问题。
想象一下你是一名负责一款在线教育平台自动化测试的工程师这个平台提供了丰富的视频课程供用户学习。为了确保用户在观看视频时的体验流畅无阻你决定引入一种创新的方法——使用Python结合Selenium进行自动化测试的同时自动录制屏幕以捕捉任何潜在的视觉问题或性能瓶颈。
解决方案
下面给大家实现解决方案 环境搭建 安装Python及Selenium库。 选择一个合适的屏幕录制库如opencv-python结合pyautogui或专业的屏幕录制库如pyscreencast。 编写测试脚本 使用Selenium编写测试脚本模拟用户登录、选择课程、播放视频等操作流程。 在测试脚本中加入屏幕录制的启动和停止逻辑确保在测试执行期间进行录制。 执行测试并录制 运行测试脚本Selenium将模拟用户行为同时屏幕录制功能将捕捉所有屏幕活动。 录制完成后将视频文件保存到指定位置便于后续分析和评审。 分析视频 观看录制的视频检查视频播放是否流畅、画面是否清晰、界面布局是否合理等。 如果发现任何问题可以根据视频中的时间戳快速定位到具体的测试步骤或代码位置进行修复和优化。 有了解决方案后 我们根据这个思路去实操代码代码如下
import cv2import numpy as npimport timeimport pyautogui # 用于捕获屏幕截图from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.chrome.service import Servicefrom webdriver_manager.chrome import ChromeDriverManagerimport threading # 用于在单独的线程中捕获帧class ScreenRecorder: 屏幕录制类def __init__(self, filenameoutput.avi, fps20.0, screen_size(1920, 1080)): self.fourcc cv2.VideoWriter_fourcc(*XVID) self.out None self.fps fps self.filename filename self.screen_size screen_size self.recording Falsedef start(self): 开始录制 self.out cv2.VideoWriter(self.filename, self.fourcc, self.fps, self.screen_size) self.recording True print(开始录制...)def capture_frame(self): 捕获一帧并写入视频文件 if self.recording: img pyautogui.screenshot() # 截取整个屏幕 img cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR) # 转换为 OpenCV 格式 img cv2.resize(img, self.screen_size) # 确保图像大小符合要求 self.out.write(img)def stop(self): 停止录制并释放资源 if self.out is not None: self.out.release() self.recording False print(录制结束文件名为:, self.filename)def run_test_case(recorderNone): 执行自动化测试用例 driver webdriver.Chrome() # 打开网页 driver.get(https://www.baidu.com) driver.set_window_size(1600, 900) time.sleep(5) # 等待页面加载# 执行一些操作 search_box driver.find_element(By.ID, kw) # 查找搜索框 search_box.send_keys(Selenium) search_box.submit() time.sleep(5) # 等待搜索结果加载def capture_frames(recorder): 在单独线程中持续捕获帧 while recorder.recording: recorder.capture_frame() time.sleep(1 / recorder.fps) # 控制录制帧率def main(): 主函数 recorder ScreenRecorder(filenametest_recording.avi)# 开始录制 recorder.start()# 启动帧捕获线程 capture_thread threading.Thread(targetcapture_frames, args(recorder,)) capture_thread.start()try: # 启动自动化测试用例 run_test_case(recorder)finally: # 停止录制并等待线程结束 recorder.stop() capture_thread.join() # 等待捕获线程结束if __name__ __main__: main() 这是 执行代码过程的 这是我整理的《2024最新Python自动化测试全套教程》以及配套的接口文档/项目实战【网盘资源】需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。 【已更新】B站讲的最详细的Python接口自动化测试实战教程全集实战最新版