博客 / 詳情

返回

Apipost自動化測試:零代碼!3步搞定!

“測試1小時,改Bug一整天”, 傳統手動測試不僅耗時費力,還容易遺漏關鍵場景,導致線上事故頻發。目前,全球Top 10的科技公司中,90%的團隊早已拋棄手動測試,轉向更智能的解決方案——自動化測試

不過,許多人對自動化測試的認知仍停留在“高門檻”“複雜代碼”的誤區中。
自從上手Apipost,發現並非如此: 無需寫一行代碼,三步操作即可實現全流程自動化測試,小白也能10分鐘上手。

快速上手

1. 新建測試用例

打開Apipost,點擊“新建測試用例”,給你的測試任務起個名字,比如“用户登錄接口測試”。
 title=

2. 編排測試用例

在測試用例中,你可以像搭積木一樣,把接口拖拽進來。比如,先添加“用户登錄接口”,再添加“獲取用户信息接口”。
 title=

3. 設置測試條件

  • 測試環境:從下拉菜單中選擇你的測試環境(比如開發環境、預發佈環境)。
  • 執行輪次:設置跑多少次測試,比如跑5次驗證穩定性。
  • 間隔時長:每次測試之間隔多久,比如設置為3秒。
     title=
  1. 生成測試報告
    點擊“保存並執行”,Apipost會自動生成一份詳細的測試報告,包括接口響應時間、斷言結果、失敗原因等。
     title=

使用測試數據

1. 測試數據的創建:從零到一的蜕變

1.1 上傳測試數據文件

  • 打開 Apipost,進入測試用例編輯頁面,點擊左側的“測試數據”。
  • 點擊“新建測試數據”,選擇“上傳文件”,支持 CSV 和 TXT 格式。
  • 示例:準備一個 CSV 文件,包含用户登錄所需的 usernamepassword 字段。

    username,password
    test01@apipost.cn,123456
    test02@apipost.cn,789012
  • 上傳後,Apipost 會自動解析文件內容,你可以在右側預覽數據。
     title=

1.2 環境隔離:不同環境不同數據

  • 在 Apipost 中,支持為每個環境單獨配置測試數據。例如:

    • 開發環境使用 local_users.csv
    • 生產環境使用 prod_users.csv
  • 切換環境時,系統會自動識別對應環境的測試數據。
     title=

2. 測試數據的使用:讓數據“活”起來

2.1 參數化接口請求

  • 編輯接口時,將請求參數設置為變量,例如 {{username}}{{password}}
     title=
  • 在測試條件中選擇剛創建的測試數據,Apipost 會自動將數據填充到接口中。
     title=

2.2 循環控制器與測試數據的結合

  • 添加“循環控制器”,選擇“完成所有測試數據的迭代”模式。
  • 設置循環間隔為 1 秒,確保每次請求之間有足夠的時間。
  • 在循環體內調用接口,使用 {{username}}{{password}} 引用數據。
     title=

2.3 動態數據提取與再利用

  • 如果接口返回的數據是數組格式(如用户列表),可以通過 JSONPath 表達式提取數據。

    {
    "code": 200,
    "success": true,
    "msg": "Data generated successfully",
    "timestamp": "2023-09-20T14:30:00Z",
    "data": [
      {
        "id": "e3f5a7b1-9c2d-4f8a-b6c0-1d8e9f2a7b3c",
        "username": "alice_m2023",
        "password": "Tp9@xQvL!",
        "created_at": "2023-09-20T14:00:00Z"
      },
      {
        "id": "a2b4c6d8-e0f1-4a3b-9c5d-7e9f1a2b3c4d",
        "username": "maxwell_7",
        "password": "8nG#r2sKd",
        "created_at": "2023-09-20T14:05:00Z"
      },
      {
        "id": "5d7f9a1b-3c8e-4a2d-9b0f-6e1a3b5c7d9e",
        "username": "zara.frost",
        "password": "qW6$bY9pA",
        "created_at": "2023-09-20T14:10:00Z"
      },
      {
        "id": "8e1a3b5c-7d9e-4f2a-b6c0-9d8e7f1a2b3c",
        "username": "t_robot92",
        "password": "Lm3^cF8zN",
        "created_at": "2023-09-20T14:15:00Z"
      },
      {
        "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
        "username": "kira_nexus",
        "password": "R@4vP7hXy",
        "created_at": "2023-09-20T14:20:00Z"
      }
    ]
    }

     title=

  • 使用 $.data 提取數組。
     title=
  • 然後在後續接口中通過使用 {{username}}{{password}} 引用數據。
     title=

性能測試實戰

性能問題是接口測試的“隱形殺手”。Apipost的性能測試功能,能幫你快速定位瓶頸!

1. 固定模式壓測

  • 設置併發數為100,模擬100個用户同時登錄。
  • 查看壓測報告中的“平均響應時間”和“失敗率”,判斷接口是否能扛住高併發。
     title=

2. 爬坡模式壓測

  • 從10個併發開始,逐步增加到100個併發,觀察接口性能的變化趨勢。
  • 如果響應時間突然飆升,説明接口在某個併發點出現了性能問題。
     title=

CICD實戰指南,從安裝到集成

1. Apipost CLI工具:自動化測試的“發動機”

1.1 安裝 CLI 工具

  • 打開終端,運行以下命令安裝 Apipost CLI:

    npm install -g apipost-cli-pro
  • 如果你之前安裝過舊版本的 apipost-cli,請先卸載:

    npm uninstall -g apipost-cli

