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操作日期和时间的方法
Mar 11 Python
Python多线程编程(七):使用Condition实现复杂同步
Apr 05 Python
Python导出数据到Excel可读取的CSV文件的方法
May 12 Python
python实现汉诺塔方法汇总
Jul 25 Python
Python爬取成语接龙类网站
Oct 19 Python
20行python代码的入门级小游戏的详解
May 05 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
python检测服务器端口代码实例
Aug 31 Python
Python continue语句实例用法
Feb 06 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 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 字符串操作入门教程
2006/12/06 PHP
php str_replace的替换漏洞
2008/03/15 PHP
php修改NetBeans默认字体的大小
2013/07/02 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
非常好的js代码
2006/06/27 Javascript
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
[33:23]Secret vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python概率计算器实例分析
2015/03/25 Python
Python日志模块logging基本用法分析
2018/08/23 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
详解python 中in 的 用法
2019/12/12 Python
Keras实现DenseNet结构操作
2020/07/06 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
口头翻译求职人自荐信
2013/12/07 职场文书
珍珠鸟教学反思
2014/02/01 职场文书
爱护草坪标语
2014/06/24 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
老乡聚会通知
2015/04/23 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
python 单机五子棋对战游戏
2022/04/28 Python