iT邦幫忙

0

如何使用postman的api自動化測試

  • 分享至 

  • xImage

想請教各位大大
我在網路上也找過相關文章
但是一直不清楚應該如何使用

以下是我的需求
我在postman中
目前使用 POST 連結http://192.168.0.146/WaWebService/Json/GetRawDataLog/TMG-EPA

BODY下的RAW是
{
"StartTime":"2020-08-15 22:10:00",
"EndTime":"2020-08-15 23:00:00",
"IntervalType":"s",
"Tags":[{ "Name":"A01_Temp_Value", "DataType":"0"}]
}

我收到回傳的資料是
{
"Result": {
"Ret": 0,
"Total": 1
},
"DataLog": [
{
"Name": "A01_Temp_Value",
"Total": 5,
"Values": [
{
"Time": "2020/08/15 21:59:59",
"Value": "28.5"
},
{
"Time": "2020/08/15 22:18:40",
"Value": "28.3999996185303"
},
{
"Time": "2020/08/15 22:59:59",
"Value": "28.3999996185303"
},
{
"Time": "2020/08/15 23:08:45",
"Value": "28.3000011444092"
},
{
"Time": "2020/08/15 23:58:53",
"Value": "28.2000007629395"
}
]
}
]
}

以上是我手動測試結果
我希望可以改成自動測試
如每分鐘執行一次
目前下的命令還不需要使用變數(想測試系統穩定度)
我上網看了很多資訊,也做過一些測試
目前感覺我卡在TESTS下的JAVESCRIPT
我這邊不太清楚我需要的測試跟JAVESCRIPT要如何結合起來
甚至兩者有什麼關係

想請各位先進幫忙一下
小弟不是學相關背景的
如果傷了各位先進的眼還請海涵

fillano iT邦超人 1 級 ‧ 2020-08-27 11:37:44 檢舉
https://learning.postman.com/docs/running-collections/using-newman-cli/command-line-integration-with-newman/
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
allenlwh
iT邦高手 1 級 ‧ 2020-08-27 10:28:13

查到這個 試試能不能幫上忙

https://www.postman.com/webinars/continuous-testing/

0
fillano
iT邦超人 1 級 ‧ 2020-08-27 11:56:58

立刻可執行的做法:

  1. 安裝node.js
  2. 進入console,執行 npm i -g newman
  3. 把測試的collection匯出成xxx.json(檔名只是舉例)
  4. 在console執行 newman run xxx.json
  5. 看結果

要怎麼每分鐘執行一次,就看你自己了。

1
screenleon
iT邦新手 1 級 ‧ 2020-08-28 09:09:30

你可以在pre-request script 寫JS資料
EX:

const tempAll = [];
for (let index = 0; index < 3; index++) {
  tempAll.push(parseFloat((Math.random() * 7 + 33).toFixed(1)));
}
const temp = parseFloat((tempAll.reduce((previous, current) => { return previous += current }, 0) / tempAll.length).toFixed(1));
const measuredAt = new Date();

pm.environment.set("tempAll", tempAll);
pm.environment.set("temp", temp);
pm.environment.set("measuredAt", measuredAt);

在body raw 欄位填入
EX:

{
      "temp": {{temp}},
      "measuredAt": "{{measuredAt}}",
      "tempAll": [{{tempAll}}],
}

把他設定為collection後,右鍵該collection,選擇monitor collection便可以設置頻率,但是free plan好像沒有支援每分鐘打一次API,最多每小時而已

我要發表回答

立即登入回答