from base_frame.api_until.base_one import *
import allure,pytest
List = []
@allure.story('用户分组测试')
class TestAdminGroup():
@pytest.fixture(scope='function',autouse=True)
@allure.feature('yield的setup&teardown')
def updown(self):
print('\ncase is starting')
yield
print('\ncase is over')#todo:无须多言,在这个地方写个调token的也OK
@allure.feature('新增用户分组')
def test_addgroup(self):
reset_request_step()#todo:先把token情况,在根据情况填写需要的token,但是这个框架选择只有一个,有需要则需将api_until文件添加一个其他的token进行选择
creat_ag = create_run_request('post','添加用户分组'
,'/adminapi/user/user_group/save.html'
,{"group_name":"test"})\
.validate()\
.assert_equal('status_code',200)\
.assert_equal('body.msg','提交成功!')
# until脚本里写的选择请求方式,现在只有三个,只能满足post、get、delete,
# 需要把顺序搞清楚,顺序记不清就写'='号,如像get,delete请求是没有json的,所以需要传None,
# 或者在脚本声明json默认为None,默认cookies和headers是已经被写死的,有需要可以进行更改。
create_add_step = contruct_request_step(creat_ag) # todo: 将上述的请求以封装的方法构成httprunner的step
res = perform_requests_and_get_last_response(
[create_add_step]) # todo: 将接口用例step放入httprunner开始执行,并返回token,和res_data、res_data是在until脚本里声明的body
@allure.feature('查询新增的id')
def test_findid(self):
reset_request_step()
find_id = create_run_request('get','查询新增的id','adminapi/user/user_group/list?page=1&limit=15',None)\
.validate()\
.assert_equal('status_code',200)\
.assert_equal('body.msg','ok')
create_find_id = contruct_request_step(find_id)
res = perform_requests_and_get_last_response([create_find_id])
_id = res['res_data']['list'][-1]['id']
List.append(_id) # todo: 从查询请求里返回所需id传入列表,方便后续删除
@allure.feature('删除新增分组')
def test_delete_ag(self):
reset_request_step()
du = create_run_request('delete','删除新增分组','adminapi/user/user_group/del/'+str(List[0]),None)\
.validate()\
.assert_equal('body.msg','删除成功!')\
.assert_equal('status_code',200)
create_delete = contruct_request_step(du)
res = perform_requests_and_get_last_response([create_delete])
httprunner框架下编写case
最新推荐文章于 2024-03-08 22:03:54 发布