因为这套自己搭建的接口自动化测试框架,成功入职阿里,拿下19k

1. 安装依赖模块

在开始编写测试框架前,需要先安装以下依赖模块:

  • requests:用于发送HTTP请求;
  • pytest:用于执行测试用例;
  • allure-pytest:用于生成测试报告。

我们可以通过命令行安装:

pip install requests pytest allure-pytestsh

2. 目录结构

在开始编写测试用例前,我们需要先建立目录结构。这里我们建立如下目录结构:

- api
  |- __init__.py
  |- user.py
- tests
  |- __init__.py
  |- test_user.py
- report

其中,api目录用于存放封装了API请求的模块,tests目录用于存放测试用例,report目录用于存放测试报告。

3. API请求封装

api目录下新建一个user.py文件,用于封装用户相关的API请求。这里我们假设接口文档中有以下三个接口:

  • 获取用户列表:GET /api/users
  • 创建用户:POST /api/users
  • 删除用户:DELETE /api/users/{user_id}
import requests

class UserAPI:
    def __init__(self, base_url):
        self.base_url = base_url

    def get_user_list(self):
        url = f"{self.base_url}/api/users"
        resp = requests.get(url)
        return resp.json()

    def create_user(self, data):
        url = f"{self.base_url}/api/users"
        resp = requests.post(url, json=data)
        return resp.json()

    def delete_user(self, user_id):
        url = f"{self.base_url}/api/users/{user_id}"
        resp = requests.delete(url)
        return resp.json()python

4. 测试用例编写

tests目录下新建一个test_user.py文件,用于编写测试用例。这里我们使用pytest框架来执行测试用例,对于每个测试用例,我们需要实例化UserAPI类,然后调用对应的API方法进行测试。

import pytest
from api.user import UserAPI

@pytest.fixture(scope="module")
def api():
    return UserAPI(base_url="http://localhost:8080")

def test_get_user_list(api):
    resp = api.get_user_list()
    assert(resp["code"] == 200)
    assert(len(resp["data"]) > 0)

def test_create_user(api):
    data = {"name": "test user", "email": "[email protected]"}
    resp = api.create_user(data)
    assert(resp["code"] == 200)
    assert(resp["data"]["id"] is not None)

def test_delete_user(api):
    data = {"name": "test user 2", "email": "[email protected]"}
    resp = api.create_user(data)
    assert(resp["code"] == 200)
    user_id = resp["data"]["id"]

    resp = api.delete_user(user_id)
    assert(resp["code"] == 200)python

5. 执行测试用例

在命令行中执行以下命令,即可执行测试用例:

pytest --alluredir=reportsh

其中,--alluredir参数指定了测试报告的存储路径。

6. 查看测试报告

执行完测试用例后,可以使用以下命令来生成测试报告:

allure serve reportsh

这里我们使用了allure命令来启动一个本地的Web服务器,然后在浏览器中打开http://localhost:port即可查看测试报告。

7. 结语

以上就是一个基于Python语言的接口自动化测试框架,并使用Allure输出测试报告的整个流程。当然,这只是一个简单的示例,实际项目中可能需要考虑更多的因素,比如接口响应时间、并发测试等。

你可能感兴趣的:(python,pycharm,开发语言)