Python+requests+pytest+allure封装接口自动化3-测试用例编写
编写发帖的接口测试用例,在testcases/portal/portalArticle下创建test_001_create_article_api.py。测试用例都是放在testcases下的,大部分接口都依赖于登录所产生的token,那么token我们需要如何。处理才能统一性的做到token获取并赋值。其他测试用例编写同理。
·
一、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
其他测试用例编写同理
更多推荐
所有评论(0)