1.2 生成 CICD 命令

  • 進入你的測試用例頁面。
  • 點擊“持續集成”,新建--Apipost Cli,系統會自動生成一個唯一的運行鏈接和 Token。
  • 複製生成的命令,例如:

    apipost run "https://open.apipost.net/open/ci/automated_testing?ci_id=xxx&token=xxx" -r html

     title=

2. 集成到 CI/CD 流程:讓測試成為流水線的一部分

2.1 Jenkins 集成

  • 在 Jenkins 項目配置中,添加一個新的“執行 shell”步驟。
  • 粘貼剛才生成的 CICD 命令,確保在代碼提交後自動觸發測試。
  • 示例配置:

    pipeline {
        agent any
        tools {nodejs "node16.14"} //替換替換服務器支持的node版本。node版本>16
        stages {
          stage('Install Apipost CLI') {
            steps {
              sh 'npm install -g apipost-cli'
            }
          }
          stage('Running Test Scenario') {
            steps {
              sh 'apipost run "https://open.apipost.net/open/ci/automated_testing?ci_id=xxx&token=xxx" -r html'
            }
          }
        }
      }

     title=

2.2 GitHub Actions 集成

  • 在項目根目錄下創建 .github/workflows/test.yml 文件。
  • 添加以下內容:

    name: Automated API Tests
    
    on: [push, pull_request]
    
    jobs:
    build:
      runs-on: ubuntu-latest
    
      steps:
      - uses: actions/checkout@v3
    
      - name: Setup Node.js environment
        uses: actions/setup-node@v2
        with:
          node-version: '14'
    
      - name: Install Apipost CLI
        run: npm install -g apipost-cli
    
      - name: Running Test Scenario
        run: apipost run "https://open.apipost.net/open/ci/automated_testing?ci_id=xxx&token=xxx" -r html

     title=

實戰場景:用户充值查詢系統

場景描述

假設我們有一個用户管理系統,包含以下四個接口:

  1. 用户註冊接口:允許新用户註冊。
  2. 用户登錄接口:驗證用户憑據並返回認證token。
  3. 用户充值接口:允許用户為賬户充值。
  4. 查詢賬户信息接口:查詢用户的賬户餘額和充值歷史。

我們將使用Apipost對這些接口進行自動化測試,確保系統的穩定性和可靠性。

自動化測試流程設計

1. 創建測試用例

打開Apipost,點擊“新建測試用例”,給測試任務起個名字,比如“用户完整流程測試”。
 title=

2. 添加接口並編排順序

按照以下順序將接口拖拽到測試用例中:

  1. 用户註冊接口
  2. 用户登錄接口
  3. 用户充值接口
  4. 查詢賬户信息接口
     title=

3. 設置請求參數和動態數據提取

  • 用户註冊接口

    • 請求參數

      {
        "username": "test_user",
        "email": "test_user_@example.com",
        "password": "Test@123"
      }

       title=

    • 斷言

      • 響應狀態碼為200。
      • 響應體中包含"status": "success"
      • 提取userId並存儲為全局變量。
         title=
  • 用户登錄接口

    • 請求參數

      {
        "username": "test_user",
        "password": "Test@123"
      }
    • 斷言

      • 響應狀態碼為200。
      • 響應體中包含"token"字段。
      • 提取token並存儲為全局變量。
         title=
  • 用户充值接口

    • 請求頭

      Authorization: Bearer {{token}}

       title=

    • 請求參數

      {
        "userId": "{{userId}}",
        "amount": 100.00,
        "currency": "CNY"
      }

       title=

    • 斷言

      • 響應狀態碼為200。
      • 響應體中包含"transactionId"字段。
         title=
  • 查詢賬户信息接口

    • 請求頭

      Authorization: Bearer {{token}}
    • 查詢參數

      userId={{userId}}
    • 斷言

      • 響應狀態碼為200。
      • 充值金額是否為100。
         title=

4. 設置測試條件

  • 測試環境:選擇你的測試環境(如開發環境)。
  • 執行輪次:設置為1次(完整流程測試)。
  • 間隔時長:設置為2秒(確保接口響應穩定)。
     title=

5. 生成測試報告

點擊“保存並執行”,Apipost會自動生成一份詳細的測試報告,包括接口響應時間、斷言結果、失敗原因等。
 title=

動態數據提取與再利用

在測試過程中,我們使用了動態數據提取功能,將註冊接口返回的userId和登錄接口返回的token存儲為全局變量,並在後續接口中引用這些變量。這種方式不僅減少了重複輸入數據的工作量,還確保了測試數據的一致性和準確性。

性能測試

為了驗證接口在高併發場景下的性能,我們可以在登錄接口上進行性能測試:

  1. 固定模式壓測:設置併發數為100,模擬100個用户同時登錄。
  2. 爬坡模式壓測:從10個併發開始,逐步增加到100個併發,觀察接口性能的變化趨勢。
     title=

CI/CD集成

將測試用例集成到CI/CD流程中,確保每次代碼提交後自動觸發測試:

  1. Jenkins集成:在Jenkins項目配置中,添加執行shell步驟,粘貼Apipost生成的CICD命令。
  2. GitHub Actions集成:在項目根目錄下創建.github/workflows/test.yml文件,添加安裝Apipost CLI和運行測試命令的步驟。
     title=

Apipost自動化測試的核心優勢

  • 零代碼:拖拽式編排,小白友好;
  • 全場景覆蓋:接口測試、性能壓測、數據驅動一網打盡;
  • CI/CD集成:一鍵生成CLI命令,無縫對接Jenkins、GitLab!
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.