python自动化测试selenium屏幕截图示例

WebDriver内置了测试中捕获屏幕并保存的方法。

示例脚本:

(1)save_screenshot(filename):保存屏幕截图

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os
class TestScreenShot(object):
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.baidu.com")
    def test_screen(self):
        self.driver.save_screenshot("testbaidu.png")
    def teardown(self):
        self.driver.quit()
if __name__ == '__main__':
    shot=TestScreenShot()
    shot.test_screen()

(2)get_screenshot_as_base64():获取当前屏幕截图base64编码字符串

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os
class TestScreenShot(object):
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.baidu.com")
    def test_screen(self):
        self.driver.save_screenshot("testbaidu.png")
        print(self.driver.get_screenshot_as_base64())
    def teardown(self):
        self.driver.quit()
if __name__ == '__main__':
    shot=TestScreenShot()
    shot.test_screen()

运行结果:

(3)get_screenshot_as_file(filename):获取当前屏幕截图,使用完整路径

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os
class TestScreenShot(object):
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.baidu.com")
    def test_screen(self):
        self.driver.get_screenshot_as_file("testbaidu2.png")
    def teardown(self):
        self.driver.quit()
if __name__ == '__main__':
    shot=TestScreenShot()
    shot.test_screen()

(4)get_screenshot_as_file(filename):获取当前屏幕截图,使用完整路径,文件名以时间命名

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os
class TestScreenShot(object):
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.baidu.com")
    def test_screen(self):
        # print(self.driver.get_screenshot_as_png())
        # self.driver.get_screenshot_as_file("testbaidu2.png")
        # self.driver.save_screenshot("testbaidu.png")
        # print(self.driver.get_screenshot_as_base64())
        self.driver.find_element_by_id("kw").send_keys("selenium test")
        self.driver.find_element_by_id("su").click()
        str = strftime("%Y-%m-%d-%H-%M-%S",localtime(time()))
        filename = str + ".png"
        path =os.path.abspath("screenshots")
        filepath=path + '/'+filename
        self.driver.get_screenshot_as_file(filepath)
        print(filepath)
    def teardown(self):
        self.driver.quit()
if __name__ == '__main__':
    shot=TestScreenShot()
    shot.test_screen()

(5)get_screenshot_as_png():获取当前屏幕截图的二进制文件数据

from selenium import webdriver
from time import sleep,strftime,localtime,time
import os
class TestScreenShot(object):
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://www.baidu.com")
    def test_screen(self):
        print(self.driver.get_screenshot_as_png())
    def teardown(self):
        self.driver.quit()
if __name__ == '__main__':
    shot=TestScreenShot()
    shot.test_screen()

运行结果:

