• 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: 指定错误截图的存放路径及图片名。

  • 相关阅读:
    next_permutation函数(全排列)
    滚动数组
    多重背包问题
    ubuntu12.04硬盘安装
    UBUNTU12.04下安装配置体验gnome3
    给Ubuntu安装KDE桌面 [转]
    Ubuntu 13.04 用户安装 gnome 3.8 桌面
    ubuntu下安装wine
    ubuntu 安装输入法(fcitx)
    js 对url进行编码和解码的三种方式
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7417097.html
Copyright © 2020-2023  润新知