1.测试用例编写规则
unittest:(1)首先导入unittest
(2)继承unittest.TestCase
(3)测试用例必须以test_开头
pytest:(1)测试文件以test_开头或以_test结尾
(2)测试类以Test开头,并且不能有init方法
(3)测试函数以test_开头
结论:unittest需要依赖unittest.TestCase这个类,而pytest不需要依赖任何类
2.断言
unittest:提供assertEqual、assertin、assertTrue等三十几种断言
pytest:直接使用Python自带的assert
3.失败重跑
unittest:没有
pytest:通过pytest -rerunfailures插件实现
pytest --reruns 2
4.数据驱动
unittest:依赖ddt库
pytest:使用@pytest.mark.parametrize装饰器实现
5.测试用例分类
冒烟测试、分模块测试
unittest:通过TestSuite,TestLoad测试套件
pytest:@pytest.mark标记(可以执行不同文件中的不同用例)
6.测试报告
unittest:通过第三方模块HTMLTestRunner.py生成HTML测试报告
pytest:集成allure插件生成HTML测试报告。除了更丰富的展示之外,还可以做定制改造
web自动化:Python+selenium+unittest+ddt+excel数据驱动+关键字驱动+HTMLTestRunner.py
接口自动化:Python+requests+pytest+parameterizes+yaml数据驱动+allure
web自动化+接口自动化框架整合:pytest,fixture,conftest.py