溫馨提示×

如何利用Swagger在Linux上進行API自動化測試

小樊
47
2025-03-03 23:19:34
欄目: 智能運維

要利用Swagger在Linux上進行API自動化測試,可以按照以下步驟進行:

1. 安裝Swagger Editor和Swagger UI

首先,需要在Linux系統上安裝Swagger Editor和Swagger UI。以下是安裝步驟:

安裝Node.js和npm

sudo apt update
sudo apt install -y openjdk-11-jre-headless

下載并解壓Swagger Editor

wget https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.50.0/swagger-editor.min.js
wget https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/3.50.0/swagger-editor.min.css

創建一個簡單的HTML文件來加載Swagger Editor

sudo nano /var/www/html/swagger-editor.html

在文件中添加以下內容:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" type="text/css" href="swagger-editor.css">
</head>
<body>
  <div id="swagger-editor"></div>
  <script src="swagger-editor.js"></script>
  <script>
    window.onload = function() {
      const editor = SwaggerEditor({
        url: "https://petstore.swagger.io/v2/api-docs",
        dom_id: '#swagger-editor'
      });
    };
  </script>
</body>
</html>

啟動Web服務器(例如Apache或Nginx)

Apache:

sudo a2ensite default.conf
sudo systemctl restart apache2

Nginx:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.backup
sudo nano /etc/nginx/sites-available/default

修改server塊中的rootindex指令:

server {
  listen 80 default_server;
  listen [::]: 80 default_server;
  root /var/www/html;
  index index.html index.htm;
  server_name _;
  location / {
    try_files $uri $uri/ =404;
  }
}

保存并退出編輯器,然后重啟Nginx:

sudo systemctl restart nginx

訪問Swagger Editor

現在,你應該能夠通過瀏覽器訪問 http://your_server_ip/swagger-editor 來查看和使用Swagger Editor。

2. 使用Swagger進行API自動化測試

生成測試用例模板

使用Swagger Editor生成測試用例模板或client SDK。這些模板可以提供給QA進行接口測試用例的生成,也可以提供給后端開發人員一個調用的SDK。

編寫自動化測試腳本

利用Swagger文檔自動測試API??梢允褂肞ython中的requests庫來發送HTTP請求,并結合pytest庫來進行斷言和測試。

以下是一個簡單的示例:

import requests

def test_get_users():
    response = requests.get('http://localhost:5000/api/users')
    assert response.status_code == 200, "Expected status code 200"
    assert response.json() is not None, "Expected JSON response"

def test_create_user():
    user_data = {
        "name": "John Doe",
        "email": "johndoe@example.com"
    }
    response = requests.post('http://localhost:5000/api/users', json=user_data)
    assert response.status_code == 201, "Expected status code 201 (Created)"
    assert response.json()["name"] == "John Doe", "Expected name to be 'John Doe'"

運行自動化測試

在命令行中使用pytest命令運行這些測試:

pytest your_test_file.py

這樣,你就可以利用Swagger文檔自動測試你的API了。

通過以上步驟,你可以在Linux上成功搭建Swagger環境,并利用Swagger進行API自動化測試。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女