您的位置:

使用Postman进行接口自动化测试

Postman是一个功能强大的API开发工具,它不仅仅可以用于调试和测试API接口,还可以用于自动化测试。本文将介绍如何使用Postman进行接口自动化测试,包括以下几个方面:

一、安装Postman

首先,我们需要确保已经安装了Postman。可以从官网上下载最新的版本,安装完成后打开Postman。

二、创建Postman集合

在Postman中,我们可以使用集合来组织和管理多个接口。集合相当于一个文件夹,用于容纳一系列相关联的请求和测试。

创建集合非常简单:点击左侧边栏中的“新建”按钮,然后选择“集合”。

{
    "info": {
        "_postman_id": "88e4d040-17d7-4a4b-9d15-37b4ac536e7d",
        "name": "API Test",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "item": []
}

创建好集合后,我们可以在集合的基础上创建多个请求。这些请求将存储在集合中,并且可以按需调用。

三、创建Postman请求

在Postman中创建请求非常容易,只需要点击左侧边栏中的“新建”按钮,然后选择“Request”。

我们可以选择HTTP方法,输入请求URL和请求头信息。在“Body”选项卡下,我们还可以添加请求参数。


{
    "name": "Get user details",
    "request": {
        "method": "GET",
        "header": [],
        "url": {
            "raw": "https://api.example.com/user/123",
            "protocol": "https",
            "host": [
                "api",
                "example",
                "com"
            ],
            "path": [
                "user",
                "123"
            ]
        }
    },
    "response": []
}

创建好请求后,我们可以在集合中保存该请求。这样,当我们需要执行该请求时,只需要在集合中找到该请求,点击执行即可。

四、使用Postman进行接口测试

使用Postman进行接口测试非常简单。我们只需要执行请求,然后查看响应结果即可。在响应结果选项卡下,我们可以查看返回的数据、响应时间、响应头等信息。

除了手动执行请求,我们还可以使用Postman的测试脚本来自动化测试。测试脚本允许我们编写JavaScript代码,在请求执行后对响应结果进行断言和验证。


pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

pm.test("Response status code is 200", function () {
    pm.expect(pm.response.code).to.eql(200);
});

pm.test("Response contains valid JSON", function () {
    pm.response.to.have.jsonBody();
});

以上脚本测试响应时间、响应状态码和JSON格式是否正确。如果脚本运行失败,则证明该请求出现了问题,需要进一步排查。

五、创建Postman测试集

在多个请求的情况下,我们可以将这些请求组成一个测试集,然后一次性执行所有的测试。

新建Postman测试集非常简单:点击左侧边栏中的“新建”按钮,然后选择“Test Suite”。


{
    "name": "API Test Suite",
    "tests": {
        "Get User Details Test": {
            "id": "d4788539-cd85-4368-8cd7-8a9297bedb9f",
            "request": "Get user details",
            "assertions": [
                {
                    "name": "Response time is less than 200ms",
                    "expression": "responseTime < 200"
                },
                {
                    "name": "Response status code is 200",
                    "expression": "responseCode.code === 200"
                },
                {
                    "name": "Response contains valid JSON",
                    "expression": "JSON.parse(responseBody)"
                }
            ]
        }
    }
}

以上测试集包含了一个测试用例,用于测试“Get user details”请求。测试集中还可以包含多个测试用例,每个测试用例都可以包含多个测试脚本。

六、使用Postman Runner进行自动化测试

在创建好测试集之后,我们可以使用Postman Runner来执行这些测试。Postman Runner是一个用于批量运行测试集或用例的工具。

要使用Postman Runner,我们只需要选择一个测试集或测试用例,然后点击“Runner”按钮即可。在Runner界面中,我们可以选择要执行的环境、设置并发数、运行测试等。

执行测试后,我们可以在Runner的结果界面中查看测试报告。测试报告中包含了每个测试用例的测试结果,以及详细的测试日志和错误信息。

七、使用Postman的数据驱动测试

Postman还提供了一种数据驱动测试的方式,可以用于在多个数据集上执行同一套测试脚本。

要使用数据驱动测试,我们需要创建一个CSV或JSON文件,输入测试数据。然后,在测试脚本中引用这个数据文件,并使用数据变量进行测试。


var jsonData = pm.iterationData.toJSON();

pm.test("User details are correct for " + jsonData.username, function () {
    pm.expect(pm.response.json().username).to.eql(jsonData.username);
    pm.expect(pm.response.json().email).to.eql(jsonData.email);
});

pm.test("Response time is less than 200ms for " + jsonData.username, function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

以上测试脚本会使用从数据文件中读取的数据进行测试。如果测试脚本运行成功,则证明该请求在所有数据集上都能够正确地执行。

八、结语

Postman是一个非常实用的API开发和测试工具,也是自动化测试的利器。通过本文的介绍,你应该已经了解了如何创建Postman集合、请求和测试集,如何使用测试脚本进行自动化测试,如何使用数据驱动测试等。希望这些内容能够帮助你更好地利用Postman进行API自动化测试。