zoukankan      html  css  js  c++  java
  • 自动化测试常用脚本-截图

    from BeautifulReport import BeautifulReport as BR
    from selenium import webdriver
    
    '''截图'''
    def screenshot(self, img_name):
        """
        :param img_name: 图片的名字
        :return: 以列表形式返回图片的绝对路径和名字
        """
        # HTML_IMG_TEMPLATE 是保存图片的html模板,设置了图片的大小。其实就是将图片嵌入到html中
        HTML_IMG_TEMPLATE = """
                <a href="data:image/png;base64, {}">
                <img src="data:image/png;base64, {}" width="800px" height="500px"/>
                </a>
                <br></br>
            """
        img_path = self.save_img(img_name)  # 调用保存截图的方法
        data = BR.img2base(img_path[0], img_path[1] + '.png')  # img_path 是列表,保存了图片的路径和名称。img2base() 方法将图片转换为base64格式
        print(HTML_IMG_TEMPLATE.format(data, data))
    
    
    
    '''保存截图'''
    def save_img(self, img_name):
        """
        传入一个图片名称:img_name, 并存储到默认的文件路径下
        :param img_name: 图片的名字
        :return: 以列表形式返回图片的绝对路径和名字
        """
        path = os.path.dirname(os.path.dirname(__file__)) + "\img"  # 获取img目录的路径,项目提前建好 img 目录 
        self.driver.get_screenshot_as_file('{}{}.png'.format(os.path.abspath(path), img_name))  
        return [path, img_name]
    
    """
     以上两个函数定义完后,在实际操作中,若要在当系统报错时进行截图并嵌在html报告中,在对应的测试用例中加上截图装饰器即可
    进入add_test_img()源码中,就有解释
    
    def add_test_img(*pargs):
        """
            接受若干个图片元素, 并展示在测试报告中
        :param pargs:
        :return:
        """
    """
    
    @BR.add_test_img()
    def test_demo(self):
        pass
    
    
    
  • 相关阅读:
    软件工程课程设计团队项目总结与项目报告
    个人总结
    团队项目UI
    黄金点
    wordcount
    小学运算
    第七周
    第八周
    第六周博客
    第五周博客
  • 原文地址:https://www.cnblogs.com/chenri/p/11605555.html
Copyright © 2011-2022 走看看