屏幕截图功能常用的有两种:

savescreenshot()及 getscreenshotasfile()。

使用格式

self.driver.save_screenshot('baidu.png')

self.driver.getscreenshotasfile(filepath)

在项目中用到屏幕截图的地方基本使用场景为测试用例失败后保存失败的截图,帮助定位问题。

实现功能1

百度搜索成功后屏幕截图-通过save_screenshot方法。

实现代码:

#导入相关包
from time import sleep
from selenium import webdriver class Testcase():
#打开百度
def __init__(self):
self.driver=webdriver.Chrome()
driver.get('https://www.baidu.com') def test4(self):
self.driver.find_element_by_id('kw').send_keys('nihao ')
self.driver.find_element_by_id('su').click()
sleep(2)
#屏幕截图
self.driver.save_screenshot('baidu.png')
sleep(2) if __name__ == '__main__':
case=Testcase()
case.test4()

实现功能2

百度搜索成功后屏幕截图,保存到指定路径,以当前时间命名

实现代码:

#导入相关包
from time import sleep
from selenium import webdriver
import os
from time import sleep, time, localtime, strftime def test4(self):
self.driver.find_element_by_id('kw').send_keys('nihao ')
self.driver.find_element_by_id('su').click()
sleep(2)
#获取当前时间
str=strftime("%Y-%m-%d-%H-%M-%S",localtime(time()))
#png格式命名
file_name=str+'.png'
#获取路径
path=os.path.abspath('screenshot')
#路径名+文件名拼接
file_path=path+'/'+file_name
#截图操作
self.driver.get_screenshot_as_file(file_path) if __name__ == '__main__':
case=Testcase()
case.test4()

Selenium KPI接口 屏幕截图的更多相关文章

  1. Java +selenium Navigation接口介绍

    Navigation接口主要实现对浏览器的前进.后退.打开网址.刷新当前页面等操作的. void back():就是操作当前页面后退,相当于网页的后退按钮. void forward():就是操作当前 ...

  2. Java + selenium Timeout接口用法介绍

    上一篇介绍了关于如何启动浏览器的方法.这篇文章要介绍一下,上一篇代码中关于等待时间的接口方法,代码如下: driver.manage().timeouts().pageLoadTimeout(5, T ...

  3. Selenium各种工具比较

    Selenium 1.0 Selenium 1.0是第一个基于浏览器的开源自动化测试工具.它可以使用所有支持http库的编程语言,也可以运行在所有支持javascript的浏览器上.当然它 也有它的缺 ...

  4. python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

    简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 ...

  5. 自动化测试Java一:Selenium入门

    From: https://blog.csdn.net/u013258415/article/details/77750214 Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介 ...

  6. 【Selenium-WebDriver自学】Selenium测试设计技术(十三)

    Selenium页面对象模型 1.Selenium页面对象模型 优点 页面的对象模型是其中测试对象和功能被彼此分开,从而保持代码干净的实现. 对象保持独立的测试脚本.一个目的可以通过一个或多个测试脚本 ...

  7. 《手把手教你》系列技巧篇(七)-java+ selenium自动化测试-宏哥带你全方位吊打Chrome启动过程(详细教程)

    1.简介 经过前边几篇文章和宏哥一起的学习,想必你已经知道了如何去查看Selenium相关接口或者方法.一般来说我们绝大多数看到的是已经封装好的接口,在查看接口源码的时候,你可以看到这个接口上边的注释 ...

  8. 《手把手教你》系列技巧篇(九)-java+ selenium自动化测试-元素定位大法之By name(详细教程)

    1.简介 上一篇宏哥已经介绍了通过id来定位元素,今天继续介绍其他剩下的七种定位方法中的通过name来定位元素.本文来介绍Webdriver中元素定位方法之By name,顾名思义,就是我们想要定位的 ...

  9. NightWatchJS(转)

    关于Nightwatch? Nightwatch.js是一个测试web app和web 站点的自动化测试框架, 使用Node.js编写, 基于Selenium WebDriver API. 它是一个完 ...

  10. Appium移动自动化框架

    引言:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>. Ap ...

随机推荐

  1. postgres

    10.67 su - app  docker pull postgres:12.15  docker run -d --name pgsql12 -p 5432:5432 -e "POSTG ...

  2. 禁止所有搜索爬虫访问网站指定目录robots.txt

    禁止所有搜索爬虫访问网站指定目录 用自己私人的服务器来测试吧,99买阿里云 文件放置不让爬取的网站文件夹目录里 robots.txt User-agent: * Disallow: / User-Ag ...

  3. 关于QCustomPlot超级图表的一些冷知识点

    开源的图表控件QCustomPlot很经典,作者至少是八星斗圣级别,在曲线数据展示这块性能彪悍,总结了一些容易忽略的经验要点. 可以将XY轴对调,然后形成横向的效果,无论是曲线图还是柱状图,分组图.堆 ...

  4. Qt编写可视化大屏电子看板系统26-模块4模具进度

    一.前言 模具进度主要用来展示不同的模具类别加工进度,表格的形式展示,显示内容包括模具编号.版本号.类型.状态.产品名称.计划交期.当前进度,其中进度条采用自定义控件三态进度条,有三种状态显示进度:右 ...

  5. C#中工作线程处理完数据后将处理结果返回给UI主线程通知主线程操作界面

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. [转]Mybatis入门和简单Demo

    原文链接: 1.Mybatis入门和简单Demo 2.Mybatis的CRUD案例 3.Mybatis分页查询与动态SQL

  7. 探索自联接(SELF JOIN):揭示数据间复杂关系的强大工具

    title: 探索自联接(SELF JOIN):揭示数据间复杂关系的强大工具 date: 2025/1/11 updated: 2025/1/11 author: cmdragon excerpt: ...

  8. 单点登录-OAuth2

    单点登录的实现原理 单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用不同的单点登录实现方案来 ...

  9. ConcurrentLinkedQueue深度源码剖析

    在Java的并发包中,存在着许多高效的并发工具类,它优于synchronized关键字,在JDK中提供了一个ConcurrentLinkedQueue工具类实现了高效的并发读写工具类,该工具类具有很高 ...

  10. Hadoop 概述(三)

    HDFS shell API HDFS作为大数据的文件系统,可以放置数据文件,列举几个常用的shell脚本命令,用法和linux中的基本类似,不过这个是hadoop里的一套,所以我们要用hadoop ...