pytest接口自动化测试框架 | 接口自动化至yaml数据驱动

视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:pytest接口自动化测试框架 | 汇总_COCOgsta的博客-CSDN博客


test_py.py

import configparser

import pytest

from loadyaml import read_yaml
from test2 import HttpClient

# 项目 测试一个模块 一个功能 测试不同的场景 登录 正常场景 异常场景 不同的测试数据
# yaml里面
# 登录模块

# 数据 yaml



class TestCase:
    # 全局变量 类变量 公共变量 都可以使用
    token = None
    httpclient = None
    url = None

    # 登录 从yaml文件中取数据 专门把yaml文件的数据取出来
    @pytest.mark.parametrize('udata', read_yaml())
    def test_login(self, udata):
        print(udata)
        TestCase.httpclient=HttpClient()
        url = udata['url']
        data = udata['data']
        res = TestCase.httpclient.send_request(method=udata['method'], url=url, param_type=udata['params_type'], data=data)
        print(res.json())
        TestCase.token = res.json()['token']


if __name__ == '__main__':
    pytest.main(['test_py.py', '-sv'])

loadyaml.py

# 专门把yaml文件的数据读取出来

import yaml

def read_yaml():
    with open('data.yaml', 'r', encoding='utf-8') as f:
        data = yaml.load(stream=f, Loader=yaml.FullLoader)
        return data
-
  url: http://39.98.138.157:5000/api/login
  method: post
  params_type: json
  data:
    username: admin
    password: '123456'
-
  url: http://39.98.138.157:5000/api/login
  method: post
  params_type: json
  data:
    username: admin2
    password: '123456'

这样每次执行时,会根据yaml文件中的两条数据执行两遍。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值