赞
踩
目录
目录
1. 命名规范:
- API包中为了区分是接口还是ui、app等自动化,模块可用相应的前缀命名。如Api_getExcel.py、app_、web_ 并建立相应的类库包进行管理。
- 重点:给测试用例模块命名时:模块名一定要使用"test_" 前缀命名,因为在运行命令使用会更加方便;类名:TestlessonClass ;函数名:test_login() ;函数名称一定要test_前缀开头,否在无法运行pytest.
- pychram: 不指定模块名:pytest(['-sq','--html=pytest.html'])命令时,可以运行test_ 开头的所有模块。不用指定模块名称。
- Pychram的终端命令中:当前路径在测试用例包内,pytest -sq 便可运行test_ 开头的所有模块。不用指定模块名称。
1.环境初始化、清除数据【conftest.py 文件】
pytest 提供了fixure 实现了unitest中setup/teardown功能,可在每次执行case之前初始化数据。
(1)fixture默认是函数级别,可用级别:function,class,module,session
(2)可以写多个初始化与清除函数,测试函数需要使用只需要传入对应函数名即可
(3)当环境清除初始化中,设置参数:autouse=True 所有自动化函数自动调用,不用手动调用该环境初始化函数。或者不设置为True,默认为false,需要在所有自动化函数中手动调用该环境初始化函数。
2.module级别:
(1)score="module"
(2)如果一个模块内部同时有测试函数和测试类需要调用初始化函数,装饰器级别需要调整为module
(3)初始化操作只会在第一次传参的时候执行一次,清除操作会在所有测试用例执行完之后,执行一次
- import requests
- import pytest
-
- """
- pytest 提供了fixure 实现了unitest中setup/teardown功能,可在每次执行case之前初始化数据。值需运行case会自动调用;
- 比setup、teardown更加灵活。
- fixure scope的作用范围:
- def fixture(scope='function',params = None,autouse=False...):
- scope: 可选四个参数 function(默认)、class、module、package/session
- parms: 一个可选参数列表,
- autouse: 如果为True,则fixure func将为所有测试激活可看到它。如果为False(默认),使用时需要激活它。
- """
-
- print('——————————————————————————Pytest自动化环境初清除初始化____________________________')
-
- @pytest.fixture(scope='funtion',autouse=True) #环境初始化、数据清除,autouse=True 所有函数自动调用,不用手动调用该环境初始化函数。
- def delete_all_lesson(request):
- # 1. 登录
- session = LoginClass().api_login('{"username":"auto","password":"sdk1234"}')
- # 2. 列出所有课程数据
- inData = {
- 'action':'list_course',
- 'pagenum':'1',
- 'pagesize':'20'
- }
- resList = json.loads(LessonClass().list_less(session,inData))['retless']
- for one in resList:
- lessonId = one['id'] # 获取课程id
- # 3. 删除所有的课程
- LessonClass().delete_lesson(session,lessonId)
-
- # 创建课程测试数据{001}
- for one in range(1,6):
- lessonData = {"name":f'心田{one:0>3}','desc':'初中化学课程'...}
- lessonClass().add_lesson(session,lessonData)
-
- #环境、数据清除 -- teardown 最后执行
- def fin():
-
- print('-------------------测试环境恢复---------------------')
- requests.addfinalizer(fin)
Mark标签使用方法:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。