• 跳至主要內容
  • Skip to secondary menu
  • 跳至主要資訊欄
  • 跳至頁尾
測試先生

測試先生

提供測試相關領域的技術文章以及其他軟體技術相關文章,如WordPress,Js,Css,Html,Python,Docker,Kubernetes,devops,k8s,jenkins,git,heroku,line,telegram

  • Python 教學
  • 網頁開發
    • WordPress 教學
    • HTML 教學
    • CSS 教學
    • Bootstrap 教學
    • JavaScript 教學
  • DevOps
    • Docker 教學
    • Jenkins 教學
    • Ngrok 教學
    • Git 教學
    • Heroku 教學
    • Google API 教學
    • ChatBot 教學
    • 自動化測試 教學
  • 網路資源
  • 關於我
目前位置: 首頁 / Ngrok 教學 / 【ngrok 教學】 搭配 Mockoon 建立 Mock APIs 讓他人也能取得資料!

【ngrok 教學】 搭配 Mockoon 建立 Mock APIs 讓他人也能取得資料!

文章更新日期: 2022 年 4 月 19 日

要如何建立一個假的API,除了讓自己可以測試debug外,也能優先讓測試人員取得到呢?

如果你還不知道怎麼安裝使用 ngrok 可以先參考這篇 【ngrok 教學】 webhook 直接在本地端測起來,Debug沒煩惱!

接著使用mockoon 這套工具可以快速讓你建立起 mock API,非常的方式實用!提供給你參考

另外最後有簡單示範使用python requests 取得 mock api 參數

內容目錄

  • Mockoon是什麼?
  • Mockoon 建立 Mock API流程
  • Mockoon 與 ngrok 如何使用操作?
  • Python 使用 requests 套件輕鬆取得 Mock API 的資料
  • 更多技術文章

Mockoon是什麼?

Mockoon 是設計和運行模擬 REST API 的最簡單、最快捷的方法。

無需遠程部署,無需帳戶,免費開源。

下載連結 https://mockoon.com/

點擊圖片的Download,針對你的平台進行安裝

截圖 2021 07 27 下午3.22.50

開啟後,Mockoon IDE 如下方圖片顯示

截圖 2021 07 27 下午3.24.33

Mockoon 建立 Mock API流程

那我們要怎麼建立一個Mock API呢?

點擊左側的 + 也就是 Filter 旁邊的 +

截圖 2021 07 27 下午3.24.45

接著再 0.0.0.0: 旁邊輸入5567,當然可以輸入別的port,建議不要輸入經常使用過的port

GET 旁邊可以輸入 test123,或者不輸入也行

截圖 2021 07 27 下午3.25.37

Body則就是你的response資料,可參考下方json格式資料,複製貼上到Body即可,到時候輸入資料時,會回傳下方資料

{
  "userId": "5",
  "name": "john",
  "lang": "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7",
  "elementTitle": "My title",
  "ip": "::1",
  "method": "GET",
  "hostname": "localhost",
  "friends": [
    {
      "id": 0,
      "name": "Stephen Bradbury"
    },
    {
      "id": 1,
      "name": "Warren Caffey"
    }
  ],
  "oneItem": "item1",
  "someItemsAsString": "item2",
  "someItemsAsArray": ["item2", "item3"],
  "userName": "John"
}

截圖 2021 07 27 下午3.28.59

接著我們點擊上圖右上角的設定按鈕,Environment settings

點擊下圖的 Add CRS header to environment header below ,主要是處理預設的參數可參考這篇 https://mockoon.com/docs/latest/cors/

完成後按下左上角的Back回到首頁

截圖 2021 07 27 下午3.26.00

接著點擊左上角的箭頭按鈕,由於下方圖片已經按過會顯是紅色匡,代表正在運行中

截圖 2021 07 27 下午3.28.59

開啟一個瀏覽器分頁輸入: http://localhost:5567/test123 或是 http://127.0.0.1:5567/test123 就可以在本地端看到回傳的body資料嚕!

截圖 2021 07 27 下午3.29.13

Mockoon 與 ngrok 如何使用操作?

