WebUI自动化中截图的使用

简介: WebUI自动化中截图的使用

前言

做UI自动化时,有时候可能因为需要把某个步骤的界面显示截图保存,这里我用到的是webdriver的截图功能。

环境搭建

这里说的UI自动化指的是 web的UI自动化,使用的是Python+Selenium+webdriver写的,用Unittest框架来组织用例和脚本。具体环境搭建可以参考之前的环境搭建详细文章:
https://blog.csdn.net/NoamaNelson/article/details/102971936
### 封装截图功能creenShot.py

driver:指的是使用哪个浏览器的驱动,我后边使用的是Chrome
# coding=utf-8

import time
from selenium import webdriver

def sav_creenshot(driver):
    now=time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time())) # 截图保存的文件名格式
    pic_path = "./"+now+'_screen.png' # 截图保存的路径
    # print(pic_path)
    driver.save_screenshot(pic_path) # 调用Driver的截图保存功能

示例test_baidu.py

写一个百度搜索hello的实例,test_baidu.py

# coding=utf-8
from selenium import webdriver
import time
import unittest
import logging
from creenShot import sav_creenshot # 导入刚刚封装的截图方法

class Testbaidu(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome() # 指定浏览器驱动
        self.url = "https://www.baidu.com/" # URL地址
        self.driver.maximize_window()  # 最大化窗口
        self.driver.get(self.url) # 获取访问网址
        self.log = logging.getLogger()  # 记录日志

    def tearDown(self):
        self.driver.close() # 关闭浏览器

    def test_search(self):
        # 搜索框输入“hello”
        self.log.info("输入框输入hello")
        self.driver.find_element_by_id("kw").send_keys("hello")
        self.driver.find_element_by_id("su").click()
        time.sleep(2)
        sav_creenshot(self.driver)  # 截图
        self.assertIn("hello", self.driver.page_source)
        self.log.info("搜索成功")

if __name__ == "__main__":
    unittest.main()

在这里插入图片描述

目录
相关文章
|
5月前
|
机器人 Java 测试技术
《手把手教你》系列技巧篇(六十)-java+ selenium自动化测试 - 截图三剑客 -中篇(详细教程)
【6月更文挑战第1天】本文介绍了使用Java和Selenium进行自动化测试时的另一种截图方法,即利用Robot类实现全屏截图。Robot类能够捕获屏幕上的所有内容,包括任务栏和浏览器元素。测试场景包括访问指定网站、调用截图方法和保存截图。示例代码展示了如何使用Robot创建全屏截图并保存到特定文件夹。在运行代码前,需确保指定的保存路径存在,否则会报错。
64 4
|
6月前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程)
【5月更文挑战第23天】本文介绍了使用Java和Selenium进行自动化测试时如何实现截图操作。原本计划讲解远程测试内容,但因服务器网络问题无法进行,因此转而分享Selenium的截图方法。文章分为三部分,首先简述背景,然后重点介绍了TakeScreenshout类,这是一个用于获取浏览器窗口内容的截图工具,不包含浏览器菜单和任务栏。接着,列举了一个测试场景:访问百度首页并截图保存。最后,提供了代码示例,展示了如何设计自动化测试代码以及截图保存到指定目录,并附有代码运行效果展示。
76 2
|
5月前
|
测试技术 Python Java
《手把手教你》系列技巧篇(六十一)-java+ selenium自动化测试 - 截图三剑客 -下篇(详细教程)
【6月更文挑战第2天】本文介绍了使用Java + Selenium进行自动化测试时如何截图指定元素或目标区域。通过访问百度首页,点击设置并进入搜索设置页面,然后调用截图类截取并保存该页面的特定部分。代码示例展示了如何捕获元素的图像,并提供了截图功能的实现。最终,文章还展示了代码运行后的控制台输出、保存的截图以及浏览器的实际操作效果。
72 0
|
前端开发 JavaScript Java
如何对使用React和EMF parsley设计的Web UI应用程序进行测试自动化
Web UI应用程序是指通过Web浏览器访问的应用程序,它们通常具有复杂的用户界面和交互逻辑。为了确保Web UI应用程序的功能、性能和用户体验,测试自动化是一种有效的方法,它可以在不需要人工干预的情况下,快速地执行重复的测试任务,并提供可靠的测试结果。本文将介绍如何对使用React和EMF parsley设计的Web UI应用程序进行测试自动化,以及使用HtmlUnitDriver和java代码实现的示例。
128 0
如何对使用React和EMF parsley设计的Web UI应用程序进行测试自动化
|
测试技术
自动化测试教程(9)页面截图操作
我们用截图方法:get_screenshot_as_file(self, filename)对页面进行截图()里面放图片的路径driver.get_screenshot_as_file(r"路径名\图片名字")截图这个方法我们用的很
自动化测试教程(9)页面截图操作
|
JavaScript 测试技术 Python
WebUI自动化测试中隐藏的元素如何操作?三种元素等待方式如何理解?
WebUI自动化测试中隐藏的元素如何操作?三种元素等待方式如何理解?
78 0
|
Web App开发 JSON 自然语言处理
WebUI自动化测试框架搭建之需求整理、详细设计、框架设计
WebUI自动化测试框架搭建之需求整理、详细设计、框架设计
1219 0
|
存储 编解码 测试技术
基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)
基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)
263 0
基于Unittest框架,使用Python+Selenium+Webdriver的WebUI自动化测试项目应用实例(附源码)
|
Web App开发 IDE 测试技术
WebUI自动化环境搭建
WebUI自动化环境搭建
276 0
WebUI自动化环境搭建
|
前端开发
Selenium系列(十九) - Web UI 自动化基础实战(6)
Selenium系列(十九) - Web UI 自动化基础实战(6)
124 0
Selenium系列(十九) - Web UI 自动化基础实战(6)
下一篇
无影云桌面