Python+selenium实现截图图片并保存截取的图片


Posted in Python onJanuary 05, 2018

这篇文章介绍如何利用Selenium的方法进行截图,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图。在selenium for Python中主要有三个截图方法,我们挑选其中最常用的一种。

截图技能对于测试人员来说应该是较为重要的一个技能。

在自动化测试中,截图可以帮助我们直观的定位错误、记录测试步骤。

记得以前在给某跨国银行做自动化项目的时候,某银的PM要求我们自动化测试的每一步至少需要1个截图,以证明每个功能都被自动化测试给覆盖过,在这种情况下截图就成了证明自动化测试有效性的重要手段。

好的测试人员都会截得一手好图,就跟骨灰级宅男定会吟得一手好诗一般。

webdriver的截图功能十分强悍。以前在截图的时候,最麻烦的问题莫过于页面太长而只能截到一屏,屏幕以外需要移动滚动条才能看到的区域一般是截不到的。现在webdriver解决了这个问题,无论页面有多长,webdriver都能比较完美的截到完整的页面。

下面的代码演示了如何使用webdriver进行截图:

# -*- coding: utf-8 -*-
from selenium import webdriver
import unittest
import os,sys,time
import HTMLTestReport
#登录
driver =webdriver.Firefox()
current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
current_time1 = time.strftime("%Y-%m-%d", time.localtime(time.time()))
print(current_time )
print(current_time1 )
# 必须打印图片路径HTMLTestRunner才能捕获并且生成路径,\image\**\\**.png 是获取路径的条件,必须这样的目录
#设置存储图片路径,测试结果图片可以按照每天进行区分
#通过if进行断言判断
driver.get("https://baidu.com/")
#新创建路径“.”表示当前整个.py文件的路径所在的位置,“\\”路径分割符,其中的一个是“\”表示转义字符
pic_path = '.\\result\\image\\' + current_time1+'\\' + current_time +'.png'
print(pic_path)
time.sleep(5)
print(driver.title)
#截取当前url页面的图片,并将截取的图片保存在指定的路径下面(pic_path),注:以下两种方法都可以
driver.save_screenshot(pic_path)
driver.save_screenshot('.\\result\\image\\' + current_time1+'\\' + current_time +'.png') 
if u'百度一下,你就知道' == driver.title:
  print ('Assertion test pass.') 
else:
  print ('Assertion test fail.')
 #通过try抛出异常进行断言判断  
driver.get("https://baidu.com/")
driver.save_screenshot(pic_path)
try:
  assert u'百度一下,你就知道' == driver.title
  print ('Assertion test pass.') 
except Exception as e:
  print ('Assertion test fail.', format(e))
time.sleep(5)
driver.quit()

save_screenshot方法实现了截图功能,只需要传入保存截图的文件名就可以了,十分方便。

总结

以上所述是小编给大家介绍的Python+selenium实现截图图片并保存截取的图片,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python网络编程之数据传输UDP实例分析
May 20 Python
Python日期的加减等操作的示例
Aug 15 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
python五子棋游戏的设计与实现
Jun 18 Python
Python 实现Serial 与STM32J进行串口通讯
Dec 18 Python
python的列表List求均值和中位数实例
Mar 03 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
Python如何执行系统命令
Sep 23 Python
python机器学习实现oneR算法(以鸢尾data为例)
Mar 03 Python
Python first-order-model实现让照片动起来
Jun 25 Python
微信跳一跳辅助python代码实现
Jan 05 #Python
使用python为mysql实现restful接口
Jan 05 #Python
微信跳一跳python代码实现
Jan 05 #Python
python+opencv轮廓检测代码解析
Jan 05 #Python
python selenium UI自动化解决验证码的4种方法
Jan 05 #Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 #Python
OpenCV-Python实现轮廓检测实例分析
Jan 05 #Python
You might like
无线电的诞生过程
2021/03/01 无线电
一个用于MySQL的PHP XML类
2006/10/09 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
php身份证号码检查类实例
2015/06/18 PHP
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
2015/11/27 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
jquery动态赋值id与动态取id方法示例
2017/08/21 jQuery
vue中mint-ui的使用方法
2018/04/04 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
python十进制和二进制的转换方法(含浮点数)
2018/07/07 Python
python之cv2与图像的载入、显示和保存实例
2018/12/05 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
python集合是否可变总结
2019/06/20 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
Python中的__init__作用是什么
2020/06/09 Python
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
2021/02/24 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
心理健康活动总结
2014/04/30 职场文书
合作意向书范本
2019/04/17 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书