Pytest+Yaml+Request+Allure+PyMsql+Jenkins+GitLab框架源代码之(三)testcase用例编写

  • testcase用例套件
    在这里插入图片描述
  • 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
#        headers:
#            Authorization: '{{access_token}}'
    validate:
        - equals: { code: 200 }
        - equals: { msg: "查询成功" }


  • test_fenmi.py:用例执行文件封装
import allure
import pytest
from common.requests_util import Requestutil
from common.parameters_until import read_file

@allure.epic('XXX-财务系统')
@allure.feature('服务收入细项模块')
class Testrequests:

    # 获取access_token(get请求)
    @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)

    # 获取标签列表(get请求)
    @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()
  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CesareCheung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值