pytest接口自动化测试框架 | 接口自动化至yaml数据驱动
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest接口自动化测试框架 | 接口自动化至yaml数据驱动相关的知识,希望对你有一定的参考价值。
视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
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文件中的两条数据执行两遍。
以上是关于pytest接口自动化测试框架 | 接口自动化至yaml数据驱动的主要内容,如果未能解决你的问题,请参考以下文章
pytest接口自动化测试框架 | pytest生成简单测试报告
pytest接口自动化测试框架 | 基于Pytest的Web UI自动化测试框架介绍