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

  • 相关阅读:
    Axure RP 9 Beta 开放下载(更新激活密钥和汉化包)
    Android 解决NestedScrollView 嵌套 RecyclerView出现的卡顿,上拉刷新无效
    上周热点回顾(8.27-9.2)团队
    上周热点回顾(8.20-8.26)团队
    上周热点回顾(8.13-8.19)团队
    上周热点回顾(8.6-8.12)团队
    阿里云MVP第6期招募与博客园合作启动团队
    上周热点回顾(7.30-8.5)团队
    上周热点回顾(7.23-7.29)团队
    上周热点回顾(7.16-7.22)团队
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7417097.html
Copyright © 2011-2022 走看看