zoukankan      html  css  js  c++  java
  • selenium+Python(截图保存错误页面)

      异常捕捉与错误截图

    创建错误截图文件夹,目录结果如下:

    用例不可能每一次运行都成功,肯定运行时候有不成功的时候,关键是我们捕捉到错误,并以把并错误截图保存,这将是一个非常棒的功能,也会给我们错误定位带来方便。

    baidu.py

    #coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import Select
    from selenium.common.exceptions import NoSuchElementException
    import unittest, time, re
    class Baidu(unittest.TestCase):
    def setUp(self):
    self.driver = webdriver.Firefox()
    self.driver.implicitly_wait(30)
    self.base_url = "http://www.baidu.com/"
    self.verificationErrors = []
    self.accept_next_alert = True
    #百度搜索用例
    def test_baidu_search(self):
    driver = self.driver
    driver.get(self.base_url + "/")
    try:
    #kwddd 是一个无法找到的元素 id
    driver.find_element_by_id("kwdddd").send_keys("selenium webdriver")
    except:
    driver.get_screenshot_as_file("D:\selenium_use_case\error_png\kw.png")
    #如果没有找到上面的元素就截取当前页面。
    driver.find_element_by_id("su").click()
    time.sleep(2)
    driver.close()
    def tearDown(self):
    self.driver.quit()
    self.assertEqual([], self.verificationErrors)
    if __name__ == "__main__":
    unittest.main()
    

    这里特意把脚本写错误的,使脚本找不到 id 为 kwddd 的元素,通过 try....except...对异常进行捕捉;并把结果保存下来。再次执行你的脚本会发现 error_png 目录下面产生了错误时候的截图。

    截图函数 get_screenshot_as_file
    selenium.webdriver.remote.webdriver.get_screenshot_as_file(filename)
    截图当前窗口图片。如果有任何 IOError 将返回 false ,否则将返回 Ture .
    filename: 指定错误截图的存放路径及图片名。

  • 相关阅读:
    和类的初识
    IIFE
    闭包的二次理解
    5分钟搞懂ECE雾计算
    机智云推出设备联动API,打造智能家居场景化
    神奇的【设备联动API】,助力智能家居/家电场景化
    STM32峰会2017:半小时开发基于STM32的室内智能环境监测仪
    STM32峰会:机智云MCU代码开发工具降低智能硬件开发成本
    广和通G510联网固件首发,支持连接机智云
    各种STM32连接机智云案例汇总(不定期更新,欢迎补充)
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7417097.html
Copyright © 2011-2022 走看看