httprunner框架下编写case

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])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值