selenium提供的截图功能
get_screenshot_as_file()提供一个截屏功能。在自动化执行过程中,执行失败后只能看到代码的运行错误,而不能直接看到ui上的错误,利用截屏保存下来很容易的进行问题的判断 先来执行一个通过的用例:
from selenium import webdriver
import time
import os
def test_search_baidu():
driver = webdriver.Chrome()
driver.implicitly_wait(5) # 隐性等待5秒
driver.get('http://www.baidu.com')
word = '韩国 v 发觉你狗日价格每公斤'
driver.find_element_by_id('kw').send_keys(word) # 搜索框中输入word
driver.find_element_by_id('su').click() # 点击搜索
time.sleep(1)
# 判断,如果word在请求的页面中则通过,不在则截屏
img_path = os.getcwd() # 保存截图的路径
if word in driver.page_source:
print('testcase is pass!')
else:
driver.get_screenshot_as_file(img_path+"fail_img.png")
# 关闭浏览器
driver.quit()
# 运行程序
if __name__ == '__main__':
test_search_baidu()
# 结果:testcase is pass!
改下代码,让用例执行成功后截图,失败后打印测试失败:
from selenium import webdriver
import time
import os
def test_search_baidu():
driver = webdriver.Chrome()
driver.implicitly_wait(5) # 隐性等待5秒
driver.get('http://www.baidu.com')
word = '韩国 v 发觉你狗日价格每公斤'
driver.find_element_by_id('kw').send_keys(word) # 搜索框中输入word
driver.find_element_by_id('su').click() # 点击搜索
time.sleep(1)
# 判断,如果word在请求的页面中通过则截图
img_path = os.getcwd() # 保存截图的路径
print(img_path)
if word in driver.page_source:
driver.get_screenshot_as_file(img_path + "sucess_img.png")
else:
print('testcase is fail!')
# 关闭浏览器
driver.quit()
# 运行程序
if __name__ == '__main__':
test_search_baidu()
截图如下:
selenium提供的截图功能的更多相关文章
- Selenium webdriver实现截图功能
可参考http://www.cnblogs.com/tobecrazy/p/3599568.html Webdriver截图时,需要引入: import java.io.File; import ja ...
- Selenium Webdriver——实现截图功能
截图方法 public static void snapshot(TakesScreenshot drivername, String filename) { // this method will ...
- 封装selenium自动化框架中的截图功能
对selenium自带的截图功能进行封装: 以下为封装的代码,自定义一个.py文件即可,图片路径自己设置一个. #coding:utf-8 class Screen(object): ''' 封装的截 ...
- selenium截图功能
selenium自动化测试完后需要查看值观的结果,或者查操作过程中是否正确,此时需要使用自带的截图功能. 示例1: from time import sleep from selenium impor ...
- selenium web driver 实现截图功能
在验证某些关键步骤时,需要截个图来记录一下当时的情况 Webdriver截图时,需要引入 import java.io.File; import java.io.IOException; import ...
- Python+Selenium学习--异常截图
前言 Webdriver 提供错误截图函数get_screenshot_as_file(),可以帮助我们跟踪bug,在脚本无法继续执行时候, get_screenshot_as_file()函数将截取 ...
- 记一次"截图"功能的项目调研过程!
目录 项目需求 功能调研 AWT Swing Html2Image PhantomJS Headless Chrome 实现方案 结论 项目需求 最近,项目接到了一个新需求,要求对指定URL进行后端模 ...
- Selenium2学习-023-WebUI自动化实战实例-021-获取浏览器显示区域大小,通过 WebDriver 截图功能
之前的博文 020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小) 简述了通过 JavaScript 获取浏览器显示区域大小,此文将简述另一种获取浏览器显 ...
- Unity项目接入应用宝SDK实现截图功能
Unity项目接入应用宝SDK实现截图功能 问题由来 点击应用宝悬浮窗 如图所示 左下角有一个截图按钮 需要解决那些问题 截图信息需要由游戏引擎提供 SDK获取截图信息为同步 但是Unity引擎没有提 ...
随机推荐
- 第一个Polymer应用 - (4)收尾工作
原文链接: Step 4: Finishing touches翻译日期: 2014年7月8日翻译人员: 铁锚在本节中,会在卡片上添加收藏按钮,并可以通过切换选项卡(tabs)连接到不同的 <po ...
- ffdshow 源代码分析 4: 位图覆盖滤镜(滤镜部分Filter)
===================================================== ffdshow源代码分析系列文章列表: ffdshow 源代码分析 1: 整体结构 ffds ...
- linux下将eclipse项目转换为gradle项目
本文针对于在linux环境下,不使用eclipse而把一个eclipse项目转换为gradle默认结构的项目的情况,脚本可能在mac下也适用,未验证. windows中的转换问题,以及使用eclips ...
- SharePoint 2010 -- .Net托管客户端模型简单示例
.Net托管客户端模型,是SharePoint2010推出的三种客户端模型".NET托管"."ECMAScript"."Sliverlight&quo ...
- LeetCode(52)-Remove Linked List Elements
题目: Remove all elements from a linked list of integers that have value val. Example Given: 1 --> ...
- html5中新增的属性和删除的属性
一.表单新增的属性 1.对input(type="text").select.textarea与button元素指定autofocus属性,它以指定属性的方式让元素在画面打开时自动 ...
- 二叉树的序列化和反序列化(Java)
请实现两个函数,分别用来序列化和反序列化二叉树 序列化就是将二叉树以字符串输出,反序列化:根据自己输出的字符串,构建二叉树. 这里先序遍历输出,且为了方便反序列化,各个节点","隔 ...
- mongodb常用语句
一.查询 find方法 db.collection_name.find(); 查询所有的结果: select * from users; db.users.find(); 指定返回那些列(键): se ...
- zxg项目准备的技术资料
bootstrap工具大全:http://www.w3cplus.com/source/the-best-bootStrap-resources.html ubuntu-安装aptana3 http ...
- C++负数取模
预习: r=余数 a=被除数 b=除数 c=商 a/b=c........r r=a-(a/b)*b 一.下面的题目你能全做对吗?1.7/4=?2.7/(-4)=?3.7%4=?4.7%(-4)=?5 ...