您好,登錄后才能下訂單哦!
最近發(fā)現(xiàn)之前做過(guò)的東西,在未掌握牢固的情況下,很快就會(huì)忘掉,所以,通過(guò)這些東西來(lái)保留下一些測(cè)試方法,以便以后能夠回顧。
WebService的最后一種測(cè)試方法,也就是通過(guò)HTTP協(xié)議來(lái)手寫(xiě)腳本完成測(cè)試,這里雖說(shuō)手寫(xiě)腳本,其實(shí)完成的大部分還是復(fù)制粘貼的工作,很簡(jiǎn)單,下面簡(jiǎn)要記錄。
這種方式和soap_request一樣,都是找到接口文檔的請(qǐng)求,利用這些請(qǐng)求書(shū)寫(xiě)函數(shù)。
首先,LR新建HTTP協(xié)議的腳本。
第二,腳本中用web_custom_request();函數(shù),其中參數(shù)url為我們的天氣預(yù)報(bào)的地址:http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx
Method=POST,Body里面即是我們的請(qǐng)求,最終代碼如下:
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()函數(shù)
這時(shí)我們進(jìn)行回訪,腳本中會(huì)產(chǎn)生錯(cuò)誤:
Action.c(17): Error -26616: HTTP Status-Code=415 (Unsupported Media Type) for
"http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx" [MsgId: MERR-26616]
產(chǎn)生這個(gè)錯(cuò)誤的原因是我們發(fā)送的數(shù)據(jù)包沒(méi)有明確格式類型,服務(wù)器在校驗(yàn)格式時(shí)出現(xiàn)錯(cuò)誤,所以我們需要手動(dòng)添加一個(gè)Header頭部分,使用函數(shù)web_add_header()添加web_add_header("Content-Type",
"application/soap+xml; charset=utf-8");
這樣再次運(yùn)行就可以成功了。
細(xì)心的同學(xué)可能會(huì)發(fā)現(xiàn)在<theCityName>上海</theCityName>
這里明明是填寫(xiě)城市的地方,為什么填的是一堆亂碼呢。
這是由于我們發(fā)送的格式是utf-8格式的,那么在發(fā)送城市名字時(shí)也需要是utf-8編碼的,要不然服務(wù)器是無(wú)法識(shí)別的,至于轉(zhuǎn)換utf-8編碼,可以通過(guò)百度搜索utf-8編碼轉(zhuǎn)換即可。
這就是LR測(cè)試webservice的最后一種方式,到現(xiàn)在3種方式已經(jīng)完畢。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。