用Python做自动化测试(框架整理)

Unittest

提供test cases/test suits/test fixtures/test runner相关的组件

编写规范:
    ·测试模块首先import unittest
    ·测试类必须继承unittest.testcases
    ·测试方法必须以test_开头
    ·模块名字,类名字没有特殊要求

setUp,tearDown
·基于测试方法级别的setup,teardown
    ·执行每个测试方法的时候都会执行一次setup和teardown
·基于类级别的setupClass,tearDownClass
    ·执行这个类里面的所有测试方法只有一次执行setup和teardown
·基于模块级别的setupModule和teardownModule
    ·执行此模块里的所有类里的测试方法,仅执行一次setup和teardown

Htmltestrunner生成测试报告

 

Pytest(划重点)

优势:
·为测试方法输入不同参数化
·自动重试失败的测试用例
·支持allure测试报告
·支持丰富的第三方插件,且支持扩展

用Python做自动化测试(框架整理)_第1张图片


编写规范:
·测试文件以test_开头(以_test结尾也行)
·测试类以Test开头,并且不能带有__init__方法
·测试函数以test_开头

 

 

pytest执行测试用例方式
    1.执行一个module > pytest -v src/testcases/test/test_a.py
    2.执行一个类,一个方法 >
        ·pytest -v src/testcases/test/test_a.py::TestDemo
          ·python -v src/testcases/test/
        ·test_a.py::TestDemo::test_aa
    3.执行一个目录或者package
        ·pytest -v src/testcases/test
    4.通过标签来运行测试用例
        ·pytest -m PO src/testcases/test/
    5.通过pytest.main来执行,所有的参数和pytest命令行方式相同
        ·pytest.main (['-v','--install','testcases/test/test_a.py','-m-P2'])

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Python)