以上就是python自动化测试selenium屏幕截图示例的详细内容,更多关于selenium屏幕截图示例的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python+selenium实现截图图片并保存截取的图片

    这篇文章介绍如何利用Selenium的方法进行截图,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图.在selenium for Python中主要有三个截图方法,我们挑选其中最常用的一种. 截图技能对于测试人员来说应该是较为重要的一个技能. 在自动化测试中,截图可以帮助我们直观的定位错误.记录测试步骤. 记得以前在给某跨国银行做自动化项目的时候,某银的PM要求我们自动化测试的每一步至少需要1个截图,以证明每个功能都被自动化测试给覆盖过,在这种情况下截图就成了证明自动化测试有效性的重要手

  • Selenium定位元素操作示例

    本文实例讲述了Selenium定位元素操作.分享给大家供大家参考,具体如下: Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建回归测试检验软件功能和用户需

  • Python中使用 Selenium 实现网页截图实例

    Selenium 是一个可以让浏览器自动化地执行一系列任务的工具,常用于自动化测试.不过,也可以用来给网页截图.目前,它支持 Java.C#.Ruby 以及 Python 四种客户端语言.如果你使用 Python,则只需要在命令行里输入"sudo easy_install selenium"并回车,即可安装 selenium 的 Python 版本的客户端支持. 以 Python 为例,我们可以使用下面的脚本来给指定页面(比如我们首页)截图: # -*- coding: utf-8 -

  • Python Selenium截图功能实现代码

    目标: 执行之后会在D盘生成一个jt+当前时间.png,该图片为百度首页截图 一 get_screenshot_as_file # -*- coding: utf-8 -*- from selenium import webdriver import time driver = webdriver.Chrome() driver.get('http://www.baidu.com') driver.maximize_window() #当前时间 date_time = time.strftime

  • Python实现屏幕截图的两种方式

    使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处是 灵活 速度快 缺点是: 写法繁琐 不跨平台 import time import win32gui, win32ui, win32con, win32api def window_capture(filename): hwnd = 0 # 窗口的编号,0号表示当前活跃窗口 # 根据窗口句柄获取窗口的设备上下文DC(Divice C

  • python自动化测试selenium屏幕截图示例

    WebDriver内置了测试中捕获屏幕并保存的方法. 示例脚本: (1)save_screenshot(filename):保存屏幕截图 from selenium import webdriver from time import sleep,strftime,localtime,time import os class TestScreenShot(object): def setup(self): self.driver = webdriver.Chrome() self.driver.g

  • python自动化测试selenium定位frame及iframe示例

    frame标签有frameset.frame.iframe三种,frameset和其它普通标签没有区别,不会影响正常定位,而frame与iframe对selenium定位而言是一样的. Selenium有以下方法对frame进行操作. 示例网站:http://sahitest.com/demo/framesTest.htm 示例脚本: from selenium import webdriver from time import sleep class TestFrame(object): de

  • python自动化测试selenium执行js脚本实现示例

    WebDriver有2个方法执行Java Script脚本. (1)同步执行:execute_script (2)异步执行:execute_async_script from selenium import webdriver from time import sleep class TestScriptss(object): def setup(self): self.driver = webdriver.Chrome() self.driver.get(http://www.baidu.co

  • python自动化测试selenium核心技术处理弹框

    页面上的弹框一般有三种: (1)alert:用来提示 (2)confirm:用来确认 (2)prompt:输入内容 示例网站:http://sahitest.com/demo 示例场景:打开Sahi Tests页面, (1)点击"Alert Test"页面,鼠标点击页面中"Click For Alert"按钮,弹出警告提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告文本信息,之后点警告框中的确定按钮. (2)点击"Confirm Pag

  • python自动化测试selenium核心技术等待条件教程

    Selenium中的鼠标和键盘事件被封装在ActionChains类中,使用方法: ActionChains(driver).click(btn).perform() ActionChains中常用方法: 示例网站:http://sahitest.com/demo 示例场景:打开Sahi Tests页面,点击"Alert Test"页面,鼠标点击页面中"Click For Alert"按钮,弹出警告提示框,判断页面是否存在alert,如存在则切换到警告框,并获取警告

  • python自动化测试selenium核心技术三种等待方式详解

    目录 1 使用python自带模块time的sleep方式 2 隐式等待(implicitly_wait) 3 显示等待(WebDriverWait) UI自动化测试过程中,可能会出现因测试环境不稳定.网络慢等情况,如果不做任何处理的话,会出现无法定位到特定元素而报错,导致自动化测试无法顺利执行. selenium官网手册:Waits | Selenium slenium自动化测试中,主要涉及三种等待方式: 1 使用python自带模块time的sleep方式 缺点:即使网络条件较好时,依旧按照

  • python自动化测试selenium操作下拉列表实现

    处理下拉列表需要使用selenium中的工具类Select,常用方法如下: 示例网站:http://sahitest.com/demo 示例场景:打开Sahi Tests页面, (1)点击"Select Test"页面,鼠标点击页面中第一个下拉列表. 示例脚本: from selenium import webdriver from time import sleep from selenium.webdriver.support.select import Select class

  • python自动化测试selenium操作checkbox和radiobox技术

    form表单中经常涉及复选框(checkbox)和单选框(radiobox),如用户的爱好跑步.游泳.跳舞可以使用复选框,性别男.女可以使用单选框. (1)checkbox选择或反选:使用click()方法 (2)radiobox有相同的名称,多个值,可先通过名称获得,再通过值判断,选择使用click()方法. 示例页面: 页面代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&

  • Python自动化测试selenium指定截图文件名方法

    目录 前言: 一.python中时间日期格式化符号 二.使用步骤 1.导入time模块,webdriver类 2.实际代码操作 总结: 前言: Selenium 支持 Web 浏览器的自动化,它提供一套测试函数,用于支持 Web 自动化测试.函数非常灵活,能够完成界面元素定位.窗口跳转.结果比较等功能.支持多种浏览器.多种编程语言(Java.C#.Python.Ruby.PHP 等).支持多种操作系统(Windows.Linux.IOS.Android 等).开源免费. 它主要由三个工具组成:W

  • python自动化测试工具Helium使用示例

    目录 前言 示例 总结 前言 Helium工具是对Selenium的封装,将Selenium工具的使用变得更加简单.Selenium虽然好,但是在它的使用过程中元素的提取还是比较复杂的,不论是CSSselector.还是Xpath语法的使用都有一定的学习曲线. 示例 首先来看一个简单的实例,通过下面的几行代码就能完成在浏览器打开链接并且搜索的功能实现. from helium import * # 导入helium工具的所有对象 start_chrome("https://www.baidu.c

随机推荐