那我們想讓測試資料,讓外面的人也能使用,那該如何操作呢?

我們可以透過 ngrok 讓外網的朋友也可以看到你的參數值,首先你要先開啟ngrok

再終端機輸入:$ ./ngrok http 5567,為何輸入5567呢?因為我們上面使用5567 port

這樣我們才能把本地端的資料轉換乘ngrok格式

如果不輸入5567的話,會對應不到我們本地端的資料

$ ./ngrok http 5567

ngrok by @inconshreveable                                                                                                                                                                   (Ctrl+C to quit)

Session Status                online
Account                       MarkwwLiu (Plan: Free)
Version                       2.3.40
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://e4a290fb3f2f.ngrok.io -> http://localhost:5567
Forwarding                    https://e4a290fb3f2f.ngrok.io -> http://localhost:5567

Connections                   ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00
截圖 2021 07 27 下午3.29.54

接著你會看到Forwarding這行,我們取得最後一行也就是 https://ffafeb2c030b.ngrok.io

再瀏覽器輸入https://ffafeb2c030b.ngrok.io/test123,就會如同我們看到的資料一樣

可以試著用其他設備,如手機或是其他電腦也相同輸入https://ffafeb2c030b.ngrok.io/test123

就可以獲取相同資料,這樣其他開發者或是測試人員,都只打這個api就能先進行開發測試了!

相當方便!那為何要輸入/test123呢?

因為我們再前面有給他定義/test123才會有資料的關係,如果沒有設定 /test123 就沒有這個問題

Python 使用 requests 套件輕鬆取得 Mock API 的資料

使用Python 要怎麼獲取到API裡面的資訊呢?

我們可以使用 requests 套件輕鬆獲取裡面的資料,並針對裡面的資料進行編寫測試用例或是串接其他功能。

可參考下方簡單的程式碼範例

import requests

url = 'https://ffafeb2c030b.ngrok.io/test123'
resp = requests.get(url=url)
data = resp.json() 

print(data)
$ python3 request_test.py 
{'userId': '5', 'name': 'john', 'lang': 'fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7', 'elementTitle': 'My title', 'ip': '::1', 'method': 'GET', 'hostname': 'localhost', 'friends': [{'id': 0, 'name': 'Stephen Bradbury'}, {'id': 1, 'name': 'Warren Caffey'}], 'oneItem': 'item1', 'someItemsAsString': 'item2', 'someItemsAsArray': ['item2', 'item3'], 'userName': 'John'}

文章內的程式碼都可以直接複製下來練習操作,或是直接套用到自己的專案都行!

多練習,對自已會有很大的幫助!

一回生二回熟,將所學習到內容變成自己的知識。

人就是要學習自己不會的事情,這樣才會不斷的成長、進步!

更多技術文章

透過下方按鈕找尋到相關的技術文章,希望可以幫助到正在學習的你

html 教學文章
Python 教學文章
Ngrok 教學
Jenkins 教學
WordPress 教學
Chatbot 教學

加入到我的粉絲專頁,不定期發布最新文章資訊!
有任何文章問題都可以詢問喔!

測試先生

文章分類: Ngrok 教學 文章標籤: mock api, mockoon, ngrok, python, requests, rest api © 2021–2022

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

  • 電子郵件
  • Facebook
  • GitHub
  • LinkedIn

查看更多文章

SSH Key Mac OS 如何獲取 ssh key
Jenkins 教學 Mac OS 如何安裝 Jenkins 在本地端
【Docker 教學】快速架設Python Flask app web環境!
【Flask 教學】render_template 搭配 參數,簡單好上手!
【Flask 教學】使用render_template快速建立好模板!
  • Mockoon是什麼?
  • Mockoon 建立 Mock API流程
  • Mockoon 與 ngrok 如何使用操作?
  • Python 使用 requests 套件輕鬆取得 Mock API 的資料
  • 更多技術文章

Footer

  • 隱私權政策
  • 免責聲明與使用條款
  • 聯絡我們
  • 電子郵件
  • Facebook
  • GitHub
  • LinkedIn

Copyright © 2022 · Magazine Pro on Genesis Framework · WordPress · 登入