在Linux系统上,通过Swagger实现API自动化测试可以大大提高测试效率和准确性。以下是一个详细的步骤指南:
docker pull swaggerapi/swagger-editor:v4.6.0
docker pull swaggerapi/swagger-ui:v4.15.5
docker run -d -p 38080:8080 swaggerapi/swagger-editor:v4.6.0
docker run -d -p 38081:8080 swaggerapi/swagger-ui:v4.15.5
这样,你就可以通过访问 http://localhost:38080
来使用Swagger Editor,通过访问 http://localhost:38081
来使用Swagger UI。sudo apt update
sudo apt install -y openjdk-11-jre-headless
wget https://github.com/swagger-api/swagger-editor/archive/refs/tags/v4.6.0.tar.gz
tar -xvf swagger-editor-4.6.0.tar.gz
cd swagger-editor-4.6.0
npm install
nohup npm start &
http://your_server_ip:8080
即可使用Swagger Editor。curl https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.29/swagger-codegen-cli-2.4.29.jar --output swagger-codegen-cli-2.4.29.jar
java -jar swagger-codegen-cli-2.4.29.jar generate -i swagger.json -l java -o my-test-project
这将生成Java测试脚本。pip install requests pytest
import requests
import pytest
BASE_URL = 'http://localhost:5000/api'
def test_get_users():
response = requests.get(f'{BASE_URL}/users')
assert response.status_code == 200
assert response.json() is not None
def test_create_user():
user_data = {
"name": "John Doe",
"email": "johndoe@example.com"
}
response = requests.post(f'{BASE_URL}/users', json=user_data)
assert response.status_code == 201
assert response.json()['name'] == "John Doe"
pytest test_api.py
pytest /path/to/your/test_api.py
通过以上步骤,你可以在Linux系统上成功部署Swagger,并使用Swagger进行API自动化测试,从而提高开发和测试效率。