资源管理器 API 测试

APIGit

2023-05-01

explorer api testing

探索可编码的 API 测试

如何测试我的 api?

在学习API测试之前,我习惯于通过填写路径和参数来创建一个API,然后发送请求查看结果。作为 QA,我会写一份测试报告。但是,由于每个 API 都是独立的,每次开始新的测试之前,我都必须初始化测试环境。

使用Apitgit等工具进行API测试,我只需要提供一个简单的代码,它会自动生成测试报告。此外,我们可以保存响应并在另一个请求中使用它来测试系统的真实逻辑。这节省了测试过程中的时间和精力。

开始 api 测试

要开始 API 测试,请导航至Test Cases 存储库中的部分,然后单击+ 按钮。填写path name 用一个字符串,例如myfirsttest/getUser.在这个例子中,myfirstname 是文件夹名称,并且getUser 是测试用例名称。如果您是添加另一个测试用例,您可以选择您想要的文件夹,而无需再次填写文件夹名称。虽然在示例中我们将多个测试用例放在一个文件中,但您可以通过将每个测试用例组织在一个单独的文件中来简化它。

Create an api testing 创建一个api测试文件夹和测试用例文件

测试用例文件的结构

文件“myfirsttest/addPet”中的示例代码。

[
    {
        "type": "code",
        "description": "initialization",
        "parameters": {
            "code": "var baseUrl = env.get(\"baseUrl\");\nif (baseUrl == null) {\n    state.baseUrl = \"http://petstore.mock.apigit.com\";\n    //env.set(\"baseUrl\", \"http://petstore.mock.apigit.com\")\n}"
        }
    },
  {
    "type": "http",
    "description": "place an order for a pet",
    "parameters": {
      "method": "post",
      "url": "{baseUrl}/store/order",
      "query": [],
      "auth": {
        "type": "none"
      },
      "header": [
        {
          "name": "content-type",
          "value": "application/json",
          "enabled": true
        }
      ],
      "body": {
        "type": "application/json",
        "data": "{\n  \"id\": 11,\n  \"petId\": 198772,\n  \"quantity\": 7,\n  \"shipDate\": \"2023-01-14T19:25:54.211Z\",\n  \"status\": \"approved\",\n  \"complete\": true\n}"
      },
      "postTest": "if (!res || res.status !== 200) {\n    failed(\"place purchae order failed\")\n    return;\n}\n\nvar order = res.data;\nstate.orderId = order.id;"
    }
  }
]

这是一个了不起的设计。代码以 JSON 格式构建。它是一个包含多个 JSON 对象的 JSON 数组。在软件工程术语中,这个结构类似于一个函数。测试用例文件名代表函数名,每个JSON对象代表一行可执行代码。该文件编译如下:

exports.addPet = function () {
    //first JSON object
    var baseUrl = env.get("baseUrl");if (baseUrl == null) {state.baseUrl = "http://petstore.mock.apigit.com";}
    //second JSON object
    var res = post(body);if (!res || res.status !== 200) {failed("place purchae order failed");return;}var order = res.data;state.orderId = order.id;
};

欲了解更多信息,您可以访问[API 测试文档][].这是一个了不起的测试工具,不仅可以用来测试带有模拟服务器的 API,还可以用来测试真实的服务器。

继续探索

要部署您的测试用例,只需发布您的文件。之后,您可以运行测试并生成测试报告。

Run your testcases 运行你的测试用例

Get your test report 获取您的测试报告