zoukankan      html  css  js  c++  java
  • selenium

    如下图(前两个测试用例,没有用例描述):

     原因是,前两个测试用例,添加了用例失败后截图的装饰器,而装饰器会重写被装饰函数的名称和docstring

        @Screen(driver)  # 添加装饰器修饰,失败时自动截图
        def test_search_2(self):
            '''搜索关键词selenium'''   # 这一句描述,在测试报告中显示不出来
            self.driver.get(self.base_url)
            self.page.search_input.send_keys('selenium')
            self.page.search_button.click()
            time.sleep(2)
            self.assertEqual(self.driver.title, 'selenium_百度搜索')
            time.sleep(2)

    修改截图装饰器,如下:

    import time
    from functools import wraps   # 导入wraps包
    
    
    class Screen(object):
        def __init__(self, driver):
            self.driver = driver
    
        def __call__(self, f):
            @wraps(f)    # 使用wraps包处理,保证被装饰的函数,函数名和docstring不被重写(生成的测试报告中,有正确的docstring描述)
            def inner(*args):
                try:
                    return f(*args)
                except Exception:
                    img_path = './test_image/'
                    now_time = time.strftime('%Y_%m_%d_%H_%M_%S')
                    self.driver.get_screenshot_as_file(img_path + now_time + '.png')
                    raise
            return inner

    好了,运行一下,结果如下:

     ok~

  • 相关阅读:
    OCP-1Z0-051-V9.02-55题
    OCP-1Z0-051-V9.02-60题
    OCP-1Z0-053-V12.02-59题
    OCP-1Z0-053-V12.02-184题
    OCP-1Z0-053-V12.02-595题
    OCP-1Z0-053-V12.02-584题
    OCP-1Z0-053-V12.02-234题
    OCP-1Z0-053-V12.02-548题
    OCP-1Z0-053-V12.02-549题
    OCP-1Z0-053-V12.02-551题
  • 原文地址:https://www.cnblogs.com/xiaochongc/p/12841563.html
Copyright © 2011-2022 走看看