admin管理员组

文章数量:1559094

  在自动化测试过程中,截图是一种常用的辅助测试手段,特别是当用例运行出错时,需要用到截图方式来记录下错误结果,以便后续定位错误,在webdriver中提供了四种网络页面截图的方法。

截图方法具体用途
driver.get_screenshot_as_file(filename)获取截屏png图片,参数是文件的绝对路径,截屏必须是.png图片。如果只给文件名,截屏会存在项目的根目录下。
driver.save_screenshot(filename)获取截屏png图片,参数是文件的绝对路径,截屏必须是.png图片, 如果只给文件名,截图会保存在项目的根目录下面。
driver.get_screenshot_as_png()获取二进制数据流。
driver.get_screenshot_as_base64()获取截屏的base64编码数据,在html界面输出截图时使用。

  在这里我们以save_screenshot()方法来演示web测试中截图的基本用法。
举例:对百度九游会下载首页进行截图操作

  1. 启动浏览器
  2. 打开百度九游会下载首页,https://www.baidu
  3. 调用save_screenshot()进行截图操作,并保存到指定位置
  4. 退出浏览器,结束测试
from time import sleep
from selenium import webdriver
driver=webdriver.chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get("https://wwww.baidu")
sleep(2)
#在字符串前面添加一个 r,表示原始字符串,不会发生转义
driver.save_screenshot(r"d:\a\project\screenshots\baidu.png") 
sleep(2)
driver.quit()

  截图方法中get_screenshot_as_file()方法和save_screenshot方法作用是类似的,都是将页面截图以图片的形式存储到指定路径下,在表述文件的绝对路径时,可以像代码中一样,在字符串前添加一个"r"使字符串以原始形式显示,也可以直接以"d:\\a\\project\\screenshots\\baidu.png"来替代,效果是一样的。

本文标签: 方法