自动化测试:自动化测试如何实现屏幕截图

一、截屏方法一

driver.save_screenshot(filename/full_path)

如果括号里面直接写文件名,表示默认保存在当前脚本文件下,如果加上路径则保存在指定的路径下。

注意:这个截屏方式,是保存.png格式的图片,所以文件名后缀要为:.png格式。

(如果不写.png格式,会报错)

案例代码:

from selenium import webdriver
#  定义一个驱动的对象
driver=webdriver.Chrome()
#  打开需要测试的页面
driver.get("https://www.baidu.com")
#  截屏 
driver.save_screenshot('jiujiu.png')

出来的效果:

二、截屏方法二

driver.get_screenshot_as_file(路径/文件名):

如果括号里面直接写文件名,表示默认保存在当前脚本文件下,如果加上路径则保存在指定的路径下。

注意:这个截屏方式,是保存.png格式的图片,所以文件名后缀要为:.png格式(如果不写.png格式,会报错)

案例代码:

#  打开需要测试的网页
driver.get('http://news.baidu.com/')
#  截屏
driver.get_screenshot_as_file('jiujiu2.png')

出来的效果:

 

三、截屏方式三

driver.get_screenshot_as_png():

这个方法是返回二进制的数据流。

然后再通过文件读写的方式去保存这个数据。

案例代码:

#  打开需要测试的页面
driver.get("https://sports.qq.com/nba/")
# 截屏
data=driver.get_screenshot_as_png()
#  通过文件读写的形式,把数据存储到本地
with open('jiujiu3.jpg','wb') as file:
    file.write(data)

 

四、截屏方式四

driver.get_screenshot_as_base64():

这个方法获取的是base64编码格式的数据,所以需要先解码,

然后通过文件读写的形式存储解码后的数据,完成截屏。

这种方式需要在最前面先导入模块:import base64

Base64.b64decode():这个方法可以对括号里面的base64编码格式的数据进行解码。

案例代码:

#  打开需要测试的页面
driver.get("https://sports.qq.com/video/djsp.htm")
#  通过driver.get_screenshot_as_base64()方法可以获取屏幕的base64编码格式的数据
base64_data=driver.get_screenshot_as_base64()
#  需要对数据解码
image_data=base64.b64decode(base64_data)
#  通过文件读写的形式,保存解码后的数据
with open('jiujiu4.jpg','wb') as file:
    file.write(image_data)
driver.quit()

出来的效果:

 

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值