您好,登錄后才能下訂單哦!
最近發現之前做過的東西,在未掌握牢固的情況下,很快就會忘掉,所以,通過這些東西來保留下一些測試方法,以便以后能夠回顧。
WebService的最后一種測試方法,也就是通過HTTP協議來手寫腳本完成測試,這里雖說手寫腳本,其實完成的大部分還是復制粘貼的工作,很簡單,下面簡要記錄。
這種方式和soap_request一樣,都是找到接口文檔的請求,利用這些請求書寫函數。
首先,LR新建HTTP協議的腳本。
第二,腳本中用web_custom_request();函數,其中參數url為我們的天氣預報的地址:http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx
Method=POST,Body里面即是我們的請求,最終代碼如下:
web_custom_request("web_custom_request",
"URL=http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx",
"Method=POST",
"TargetFrame=",
"Resource=0",
"Referer=",
"Body=<?xml version=\"1.0\" encoding=\"utf-8\"?><soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\"> <soap12:Body> <getWeatherbyCityName xmlns=\"http://WebXml.com.cn/\"> <theCityName>上海</theCityName> </getWeatherbyCityName> </soap12:Body></soap12:Envelope>",
LAST);
這就完成了我們的web_custom_request()函數
這時我們進行回訪,腳本中會產生錯誤:
Action.c(17): Error -26616: HTTP Status-Code=415 (Unsupported Media Type) for
"http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx" [MsgId: MERR-26616]
產生這個錯誤的原因是我們發送的數據包沒有明確格式類型,服務器在校驗格式時出現錯誤,所以我們需要手動添加一個Header頭部分,使用函數web_add_header()添加web_add_header("Content-Type",
"application/soap+xml; charset=utf-8");
這樣再次運行就可以成功了。
細心的同學可能會發現在<theCityName>上海</theCityName>
這里明明是填寫城市的地方,為什么填的是一堆亂碼呢。
這是由于我們發送的格式是utf-8格式的,那么在發送城市名字時也需要是utf-8編碼的,要不然服務器是無法識別的,至于轉換utf-8編碼,可以通過百度搜索utf-8編碼轉換即可。
這就是LR測試webservice的最后一種方式,到現在3種方式已經完畢。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。