1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

python+pytest自动化技术测试函数测试类测试标准的封装形式

介绍Python+pytest自动化技术测试函数测试类测试标准的封装形式

我是本际云服务器推荐网的小编小本本,今天想跟大家聊聊Python+pytest接口自动化中测试程序开展封装形式。只有把测试程序开展封装形式,才会被测试框架鉴别实行。

python+pytest自动化技术测试函数测试类测试标准的封装形式

功能测试封装形式的基本标准

功能测试的封装形式主要有两种,测试函数和测试类。测试函数是1个测试用例,测试类中定义好几个测试标准,是个测试用例集。

pytest中测试函数或测试标准的命名必须以test开始,测试类名必须以Test开始。对于单插口测试,一个测试函数对应一个接口请求。对于多插口部分,需要将多个接口请求封装在同一个测试函数或测试类中,以便于整体测试。

测试类/方式的封装形式

测试类是一个测试用例集,每个测试标准对应一个功能测试。其中测试类的命名必须以Test开始,测试标准的命名必须以test开始。在一个测试类中,定义好的测试标准一般涵盖了整个功能测试所需要测试的插口。

一个测试类中,测试标准的顺序可以按照需要进行排列,以便于测试工程师进行整体验证。

示例代码

以下是一份完整的示例代码,供大家参考:

import requests
import pytest
import json

def test_get_home():
    """
    请求首页接口
    :return:
    """
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"
    }
    url = "https://www.cnblogs.com/lfr0123/"
    res = requests.get(url=url, headers=headers)
    # 断言,判断返回结果的code是否等于200,当然实际接口测试中一般返回结果中还会有别的字段需要断言
    assert res.status_code == 200

class TestLogin:
    """
    登录接口校验
    """
    url = "http://127.0.0.1:5000/login"
    headers = {"Content-Type": "application/json;charset=utf8"}

    def test_login_normal(self):
        """正确用户名、正确密码登录"""
        data = {
            "username": "AndyLiu",
            "password": "123456"
        }
        res = requests.post(url=self.url, json=data, headers=self.headers)
        # 断言
        assert res.status_code == 200
        assert json.loads(res.text)["token"]

    def test_login_error(self):
        """正确用户名、错误密码登录"""
        data = {
            "username": "AndyLiu",
            "password": "111111"
        }
        res = requests.post(url=self.url, json=data, headers=self.headers)
        # 断言
        assert res.status_code == 200
        assert not json.loads(res.text)["token"]

if __name__ == '__main__':
    pytest.main()

在代码示例中,我们定义了两个测试标准,分别是test_login_normal和test_login_error,而测试类的命名为TestLogin。

结论

测试函数和测试类/测试标准是实现Python+pytest自动化技术测试的基本封装形式。在命名方式上有所不同,但封装形式的基本原则是一致的。

通过将函数公式或方式看作是1条功能测试,我们可以将测试类视为带有1条或好几条功能测试的功能测试集,类中的每一个方式相匹配1条功能测试。

在编写测试类时,需要符合特定的命名规则,以便于测试框架鉴别实行。

希望以上内容对您有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5776.html