轉自:https://www.cnblogs.com/xiaoxi-3-/p/7839278.html
四、管理用例---Collections
Collections集合:也就是將多個接口請求可以放在一起,並管理起來。什么樣的接口請求可以放在同一個collection里?
在這里告訴大家可以這樣:一個工程一個Collection,這樣方便查找及統一處理數據。
第一步:創建Collections
點擊上圖中的帶+號的圖標,輸入Name:”demo”,Description:”demo for Collections”,點擊Create按鈕即創建成功一個Collections.
第二步,在Collections里添加請求
在右側准備好接口請求的所有數據,並驗證后,點擊save按鈕。
選擇Collection及填寫好Request name、Request description后,點擊右下角的save to collection按鈕,則該請求被添加到Collection中。
添加成功后,可在左側列表中,collection中查看剛剛添加的請求。
第三步:Collection精細化---Folder
隨着放入Collection的請求越來越多,混亂就又出現了,在找一個請求時,要找半天,於是將collection中的請求分門類別就很重要了,於是,在collection中就可以添加Folder了,將相同場景的請求放入同一個Folder中,於是就實現了模塊化的管理了。
點擊下圖中的Add Folder后,即可創建Folder。
添加上Folder name,即模塊名稱后,點擊Create,創建成功一個Folder。
接下來,只需要把相同場景的請求拖入相同的Folder即可,這樣就實現了模塊化的管理了。模塊化以后的結構:
第四步:運行Collection
將工程模塊化的用例管理起來后,借着這個管理起來的東風,也可以將工程模塊化的用例執行起來,即一次執行一整個collection里的用例,或者執行一個collection里的某一個Folder里的用例。
點擊下圖中的Run:
下圖中的”Choose collection or folder”,如果選擇demo,表示運行demo這一整個collection的用例,如果選擇GET,即只運行demo下的GET模塊下的用例。
Environment,即運行環境,是開發環境還是測試環境,需事先配置,大家可以下去自已嘗試一下。
Iterations,即重復運行次數。會將選擇好的collection中folder重復運行。
Delay,間隔時間。用例與用例間的間隔時間。
Data,外部數據加載,即用例的參數化,可以與Iterations結合起來用,實現參數化,也就是數據驅動。
Run Demo,點擊運行,運行完成后,即可得出一個簡易的聚合報告。
第五步:Collection運行參數化
在Iterations重復運行時,如果某個用例希望每次運行時,使用不同的數據,那么應該滿足如下2個條件:
1、腳本中要用到數據的地方參數化,即用一個變量來代替,每次運行時,重新獲取當前的運行數據。
2、需要有一個數據池,這個數據池里的數據條數,要與重復運行的次數相同。
Postman的runner給我們提供了Iterations的輸入項,也提供了Data的文件選擇項,也就是意味着數據池是一個外部文件。
如果Iterations里的值為2,那么,這個外部文件里也應該有兩條數據,postman希望我們這個外部文件里的數據是一個json(當然也可以是其它
數據格式).
為了表示兩條數據,這個json應該是一個list結構(如下圖),同時,由於腳本要用到數據的地方需要參數化,需要變量,所以,每一條數據應該就是一個map,map的key對應腳本中的變量。
上圖中表示提供了一個msg的變量,每次運行對應不同的值,預示着在腳本中可以用到msg這個變量,那在腳本中如何用?
如上圖斷言中用data.msg,其中data是個內置對象,即代表每一次運行的那個map數據,所以,可以用data.msg來獲取每次運行的對應的值,當然,由於是個map,也可以用data[‘msg’]來獲取對應的值。
