首页主机资讯ubuntu swagger如何测试接口功能

ubuntu swagger如何测试接口功能

时间2025-10-01 18:09:03发布访客分类主机资讯浏览609
导读:在Ubuntu上使用Swagger测试接口功能的步骤 1. 准备工作:安装基础工具 在开始前,需确保系统已安装Node.js(用于运行Swagger UI/Editor)和npm(Node.js包管理器)。通过以下命令安装: sudo ap...

在Ubuntu上使用Swagger测试接口功能的步骤

1. 准备工作:安装基础工具

在开始前,需确保系统已安装Node.js(用于运行Swagger UI/Editor)和npm(Node.js包管理器)。通过以下命令安装:

sudo apt update
sudo apt install -y nodejs npm

2. 安装并配置Swagger UI(交互式测试首选)

Swagger UI是可视化测试接口的工具,支持“Try it out”功能,无需编写代码即可发送请求。

2.1 安装Swagger UI

通过npm全局安装swagger-ui-express(用于集成Express服务器):

sudo npm install -g swagger-ui-express

2.2 准备Swagger文档

创建swagger.yaml(或swagger.json)文件,定义接口规范(如接口路径、请求方法、参数、响应等)。例如:

openapi: 3.0.0
info:
  title: Sample API
  version: 1.0.0
paths:
  /users:
    get:
      summary: Get all users
      responses:
        '200':
          description: A list of users
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string

2.3 启动Swagger UI服务

创建一个Express应用(如server.js),集成Swagger文档并启动服务器:

const express = require('express');
    
const swaggerUi = require('swagger-ui-express');
    
const YAML = require('yamljs');
    

// 加载Swagger文档
const swaggerDocument = YAML.load('./swagger.yaml');
    

const app = express();
    
// 将Swagger文档挂载到/api-docs路径
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
    

const PORT = 3000;
    
app.listen(PORT, () =>
 {

  console.log(`Swagger UI is running at http://localhost:${
PORT}
    /api-docs`);

}
    );
    

启动服务器:

node server.js

2.4 测试接口

  • 打开浏览器访问http://localhost:3000/api-docs
  • 在Swagger UI界面找到目标接口(如/usersGET方法),点击右侧Try it out按钮。
  • 输入必要参数(若有),点击Execute发送请求。
  • 查看下方Response区域,获取接口返回的状态码、响应体等信息。

3. 安装并使用Swagger Editor(文档编辑与测试)

Swagger Editor用于编写、编辑Swagger文档,同时支持在线测试接口。

3.1 安装Swagger Editor

通过npm全局安装:

sudo npm install -g swagger-editor

启动Editor:

swagger-editor

默认会在浏览器中打开http://localhost:8080

3.2 导入并测试接口

  • 点击顶部菜单栏FileImportOpen File,选择本地的swagger.yaml文件。
  • 编辑文档后,点击接口下方的Authorize按钮(若有认证需求),输入认证信息。
  • 点击Try it out,输入参数并执行,查看响应结果。

4. 自动化测试(可选,适合持续集成)

若需要批量测试接口或集成到CI/CD流程,可使用自动化测试工具(如Mocha+Chai+Supertest)。

4.1 安装依赖

sudo npm install -g mocha chai supertest yamljs

4.2 编写测试脚本

创建test-swagger.js文件,使用Supertest发送请求并断言结果:

const chai = require('chai');
    
const expect = chai.expect;
    
const request = require('supertest');
    
const YAML = require('yamljs');
    

// 加载Swagger文档
const swaggerDocument = YAML.load('./swagger.yaml');
    
const app = require('./server');
     // 导入你的Express应用

describe('GET /users', () =>
 {
    
  it('should return a list of users with status 200', (done) =>
 {
    
    request(app)
      .get('/api-docs/users') // 根据Swagger UI的挂载路径调整
      .expect(200)
      .end((err, res) =>
 {
    
        if (err) return done(err);
    
        expect(res.body).to.be.an('array');
     // 断言响应体是数组
        done();

      }
    );

  }
    );

}
    );
    

4.3 运行测试

mocha test-swagger.js

测试结果会显示在终端,提示通过或失败的用例。

注意事项

  • 确保Swagger文档(swagger.yaml/swagger.json)的语法正确,否则Swagger UI无法加载。
  • 若接口需要认证(如Bearer Token),在Swagger UI的Authorize按钮中输入认证信息。
  • 自动化测试时,需确保Express应用已正确启动,并暴露了Swagger文档的路径。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu swagger如何测试接口功能
本文地址: https://pptw.com/jishu/716053.html
Debian挂载老旧硬盘 ubuntu swagger怎样实现安全认证

游客 回复需填写必要信息