接口測試的原理我理解很簡單,是你發送數據,看返回數據是否正確,返回值類型是否正常,主要點是多種數據的,返回結果正常html
和其餘應用程序相同,java中須要知道你的參數,字段有哪些,咱們就去給他造數據,而先公司是給的一個請求參數和地址,開始以前先說下接口的一些規範:前端
接口方法:MethodName(string session, int appType, string args, DateTime timestamp, string sign)
調用接口方法的地址爲:http://api.m.hzins.com/MethodName
調用接口方法應該POST的數據格式:session=xxx&appType=1&args={json}×tamp=now&sign=xxxjava
MethodName:須要調用的方法名
session:用戶session
appType : 調用的app類型
args:方法調用所須要參數(若是是多個參數,將參數寫成json對象進行序列化)
timestamp:爲了讓簽名更加安全增長一個時間因素
sign:簽名 根據約定規則對參數進行加密後的字符串json
State: 返回狀態碼
Msg:返回信息
Data:返回處理數據(Json字符串)c#
在沒有工具幫助的狀況下, 須要測試接口測試後臺是c#編寫的,能夠藉助兩種方式進行接口的測試後端
一:URL直接請求api
接口地址: http://api.m.hzins.com/Insure/GetInsureDetail 請求方式: POST安全
ProductId:產品id, PlanId:公司Id
返回數據:
{ "State":0, "Msg":"操做成功", "Data":{ "MaxPeople":100, //最大投保人數 (目前沒什麼用) "HaveDestinationCountry":0, //是指定旅行目的地(目前木有用到) "ProductAttributeAll":[ //投保屬性信息 { "Childs":[ //字段能夠選擇的項 { "BindEntity":"", "ControlTypeId":5, "DefaultSelected":false, "DisplayOrder":1, "FieldName":"", "Id":4, "InitClass":"", "IsRequired":true, "IsSelected":false, "Name":"身份證", "ParentId":3, "SettingTypeId":10, "Value":"1" }, { "BindEntity":"", "ControlTypeId":5, "DefaultSelected":false, "DisplayOrder":2, "FieldName":"", "Id":5, "InitClass":"", "IsRequired":true, "IsSelected":false, "Name":"護照", "ParentId":3, "SettingTypeId":10, "Value":"2" },
1.URL直接請求 gest請求session
http://api.m.hzins.com/Product/GetProuductDetailInfo?args={"ProductId":"123","PlanId":"456"},在url後面直接添加參數,這個請求要後臺容許這樣的方法,成功後返回以上數據app
2.利用fiddler發送請求 post請求
有關其餘fiddler的一些小技巧,以爲這個貼還不錯:http://blog.chinaunix.net/uid-27105712-id-3738821.html