自动化测试必备,如何使用接口自动化测试框架构建API测试项目,教您如何上手

 目录

引言

GET方法:获取单个品种狗的信息。

POST方法:增加新狗的品种信息。

PUT方法:修改一个已有狗的品种信息。

DELETE方法:删除一个已有狗的品种信息。

Python 3.x。

PyCharm或其他Python IDE。

码尚接口自动化测试框架。

步骤1:安装接口自动化测试框架

步骤2:获取API密钥

步骤3:设置测试环境

步骤4:编写测试用例

步骤5:运行测试

结论


引言

高效的接口测试是推动接口自动化的重要方面,本文介绍了接口自动化测试框架项目实战的方法,为接口测试提供了帮助。 需要注意的是,测试框架项目实战不仅需要能够理解接口的细节,还要有的测试理论基础。

在本文中,我们将使用Python和接口自动化测试框架来构建一个简单的API自动化测试项目。我们将使用一个公开的API来测试,这是一个RESTful服务,它提供了狗的图片和其他与狗相关的信息。我们将使用框架中提供的各种方法来执行请求和断言响应。我们的测试将涵盖以下方案:

  1. GET方法:获取单个品种狗的信息。

  2. POST方法:增加新狗的品种信息。

  3. PUT方法:修改一个已有狗的品种信息。

  4. DELETE方法:删除一个已有狗的品种信息。

为了开始这个项目,您需要安装以下软件:

  1. Python 3.x。

  2. PyCharm或其他Python IDE。

  3. 码尚接口自动化测试框架。

步骤1:安装接口自动化测试框架

接口自动化测试框架可以轻松地通过PIP安装。打开终端并输入以下命令:

pip install requests
pip install flaky
pip install loguru
pip install pytest
pip install pytest-html
pip install pytest-xdist
pip install tqdm
pip install xmltodict
pip install marshmallow
pip install gallow

步骤2:获取API密钥

我们将使用Dog API来测试我们的自动化测试项目。这是一个非常方便的RESTful服务,它提供了狗的图片和其他与狗相关的信息。我们将需要获取Dog API提供的API密钥。登录https://dog.ceo/dog-api/,单击“Get Your API Key Now”按钮。输入您的电子邮件地址,Dog API将向您发送一个API密钥。

步骤3:设置测试环境

我们需要设置测试环境。在PyCharm或其他Python IDE中,创建一个名为“test_dog_api”的新Python项目。在项目文件夹中创建一个名为“config.py”的新文件。在此文件中添加以下代码,使用您的API密钥替换'YourDogApiKey':

import os

class Config:
    BASE_URL = 'https://dog.ceo/api'
    DOG_API_KEY = os.getenv('DOG_API_KEY', 'YourDogApiKey')

步骤4:编写测试用例

我们将编写4个测试用例,分别测试API的GET、POST、PUT和DELETE方法。

在项目文件夹中创建一个名为“test_api.py”的新文件。在此文件中添加以下代码:

from framework import constants as const

class TestDogApi:
    def test_get_random_dog(self, client):
        response = client.get(f'{const.BASE_URL}/breeds/image/random')
        assert response.status_code == 200
        assert response.json().get('status') == 'success'
        assert response.json().get('message') is not None

    def test_create_new_breed(self, client):
        data = {'name': 'BullDog', 'subBreeds': ['French', 'English'], 'location': 'UK'}
        response = client.post(f'{const.BASE_URL}/breeds', data=data)
        assert response.status_code == 200
        assert response.json().get('status') == 'success'
        assert response.json().get('message') is not None

    def test_update_breed(self, client):
        data = {'name': 'BullDog'}
        response = client.put(f'{const.BASE_URL}/breeds', data=data)
        assert response.status_code == 200
        assert response.json().get('status') == 'success'
        assert response.json().get('message') is not None

    def test_delete_breed(self, client):
        response = client.delete(f'{const.BASE_URL}/breeds')
        assert response.status_code == 200
        assert response.json().get('status') == 'success'
        assert response.json().get('message') is not None

代码中我们使用了框架中提供的辅助方法,如client.get(),client.post(),client.put()和client.delete(),这些方法非常方便,因为它们自动设置请求头,处理响应和状态码,以及解析JSON响应。我们使用assert语句来断言我们的响应。这些断言包括我们测试的HTTP状态码和JSON响应的特定属性。

步骤5:运行测试

我们使用PyCharm或其他Python IDE来运行测试。我们还可以使用命令行工具运行测试。在命令行中,进入我们的项目文件夹,并运行以下命令:

python -m pytest -n=2 --html=report.html

这将并行运行测试,并生成名为report.html的测试报告。

结论

在本文中,我们使用Python和接口自动化测试框架来创建一个简单的API自动化测试项目。我们主要使用框架中提供的便捷方法来执行请求和断言响应。您可以尝试在测试用例中添加其他测试场景,以更好地了解如何使用接口自动化测试框架。

自动化测试学习步骤框架结构图:

小编还准备了一些福利:

 

猜你喜欢

转载自blog.csdn.net/Free355/article/details/130242019