Pytest学习 ------ 接口自动化测试之pytest 接口关联框架封装

1440 篇文章 68 订阅
1438 篇文章 113 订阅

一般情况下,我们是通过一个yaml文件进行关联实现

在根目录下新建一个文件yaml,通过上述conftest.py文件实现全局变量的更新:

1.首先需要建立一个读取、写入、清除yaml文件的工具类

如下:

import os

import yaml


class YamlUnit:
    def readAllYaml(self):
        with open(os.getcwd() + "/extract.yml", mode='r', encoding='utf-8') as f:
            value = yaml.load(stream=f, Loader=yaml.FullLoader)
            return value

    def readKeyYaml(self,key):
        with open(os.getcwd() + "/extract.yml", mode='r', encoding='utf-8') as f:
            value = yaml.load(stream=f, Loader=yaml.FullLoader)
            return value[key]

    def writeYaml(self, data):
        with open(os.getcwd() + "/extract.yml", mode='w', encoding='utf-8') as f:
            print(os.getcwd() + "/extract.yml")
            value = yaml.dump(data=data, stream=f, allow_unicode=True)

    def deleteYaml(self):
        with open(os.getcwd()+"/extract.yml",mode="w",encoding='utf-8') as f:
            f.truncate()

2.配合conftest.py文件+ fixture实现全局共享调用

# 实现部分前置
import pytest

from comment.yaml_unit import YamlUnit


@pytest.fixture(scope="function")
def conn_getbase():
    print("连接数据库成功")
    yield
    print("关闭数据库成功")


@pytest.fixture(scope="session", autouse=True)
def clear_yaml():
    YamlUnit().deleteYaml()


@pytest.fixture(scope="session", autouse=True)
def get_token():
    token = '';  # 获取token的代码请求
    return token

3.调用时只需传入方法函数名称即可

如:下面函数使用之前需要连接数据库,只需传入conftest.py文件里面的conn_getbase函数名即可

   def test_Login(self,conn_getbase):
        # post请求
        url = "xxxxxxx"
        # 参数
        data = {
            "captcha": "Gkak!@#2019",
            "checkKey": 1637811815838,
            "password": "123456",
            "remember_me": 1,
            "username": "admin"
        }
        rep = requests.request('post', url, json=data)
        statues = rep.json()["success"]
        message = rep.json()["message"]
        if statues:
            print(message )
        else:
            raise Exception(message)

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!å¨è¿éæå¥å¾çæè¿°

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢软件测试的小伙伴们,可以加入我们的测试技术交流扣扣群:779450660里面有各种软件测试资源和技术讨论)

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Request Pytest Pytest-HTML 集成的 Api 自动化测试框架 是一款基于 Python 编程语言的自动化测试框架,主要用于对 API 接口进行自动化测试。该框架通过使用 Python 编写测试脚本和调用 Request 库和 Pytest 框架来实现 API 测试,并且生成可视化报告,提高测试效率和可观性。 使用 Python Request Pytest Pytest-HTML 集成的 Api 自动化测试框架 进行 API 自动化测试,可以实现以下功能: 1. 自动化执行 API 接口测试用例,提高测试效率和准确性。 2. 使用 Pytest 框架,可以灵活地编写测试脚本,支持各种测试场景和用例。 3. 使用 Request 库,可以方便地发送 HTTP 请求,并对响应结果进行处理。 4. 结合使用 Pytest-HTML,可以生成易于阅读的测试报告,包括测试结果、测试用例执行情况、错误信息等。 在使用这个框架的过程中,开发人员可以遵循一些最佳实践,例如: 1. 编写清晰明了的测试用例,并保持测试脚本的结构和格式清晰。 2. 使用参数化测试功能,以确保测试用例的完备性和可扩展性。 3. 在测试执行前,准备好测试数据和测试环境,并确保测试用例的执行顺序和前后端接口的依赖关系正确。 总之,Python Request Pytest Pytest-HTML 集成的 Api 自动化测试框架 是一款功能强大、简单易用且可扩展的自动化测试框架,适用于任何需要对 API 接口进行自动化测试的场景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值