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提供的截图功能的更多相关文章

  1. Selenium webdriver实现截图功能

    可参考http://www.cnblogs.com/tobecrazy/p/3599568.html Webdriver截图时,需要引入: import java.io.File; import ja ...

  2. Selenium Webdriver——实现截图功能

    截图方法 public static void snapshot(TakesScreenshot drivername, String filename) { // this method will ...

  3. 封装selenium自动化框架中的截图功能

    对selenium自带的截图功能进行封装: 以下为封装的代码,自定义一个.py文件即可,图片路径自己设置一个. #coding:utf-8 class Screen(object): ''' 封装的截 ...

  4. selenium截图功能

    selenium自动化测试完后需要查看值观的结果,或者查操作过程中是否正确,此时需要使用自带的截图功能. 示例1: from time import sleep from selenium impor ...

  5. selenium web driver 实现截图功能

    在验证某些关键步骤时,需要截个图来记录一下当时的情况 Webdriver截图时,需要引入 import java.io.File; import java.io.IOException; import ...

  6. Python+Selenium学习--异常截图

    前言 Webdriver 提供错误截图函数get_screenshot_as_file(),可以帮助我们跟踪bug,在脚本无法继续执行时候, get_screenshot_as_file()函数将截取 ...

  7. 记一次"截图"功能的项目调研过程!

    目录 项目需求 功能调研 AWT Swing Html2Image PhantomJS Headless Chrome 实现方案 结论 项目需求 最近,项目接到了一个新需求,要求对指定URL进行后端模 ...

  8. Selenium2学习-023-WebUI自动化实战实例-021-获取浏览器显示区域大小,通过 WebDriver 截图功能

    之前的博文 020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小) 简述了通过 JavaScript 获取浏览器显示区域大小,此文将简述另一种获取浏览器显 ...

  9. Unity项目接入应用宝SDK实现截图功能

    Unity项目接入应用宝SDK实现截图功能 问题由来 点击应用宝悬浮窗 如图所示 左下角有一个截图按钮 需要解决那些问题 截图信息需要由游戏引擎提供 SDK获取截图信息为同步 但是Unity引擎没有提 ...

随机推荐

  1. LeetCode之“动态规划”:Triangle

    题目链接 题目要求: Given a triangle, find the minimum path sum from top to bottom. Each step you may move to ...

  2. 一键安装 redmine on windows 和发邮件设置

    一键安装 redmine on windows 和发邮件设置 1)使用http://bitnami.org/stack/redmine一键安装redmine (windows). 2)修改下面的文件: ...

  3. 在 Linux 下用 mkdir 命令来创建目录和子目录

    mkdir 是什么呢 Mkdir 是一个用来在 Linux 系统下创建目录的命令.此命令属于内建命令. 运行 mkdir 命令 你可以在你的控制台直接键入 mkdir 来使用它. $ mkdir 默认 ...

  4. UTL_DBWS - Consuming Web Services in Oracle 10g Onward

    from:http://oracle-base.com/articles/10g/utl_dbws-10g.php In a previous article I presented a method ...

  5. ZooKeeper 数据模型

    本文主要讲述ZooKeeper的数据模型,包括ZooKeeper的数据视图,节点的层次结构以及节点类型等基本属性.Zookeeper的视图结构类似标准的Unix文件系统,但是没有引入文件系统相关概念: ...

  6. linux下64位汇编的系统调用(5)

    看到这里大家都基本知道了如何进行linux下的汇编系统调用:不过有些童鞋可能会问:那些C库中函数里为我们解决的额外汇编代码你是怎么知道的? 好吧,我承认:我是通过逆向知道的,这貌似有点犯规的嫌疑- 比 ...

  7. LeetCode(60)-ZigZag Conversion

    题目: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows l ...

  8. 和菜鸟一起学linux之常见错误的解决和常用命令

    1.错误提示:make:警告:检测到时钟错误.您的创建可能是不完整的. 解决方法:当前编译目录下,命令行输入:find . -type f -exec touch {} \; 2.SSH生成密钥:ss ...

  9. gcc如何生成预编译头文件(.gch)

    1 建立comm.h 2 main.c中包含comm.h : #include "comm.h" 3 gcc -o comm.h.gch comm.h(低版本gcc会有bug) 4 ...

  10. 用windbg显示特定进程虚拟地址的方法

    1 必须使用Livekd.exe启动windbg 2 !process PID 3 找到PROCESS对象的地址:PROCADDR 4 找到进程的DirBase 5 r cr3 = DirBase 6 ...