想請教各位大大
我在網路上也找過相關文章
但是一直不清楚應該如何使用
以下是我的需求
我在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要如何結合起來
甚至兩者有什麼關係
想請各位先進幫忙一下
小弟不是學相關背景的
如果傷了各位先進的眼還請海涵
立刻可執行的做法:
npm i -g newman
newman run xxx.json
要怎麼每分鐘執行一次,就看你自己了。
你可以在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,最多每小時而已