接著上一篇繼續(xù)來對腳本進行優(yōu)化,不了解上一篇內容的可以回頭先看看(http://www.reibang.com/p/f9270a57d27c)洋机。
上一篇的腳本中使用的城市數據都是可以查到天氣信息的,這一篇我們增加發(fā)送不存在的城市數據贬媒。
首先來看一下發(fā)送不存在城市數據的 API 文檔信息:
{
"status":"The location can not be found.",
"status_code":"AP010010"
}
接下來在 CSV 文件中添加一些非法的城市名稱聋亡、返回狀態(tài) status,返回狀態(tài)碼 status_code际乘。
修改了數據后坡倔,請求和斷言要如何修改呢?
再來回顧一下前面的請求腳本:
請求中的參數無論是查詢有效城市天氣信息還是無效城市天氣信息其實都是需要填寫的蚓庭,所以請求腳本可以不作修改致讥。
接下來看看斷言部分仅仆。查詢有效城市天氣信息會斷言城市名稱 name 和城市 id器赞,假如查詢非法城市天氣信息時執(zhí)行這兩個斷言那肯定會報錯,所以查詢非法城市天氣信息的斷言需要另外編寫墓拜。
查詢非法城市天氣信息后港柜,我們對響應的狀態(tài) status 和狀態(tài)碼 status_code 這兩項進行斷言,下面添加兩個斷言到腳本中咳榜。
斷言狀態(tài) status 夏醉。
斷言狀態(tài)碼 status_code 。
添加了上面的斷言后直接去運行腳本肯定也會報錯涌韩,因為無論是查詢有效城市天氣信息還是無效城市天氣信息時都會執(zhí)行全部的斷言畔柔。我們想要的運行方式是:查詢有效城市天氣信息時執(zhí)行城市名稱 name 和城市 id 的斷言,查詢無效城市天氣信息時執(zhí)行狀態(tài) status 和狀態(tài)碼 status_code 的斷言臣樱。這樣腳本又應該如何修改呢靶擦?
分開不同的情況去執(zhí)行斷言的話,我們可以在 CSV 文件中添加標識來區(qū)分不同類型的數據雇毫,比如可以添加一列 type內容 玄捕。
接著在原來的腳本中添加兩個如果(If)控制器
放到獲取實時天氣請求下,然后在 if 控制器中添加判斷條件棚放。
判斷有效城市枚粘。
判斷無效城市。
添加 if 控制器后飘蚯,我們把循環(huán)控制器的循環(huán)次數改成6馍迄,因為 CSV 文件中有6行可用數據。
在這里局骤,大家想一個問題攀圈,如果以后 CSV 文件的數據增加或者減少了,難道每次都要去數一遍行數然后來修改循環(huán)控制器的循環(huán)次數嗎庄涡?
當然不是量承。大家可以去看筆者另外一篇關于處理這個問題的文章(http://www.reibang.com/p/7231e902c775),這里就不再重復寫一遍了。
既然提到這個用法撕捍,那這里就直接用吧拿穴。
好,到這里為止忧风,全部腳本都修改完成了默色,下面運行一次腳本。
從上面的斷言結果可以看到6個斷言都通過了狮腿。
以上就是 if 控制器運用到接口自動化測試中的一個小實例腿宰,希望對大家有幫助。