docker-yapi初體驗

這幾天在查 testcafe 的東西,不小心看到鐵人賽 30 天文章的介紹,所以才知道這東西,一看之下驚為天人,這東西可以用來做什麼我都還沒清楚的了解,我就光看特色包含了,整合自動化測試、Mock Server,就決定要找時間好好了解一下了

當然當初逛到的那系列鐵人賽文章也是必須要拜讀一下的,尤其 PO 文大大還同時放上了 Youtube 錄影,實在太感謝了
持續測試 30 天

yapi 是甚麼東西?


YApi 是高效、易用、功能強大的 api 管理平台,旨在為開發、產品、測試人員提供更優雅的接口管理服務。可以幫助開發者輕鬆創建、發布、維護 API,YApi 還為用戶提供了優秀的交互體驗,開發人員只需利用平台提供的接口數據寫入工具以及簡單的點擊操作就可以實現接口的管理。

這邊列出一些 yApi 的特色

  1. 基於 Json5 和 Mockjs 定義接口返回數據的結構和文檔,效率提升多倍
  2. 扁平化權限設計,即保證了大型企業級項目的管理,又保證了易用性
  3. 類似 postman 的接口調試
  4. 自動化測試, 支持對 Response 斷言
  5. MockServer 除支持普通的隨機 mock 外,還增加了 Mock 期望功能,根據設置的請求過濾規則,返回期望數據
  6. 支持 postman, har, swagger 數據導入
  7. 免費開源,內網部署,信息再也不怕洩露了

好吧,我承認上面那段是從官網抄來的,在我沒有更好的辦法解釋他是個甚麼東西之前,介紹文案用官網的也是一個不錯的選擇

文件

yAPI 使用說明

如何安裝 yapi

官方 Github有中文說明,挺好的,可以去看看,不過像這種平台式的東西肯定有人弄成 docker,果不其然,搜尋docker-compose yapi,資料還挺多的,不過有的可以更新、有的不行,看來看去好像這個很簡潔,而且 readme 也有提到若官方有更新,他也會盡快跟上,挺好!就用它了

open source 有個很重要的原則,就是用任何東西之前,看看 readme 以及檔案最後更新的時間,很多時候會是決定你要不要採用的關鍵因素

docler-Yapi by fjc0k

docker-Yapi:https://github.com/fjc0k/docker-YApi

  1. 需要先修改.config.js中的adminAccount管理者登入信箱,密碼預設為ymfe.org
  2. 透過docker-compose up -d執行
  3. 瀏覽器開啟localhost:40001即可訪問 yapi 平台

這些在 github readme 也有提及

如果沒有更改其他設定的情況下,預設是禁止註冊新帳號的,所以管理者就是唯一的使用者
因為平台沒有資料,都是存放在資料庫內,所以勢必是透過 volume 來處理這一塊,在 windows 平台上使用 mongo db 好像會有些問題,我碰到的是系統權限不足,解決方案如下

如何在 win10 安裝 mongo db

在 windows 環境下使用 mongo db,需要寫入資料到硬碟,但似乎是與微軟 NTFS 格式有關而發生無法寫入的問題,這一篇有提到解法,在啟動 docker 的時候利用-g <path>參數,但我啟動 docker 都是滑鼠 double click icon 耶,哈哈,不過既然知道與 volume 有關,那就先建立 docker volume,並且在docker-compose.yml之中調用已建立好的 volume 即可

1
docker volume create yapi-mongo-db
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
version: "3"

services:
yapi-web:
image: jayfong/yapi:latest
container_name: yapi-web
ports:
- 40001:3000
volumes:
- ./config.js:/yapi/config.js
depends_on:
- yapi-mongo
restart: unless-stopped
yapi-mongo:
image: mongo:latest
container_name: yapi-mongo
volumes:
- yapi-mongo-db:/data/db
expose:
- 27017
restart: unless-stopped
volumes:
yapi-mongo-db: