在Linux系統下,Swagger(現在稱為OpenAPI)可以通過多種方式實現API自動化測試。以下是一些常見的方法和步驟:
安裝Swagger Codegen CLI:
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.44/swagger-codegen-cli-3.0.44.jar -O swagger-codegen-cli.jar
生成客戶端SDK或測試代碼:
java -jar swagger-codegen-cli.jar generate -i http://localhost:8080/v2/api-docs -l python -o ./generated-client
用測試框架編寫測試邏輯:
例如,使用Python的pytest
和requests
庫編寫測試腳本:
import pytest
import requests
def test_get_user():
response = requests.get('http://localhost:8080/api/users')
assert response.status_code == 200
def test_create_user():
user_data = {
"name": "John Doe",
"email": "johndoe@example.com"
}
response = requests.post('http://localhost:8080/api/users', json=user_data)
assert response.status_code == 201
assert response.json()['name'] == "John Doe"
運行測試:
pytest test_api.py
導出Swagger為Postman Collection: 可以使用Swagger Editor或Swagger Codegen將Swagger導出為Postman Collection JSON文件。
安裝Newman(Postman的CLI工具):
npm install -g newman
運行測試:
newman run your-swagger-collection.json
支持CI/CD環境執行:
newman run your-swagger-collection.json -r cli,json,html
安裝Dredd:
npm install -g dredd
運行測試:
dredd swagger.yaml http://localhost:8080
安裝Swagger Codegen CLI:
wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/3.0.44/swagger-codegen-cli-3.0.44.jar -O swagger-codegen-cli.jar
生成客戶端代碼:
java -jar swagger-codegen-cli.jar generate -i http://localhost:8080/v2/api-docs -l java -o ./generated-client
編寫自動化測試腳本: 使用JUnit或其他測試框架編寫測試邏輯,并使用相應的運行工具執行測試。
拉取并運行Swagger Editor和Swagger UI:
docker pull swaggerapi/swagger-editor:v4.6.0
docker run -d -p 38080:8080 swaggerapi/swagger-editor:v4.6.0
docker pull swaggerapi/swagger-ui:v4.15.5
docker run -d -p 38081:8080 swaggerapi/swagger-ui:v4.15.5
配置和使用Swagger: 通過瀏覽器訪問Swagger Editor和Swagger UI,進行API文檔的導入和測試。
通過以上幾種方法,可以在Linux系統下利用Swagger實現API自動化測試,提高開發和測試效率。