环境搭建
'''
1)python自带了测试框架,unittest
2)pytest第三方测试框架,功能比unittest更强大
组织测试用例
配置用例失败的策略
生成测试报告
配置用例执行的策略安装配置pytest
pip install pytest
pip install pytest-html 生成html报告
pip install allure-pytest 生成allure报告
pip install pytest-rerunfailures 失败重执行的策略
配置pytest.ini配置文件
[pytest]
addopts = -v -s --html=report/report.html --self-contained-html --alluredir=areport --reruns=0
-v -s 详细的报告
--html=report/report.html html报告的生成位置,依赖于pytest-html
--alluredir=areport allure包括的生成位置,依赖于allure-pytest
reruns 失败重执行的次数测试命名规则
测试文件:test_开头,或者_test结尾
测试类:Test开头,不能有__init__()函数
测试函数、测试方法:test_开头
'''
test001
''' assert:校验真实结果和预期结果 assert 后面跟布尔值 校验的分类? assert xx 判断xx是否为真 assert not xx 判断xx是否为假 assert a in b 判断b中是否含有a 判断字符串b中是否含有子字符串a assert a==b 判断a和b是否相同 assert a!=b 判断a和b是否不同 ''' def add(a,b): return a+b # 对add()函数进行测试 def test_add1(): print("测试用例:输入两个整数,校验add函数的正确性") real = add(4,5) # 执行测试内容 # 校验结果:预期结果,和真实的运行结果进行对比 assert real==9 def test_add2(): print("测试用例:输入两个小数,校验add函数的正确性") real = add(4.1,5.9) # 执行测试内容 # 校验结果:预期结果,和真实的运行结果进行对比 assert real==10.0 def test_add3(): print("测试用例:输入两个字符串,校验add函数的正确性") real = add("4.1","5.9") # 执行测试内容 # 校验结果:预期结果,和真实的运行结果进行对比 assert real=="4.15.9"test002
''' 方法的前置后置 前置:测试之前的准备工作,打开浏览器 登录 准备测试数据 setup 后置: 测试之后的还原清理工作,删除测试数据 退出登录 关闭浏览器 teardown 级别 setup_module teardown_module 在模块的前后执行一次 setup_function teardown_function 在函数的前后执行一次 setup_class teardown_class 在类的前后执行一次 setup_method teardown_method 在类的方法前后执行一次 ''' def setup_module(): print("打开浏览器") def teardown_module(): print("关闭浏览器") def setup_function(): print("登录") def teardown_function(): print("退出登录") def test_01(): print("---测试用例1:测试添加成员-----") def test_02(): print("---测试用例2:测试删除成员-----") class TestUser: def setup_class(self): print("类级别前置") def teardown_class(self): print("类级别后置") def setup_method(self): print("方法级别前置") def teardown_method(self): print("方法级别后置") def test_change(self): print('用例3:修改成员')