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输出由1,2,3,4组成的互不相同且无重复的三位数
Feb 01 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
May 09 Python
Django组件之cookie与session的使用方法
Jan 10 Python
python实现最小二乘法线性拟合
Jul 19 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
Jul 23 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
详解python中的数据类型和控制流
Aug 08 Python
Python 内置函数globals()和locals()对比详解
Dec 23 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
python 画图 图例自由定义方式
Apr 17 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 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
PHP函数getenv简介和使用实例
2014/05/12 PHP
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
python中 logging的使用详解
2017/10/25 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
python 编码规范整理
2018/05/05 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
什么是聚集索引和非聚集索引
2012/01/17 面试题
外贸业务员的岗位职责
2013/11/23 职场文书
文言文形式的学生求职信
2013/12/03 职场文书
电脑租赁公司创业计划书
2014/01/08 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
后备干部考察材料
2014/02/12 职场文书
土木工程专业推荐信
2014/02/19 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
Go语言读取txt文档的操作方法
2022/01/22 Golang
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python