• UI自动化实战进阶后续


    前言

    最近几天因为回老家的缘故,暂时没空学习和记录,好不容易抽空那就赶紧开始后面的实战。
    前面我们已经基本完成了测试的框架,并且也有了PO设计模式,后面我们还缺少什么呢?做为自动化测试最主要的测试报告我们是不是还没有,所以今天主要是要集成测试报告。

    安装

    Unittest测试报告虽然没有自带的测试报告,但是已经有了第三方的测试报告HTMLTestRunner。不过它只支持python2,对于python3可能需要下载后修改文件部分地方进行适配。不过好在已经有人
    也解决了这个问题,更新了HTMLTestRunner-python3版本
    下载地址:https://pypi.org/project/HTMLTestRunner-Python3/#files
    下载后解压出一个HTMLTestRunner.py的包然后放在项目的lib目录下

    编码

    #run_test_report.py
    import unittest
    from lib.HTMLTestRunner import HTMLTestRunner
    import os
    import time
    
    if __name__ == '__main__':
        path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'test_blog_case')
        suite = unittest.defaultTestLoader.discover(path, pattern='test*.py')
    
        project_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
        report_dir = os.path.join(project_root, 'report')
        current_time = time.strftime("%Y-%m-%d_%H-%M-%S")
        report_abspath = os.path.join(report_dir, "HTMLReport_{}.html".format(current_time))
        with open(report_abspath, 'wb') as f:
            runner = HTMLTestRunner(stream=f,
                                    title='自动化测试报告',
                                    description='用例执行情况',
                                    verbosity=2
                                    )
            runner.run(suite)
    
    

    运行

    运行后自动生成一个测试报告的目录,并且测试报告一并生成。这样我们的测试框架就集成生成测试报告的能力了。

    扩展

    测试报告已经生成了,如果有追求完美的朋友那么我们可以替换一个更漂亮的测试报告模板,或者进行汉化。
    如果能力强的请自行进行二次开发,那么后面的教程可以忽略。
    下载地址: https://github.com/TesterlifeRaymond/BeautifulReport
    下载后解压到lib目录下,然后调整上面的代码

    #run_test_report.py
    import unittest
    # from lib.HTMLTestRunner import HTMLTestRunner
    from lib.BeautifulReport.BeautifulReport import BeautifulReport
    import os
    import time
    
    if __name__ == '__main__':
        path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'test_blog_case')
        suite = unittest.defaultTestLoader.discover(path, pattern='test*.py', top_level_dir=None)
    
        project_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
        report_dir = os.path.join(project_root, 'report')
        current_time = time.strftime("%Y-%m-%d_%H-%M-%S")
        # report_abspath = os.path.join(report_dir, "HTMLReport_{}.html".format(current_time))
        # with open(report_abspath, 'wb') as f:
        #     runner = HTMLTestRunner(stream=f,
        #                             title='自动化测试报告',
        #                             description='用例执行情况',
        #                             verbosity=2
        #                             )
    
        result = BeautifulReport(suite)
        result.report(filename=current_time +'自动化测试报告',
                                    description='用例执行情况',
                                    log_path=report_dir
                                    )
        # runner.run(suite)
    
    

    一份漂亮的中文测试报告就生成了。

    WEBUI自动化测试框架主要的功能已经全部实现,后续的失败重跑、失败截图、多线程运行等一系列的如虎添翼的功能暂时就不再学习了,需要的请自行查阅资料并实现。

  • 相关阅读:
    Android Studio快速导入项目
    梦断代码阅读笔记01
    Python词云生成
    Python 数据处理
    Android studio 自定义Dialog
    Android studio Activity的跳转和数据传递
    Android studio Handler消息处理2
    2.9 react组件中使用key作为prop属性命名报错
    2.3 上下margin值合并
    2.2 快速认识虚拟dom
  • 原文地址:https://www.cnblogs.com/huny/p/14384248.html
Copyright © 2020-2023  润新知