Python+requests+pytest+allure封装接口自动化3-测试用例编写

一、Pytest,fixture解决token需要多次调用问题

测试用例都是放在testcases下的,大部分接口都依赖于登录所产生的token,那么token我们需要如何

处理才能统一性的做到token获取并赋值

在conftest.py写上如下代码:

# 自定义一个fixture,来实现portal的token的提取和赋值
@pytest.fixture(scope='session',autouse=True)
def get_portal_token():
    portalLoginApi = PortalLoginApi()
    resp = portalLoginApi.sendRequest()
    BasePortalApi.portalToken = resp.json()['data']['token']

二、编写接口测试用例

编写发帖的接口测试用例,在testcases/portal/portalArticle下创建test_001_create_article_api.py

import pytest

from api.portal.portalArticle.createArticleApi import CreateArticleApi


class TestCreateArticleApi:
    test_data = [
        ['标题为空', '', '超级管理员', '内容', '1', 200, '操作成功'],
        ['正常发帖', '1111', '超级管理员', '内容', '1', 200, '操作成功'],
        ['发帖用户为空', '1111', '', '内容', '1', 200, '操作成功'],
    ]


    @pytest.mark.parametrize('casename,title, author, content, createUser,expect_code,expect_message', test_data)
    def test_buy_now_params(self, casename, title, author, content, createUser, expect_code, expect_message):
        createArticleApi = CreateArticleApi(title, author, content, createUser)
        resp = createArticleApi.sendRequest()
        print(resp.text)
        status_code = resp.status_code
        assert status_code == expect_code
        message = resp.json()['msg']
        assert message == expect_message

其他测试用例编写同理

你可能感兴趣的:(自动化测试,测试用例,pytest,自动化)