這幾天一直在搗鼓接口測試,以下總結一下:
1、什么是接口測試:接口是指系統模塊與模塊之間或者系統與系統之間進行交互,一般我們用的多的是HTTP協議的接口、WebService協議的接口、還有RPC(Remote Procedure Call Protocol)的接口。不管是哪種接口,其本質就是發送一個Request,然后服務器響應后返回一個response,然后我們對response進行分析,這就是接口測試。
2、消息接口測試的兩種:
a) Webservice:使用soap協議得到想要的東西(不分POST與Get,只是基於soap協議包裝出來的),能處理較復雜的數據類型(XML)。若需要在后台調用一個其他應用的服務,用webserivice的方式;
b) HTTP:基於http協議,通過POST和GET得到想要的東西,處理數據效率較高。當要調用一個本服務的內容時,使用httpservice的方式。
3、常用的接口測試工具有:
a) 商業工具:Soapui、LoadRunner
b) 開源工具:Jmeter、Jsoup、httpclient、Python中的urllib,urllib2庫
c) 插件:Poster、Postman
以上是一些接口測試最基礎的理論認知,下面就是具體步驟,為了自己以后能看懂,寫的盡可能的詳細了(自從進了IT,我發現我的記性貌似越來越差了,╮(╯▽╰)╭)
1、File—New…—New Virtual User中選擇Web(HTTP/HTML)協議
2、首先寫個函數,代碼如下
3、在設置中把日志打開,運行一下(可以打開View—Test Results…查看運行的圖形化結果,驗證一下自己的函數寫對沒),看是否有報錯
——上述過程就是一個發請求的過程,現在的問題是我怎么知道我請求返回的結果是對的?這時候就要獲取服務器的響應,然后加個斷言來判斷。
4、獲取響應(即請求返回的結果),寫個關聯函數獲取
運行一波,查看結果,日志中多了一欄藍色的東西(沒開日志是看不到的)
PS:頁面默認的編碼是GB2312,如果是亂碼,去設置那里改一下編碼格式,方法自行百度。
——此處假設要驗證的是“紫川”,以《紫川》為例,我在文本文件中,找到(Ctrl+F查詢快捷鍵)了這個——d.set('key_word', '紫川');
接下來就是寫斷言部分,這個需要一點C語言基礎
再次運行,就能在下面的日志中看到斷言的結果了。
以上是基於http協議的,關於Webservice的大致相同,首先選擇協議為Web Services,然后導入一個MSDL文件,后面的就大致相同了。
完整代碼:
Action()
{
web_reg_save_param("Response", //關聯函數
"LB=d.set('key_word', '",
"RB=');",
"Ord=1",
"Search=NoResource",
LAST);
web_url("Request","URL=http://yuedu.baidu.com/search?word=%D7%CF%B4%A8&pbook=0",LAST ); //請求
if(strcmp(lr_eval_string("{Response}"),"紫川")==0) //斷言部分
lr_output_message("斷言成功");
else
lr_output_message("斷言失敗");
return 0;
}
____努力可能比較累,但是心安....