• 搭建自动化测试框架Python3+Selenium


    单元测试框架 Unittest

    1. unittest是Python自带的单元测试框架,可以作为自动化测试框架的用例组织执行框架;
    2. unittest的流程:写好TestCase,然后由TestLoader加载TestCase到TestSuite,然后由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中,通过命令号或者unittest.main() 执行时,main会调用TextTestRunner中的run来执行,或者可以直接通过TextTestRunner来执行用例。
    3. 一个class集成unitte.TestCase 即是一个TestCase,其中以 test 开头的方法在load时被加载为一个真正的TestCase。
    4. verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告、2 是详细报告。
    5. 可以通过addTest和addTests向suite中添加case或suite,可以用TestLoader的loadTestsFrom_()方法。
    6. 用 setUp(), tearDown(), setUpClass() 以及 tearDownClass() 可以在用例执行前布置环境,以及在用例执行后清理环境。
    7. 可以通过 skip, skipIf, skipUnless 装饰器跳过某个 case,或者用 TestCase.skipTest方法。
    8. 参数中加 stream,可以将报告输出到文件:可以用TextTestRunner输出txt报告,以及可以用HTMLTestRunner输出html报告。

    忽略警告

    ResourceWarning: unclosed <socket.socket [closed] fd=812, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0>
    self._root = parser._parse_whole(source)

    import warnings
    warnings.simplefilter("ignore", ResourceWarning)
    

    HTMLTestRunner 无法生成报告:

    if __name__ == 'test_baidu_1':      # 如果为 __main__ 时一直无法生成报告。所以改为文件名即可。
        report = REPORT_PATH + '\report.html'
        with open(report, 'wb') as f:
            runner = HTMLTestRunner(stream=f, verbosity=2, title='从0搭建测试框架', description='html测试报告')
            runner.run(TestBaiDu('test_search'))
    
  • 相关阅读:
    npm查找全局安装包命令
    sublime3添加对react代码检查
    Android开发——搭建最新版本的Android开发环境
    git无法定位程序输入点libiconv
    Java学习----finally块
    Java学习----有风险的代码(异常)
    Java学习----集合函数
    Java学习----Math函数
    Java学习----日期函数
    Java学习----字符串函数
  • 原文地址:https://www.cnblogs.com/liuliu3/p/9876499.html
Copyright © 2020-2023  润新知