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引擎没有提 ...
随机推荐
- Erlang cowboy http request生命周期
Erlang cowboy http request生命周期 翻译自: http://ninenines.eu/docs/en/cowboy/1.0/guide/http_req_life/ requ ...
- PS 滤镜——极坐标变换到平面坐标
%%% 极坐标到平面坐标 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorith ...
- ZYThumbnailTableView类似于小型阅读器
Demo github地址: https://github.com/liuzhiyi1992/ZYThumbnailTableView 原文地址:http://zyden.vicp.cc/zythu ...
- Http的会话跟踪和跨站攻击(xss)
会话跟踪 什么是会话? 客户端打开与服务器的连接发出请求到服务器响应客户端请求的全过程称之为会话. 什么是会话跟踪? 会话跟踪指的是对同一个用户对服务器的连续的请求和接受响应的监视. 为什么需要会话跟 ...
- ASP.NET Core 2.0 使用NLog实现日志记录
1.安装NuGet包 1.Install-Package NLog.Web.AspNetCore 2.Install-Package NLog 在csproj中编辑: <PackageRefer ...
- db2字段修改
db2表字段修改 1:删除字段非空属性alter table XXX alter column XXX drop not null 2:添加字段非空属性alter table XXX alter co ...
- Linux下安装MQ
1.下载Linux下MQ的安装包,网上下载试用版或购买正版,此处以7.0.0.0版为例安装 2.如上图所示,是linux的MQ安装包展开图 3.创建用户和用户组 >root用户连接linux & ...
- CRM客户关系管理系统(十二)
十二章.学员报名流程开发 2 12.1.学员报名合同和证件信息上传 功能: 必须勾选报名合同协议 必须上传个人证件信息 最多只能上传三个文件 文件大小2M以内 列出已上传文件 (1)crm/urls ...
- JVM如何理解Java泛型类
//泛型代码 public class Pair<T>{ private T first=null; private T second=null; public Pair(T fir,T ...
- 精彩源于起点——2018年潍坊市首次青少年Python编程公开课
有一种语言叫计算机语言 I want to talk with Computer 春遇到冬,有了岁月 天遇到地,有了永恒 我们拥有的, 不止是长大, 还有那份长大的悲欢经历. 未来会有很多可能, 但一 ...