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引擎没有提 ... 
随机推荐
- LeetCode之“动态规划”:Triangle
			题目链接 题目要求: Given a triangle, find the minimum path sum from top to bottom. Each step you may move to ... 
- C语言实现某年某月某日是某年的第几天
			看到这个标题,想实现这样的功能其实挺简单的,用C语言的switch语句加上闰年,平年条件的判断,再加上一定的逻辑可以轻松实现这样的函数,在linux内核中,存在判断闰年平年的接口,我将它移植出来后,写 ... 
- SharePoint 部件通过EditorPart自定义属性面板
			需求:编写一个新闻展示的WebPart,要求可以分类,类别是从WebService中获取的字符串,要求可以在属性中勾选分类,显示该分类的信息,分类可能会增加.我要做的就是动态生成属性中的新闻类别,至于 ... 
- 恶补web之八:jQuery(3)
			jquery和其他js框架.jQuery使用$作为jQuery的简写,但是还有很多js框架,比如: MooTools,Backbone,Sammy,Cappuccino,Knockout,JavaSc ... 
- IT轮子系列(三)——如何给返回类型添加注释——Swagger的使用(二)
			前言 一般对外提供API,都会统一一个返回类型,比如所有的接口都统一返回HttpResponseMessage.这样当我们在方法上添加///注释时,是无法清楚的知道都返回字段都又那些以及它们的数据类型 ... 
- ubuntu 13.10 install wireshark
			ubuntu 13.10 install wireshark 今天在使用java jsoup操作remote server的是否,在本地执行可以成功返回内容,然后打成jar包,使用shell在 ser ... 
- 网站内容禁止复制和粘贴、另存为的js代码
			1.使右键和复制失效 方法1: 在网页中加入以下代码: 复制代码代码如下: <script language="Javascript"> document.oncont ... 
- Java获取当日的起始时间,结束时间,现在时间,是否在时间段中。
			当日的起始时间 public static Date getTodayStartTime() { Calendar todayStart = Calendar.getInstance(); today ... 
- myeclipse 的Customize Perspective 没有反应
			MyEclipse 2014 工具栏里的Quick Access老是跳上跳下的,弄得我很烦,所以就想自定义一下工具栏,结果 window--> customize perspective 没用 ... 
- SOFA 源码分析 — 扩展机制
			前言 我们在之前的文章中已经稍微了解过 SOFA 的扩展机制,我们也说过,一个好的框架,必然是易于扩展的.那么 SOFA 具体是怎么实现的呢? 一起来看看. 如何使用? 看官方的 demo: 1.定义 ... 
