写点什么

WebUI 自动化中截图的使用

作者:虫无涯
  • 2023-02-23
    陕西
  • 本文字数:868 字

    阅读完需:约 3 分钟

前言

做 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 timefrom 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-8from selenium import webdriverimport timeimport unittestimport loggingfrom 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()
复制代码



发布于: 刚刚阅读数: 4
用户头像

虫无涯

关注

专注测试领域各种技术研究、分享和交流~ 2019-12-11 加入

CSDN测试领域优质创作者 | CSDN博客专家 | 阿里云专家博主 | 华为云享专家 | 51CTO专家博主

评论

发布
暂无评论
WebUI自动化中截图的使用_Python_虫无涯_InfoQ写作社区