zoukankan      html  css  js  c++  java
  • 搭建自动化测试框架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'))
    
  • 相关阅读:
    手撕 Goroutine 同步问题
    go基础知识面试备忘录
    专题3:链表类题型总结(go)
    python自动化开发-[第四天]-函数
    NOIP 飞扬的小鸟 题解
    集合 Properties 的 简单例子(Spring)
    Linux常用命令
    网络安全系列索引
    关于个人博客
    使用User Agent和代理IP隐藏身份
  • 原文地址:https://www.cnblogs.com/liuliu3/p/9876499.html
Copyright © 2011-2022 走看看