- testcase用例套件
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d250d68c23c441a7864204a352cda1bf.png)
- login.yml:测试用例
- name: 1、获取UUID
base_url: ${get_base_url(base_fenmi_url)}
request:
method: get
url: /fenmi/code
params:
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive
extract:
uuid: '"uuid":"(.*?)"'
validate:
- equals: {code: 200}
- equals: {msg: "操作成功"}
- name: 2、登录财务系统
base_url: ${get_base_url(base_fenmi_url)}
request:
method: post
url: /fenmi/auth/finance/login
json: {"username":"admin","password":"admin123","code":"0","uuid":"{{uuid}}"}
extract:
access_token: '"access_token":"(.*?)"'
validate:
- equals: {code: 200}
- equals: {msg: "操作成功"}
- name: 3、获取当前信息
base_url: ${get_base_url(base_fenmi_url)}
request:
method: get
url: /fenmi/finance/user/getInfo
headers:
Authorization: '{{access_token}}'
sql: "select id FROM fn_item_detail_202405 where id=1;"
validate:
- equals: { code: 200 }
- equals: { msg: "操作成功" }
- name: 4、获取服务收入细项列表数据
base_url: ${get_base_url(base_fenmi_url)}
request:
method: get
url: /fenmi/finance/itemDetail/list?
headers:
Authorization: '{{access_token}}'
params:
pageNum: 1
pageSize: 10
validate:
- equals: { code: 200 }
- equals: { msg: "查询成功" }
import allure
import pytest
from common.requests_util import Requestutil
from common.parameters_until import read_file
@allure.epic('XXX-财务系统')
@allure.feature('服务收入细项模块')
class Testrequests:
@allure.story('登录并查询收入细项列表数据')
@allure.severity("normal")
@pytest.mark.parametrize("caseinfo",read_file('/testcases/fenmi/login.yml'))
def test_get_token(self,caseinfo):
allure.dynamic.title(caseinfo['name'])
allure.dynamic.description(caseinfo['name'])
Requestutil().analysis_yaml(caseinfo)
@allure.story('查询标签接口')
@allure.severity("critical")
@pytest.mark.parametrize('caseinfo',read_file('/testcases/fenmi/query.yml'))
def test_select_flag(self,caseinfo):
allure.dynamic.title(caseinfo['name'])
allure.dynamic.description(caseinfo['name'])
Requestutil().analysis_yaml(caseinfo)
if __name__ == '__main__':
pytest.main()