在Linux上实现Swagger的自动化测试,可以遵循以下步骤:
1. 安装必要的工具
首先,确保你的Linux系统上已经安装了以下工具:
- Java JDK:Swagger工具通常需要Java环境。
- Maven:用于构建和管理项目依赖。
- Postman 或 Swagger UI:用于手动测试API。
- JUnit 和 Rest-Assured:用于编写和运行自动化测试。
安装Java JDK
sudo apt update
sudo apt install openjdk-11-jdk
安装Maven
sudo apt install maven
安装Postman(可选)
你可以从Postman官网下载并安装Postman,或者使用以下命令通过Snap安装:
sudo snap install postman
2. 创建Maven项目
创建一个新的Maven项目,并在pom.xml文件中添加Swagger和Rest-Assured的依赖。
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>com.examplegroupId>
<artifactId>swagger-automationartifactId>
<version>1.0-SNAPSHOTversion>
<packaging>jarpackaging>
<name>swagger-automationname>
<description>Demo project for Swagger Automationdescription>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<maven.compiler.source>11maven.compiler.source>
<maven.compiler.target>11maven.compiler.target>
properties>
<dependencies>
<dependency>
<groupId>io.swagger.core.v3groupId>
<artifactId>swagger-annotationsartifactId>
<version>2.1.12version>
dependency>
<dependency>
<groupId>io.swagger.core.v3groupId>
<artifactId>swagger-modelsartifactId>
<version>2.1.12version>
dependency>
<dependency>
<groupId>io.rest-assuredgroupId>
<artifactId>rest-assuredartifactId>
<version>4.4.0version>
<scope>testscope>
dependency>
<dependency>
<groupId>io.rest-assuredgroupId>
<artifactId>json-schema-validatorartifactId>
<version>4.4.0version>
<scope>testscope>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.8.1version>
<configuration>
<source>11source>
<target>11target>
configuration>
plugin>
plugins>
build>
project>
3. 编写Swagger文档
在你的项目中创建一个Swagger文档文件(例如swagger.yaml),描述你的API。
openapi: 3.0.0
info:
title: Sample API
version: 1.0.0
paths:
/users:
get:
summary: List 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
format: int64
name:
type: string
email:
type: string
format: email
4. 编写自动化测试
创建一个测试类,使用Rest-Assured来发送请求并验证响应。
import io.cucumber.java.en.Given;
import io.cucumber.java.en.When;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.And;
import io.restassured.RestAssured;
import io.restassured.response.Response;
import static org.hamcrest.Matchers.*;
public class UserApiSteps {
@Given("I have the base URI for the API")
public void i_have_the_base_uri_for_the_api() {
RestAssured.baseURI = "http://localhost:8080";
}
@When("I send a GET request to /users")
public void i_send_a_get_request_to_users() {
RestAssured.given()
.when()
.get("/users")
.then()
.statusCode(200)
.body("size()", greaterThan(0));
}
@And("the response should contain a user with the name {string}")
public void the_response_should_contain_a_user_with_the_name(String userName) {
RestAssured.given()
.when()
.get("/users")
.then()
.body("find { it.name == $userName }", notNullValue());
}
}
5. 运行测试
使用Cucumber运行你的测试。
mvn test
6. 集成Swagger UI(可选)
如果你想在浏览器中查看和测试你的API,可以使用Swagger UI。
安装Swagger UI
你可以从Swagger UI官网下载并安装Swagger UI,或者使用以下命令通过Snap安装:
sudo snap install swagger-ui
启动Swagger UI
启动Swagger UI并访问你的API文档。
swagger-ui -p 8080 -s ./path/to/swagger.yaml
现在,你可以在浏览器中访问http://localhost:8080来查看和测试你的API。
通过以上步骤,你可以在Linux上实现Swagger的自动化测试。
以上就是关于“如何在Linux上实现Swagger的自动化测试”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm