在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自動化測試,從而提高開發和測試效率。