Yaml数据驱动演示

目录:
在这里插入图片描述
test_api.yaml:

#用例1--正例
-
  name: 获得token鉴权码的接口
  request:
    url: https://api.weixin.qq.com/cgi-bin/token
    method: get
    headers:
      Content-Type: application/json
    params:
      grant_type: client_credential
      appid: wx6b11b3efd1cdc290
      secret: 106a9c6157c4db5f6029918738f9529d
  validate:
    - eq: {expires_in: 7200}

#用例2--反例
-
  name: 获得token鉴权码的接口
  request:
    url: https://api.weixin.qq.com/cgi-bin/token
    method: get
    headers:
      Content-Type: application/json
    params:
      grant_type: client_credential
      
      secret: 106a9c6157c4db5f6029918738f9529d
  validate:
    - eq: {expires_in: 7200}

yaml_util.py:

import pytest
import yaml


class YamlUtil:
    def __init__(self,yaml_file):
        self.yaml_file=yaml_file

    def read_yaml(self):
        with open(self.yaml_file,encoding='utf-8') as f:
            value=yaml.load(f,Loader=yaml.FullLoader)
            return value

test_api.py:

import os

import pytest
import requests

from testcase.yaml_util import YamlUtil


class TestApi:

    @pytest.mark.parametrize('args',YamlUtil(os.getcwd()+'/testcase/test_api.yaml').read_yaml())
    def test_01_baili(self,args):
        url=args['request']['url']
        params=args['request']['params']
        res=requests.get(url,params)
        print(res.text)

pytest.ini:

[pytest]

addopts=-vs  --alluredir  ./temp
testpaths=./testcase
python_files=test_*.py
python_classes=Test*
python_functions=test

all.py:

import os

import pytest


if __name__ == '__main__':
    pytest.main()
    os.system('allure generate ./temp -o ./report --clean')

测试报告:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值