返回值为长段str
在进行接口测试时,有些接口返回的数据并非josn,而是长段的str,非常不方便处理。例如:
url:https://tcc.taobao.com/cc/json/mobile_tel_segment.htm
请求方式:GET
Params:tel=17756500000
上述请求返回的responseBody为
__GetZoneResult_ = {
mts:'1775650',
province:'安徽',
catName:'中国电信',
telString:'17756500000',
areaVid:'30509',
ispVid:'3399685',
carrier:'安徽电信'
}
难点在于responseBody不是个json,并且因为花括号里面的前四个参数前面是空格,后三个参数前面是制表符,也不能用JSON.PARSE()转换为json。
遇到这种情况,我们选择使用正则表达式的形式提取数据,比如我们提取其中的province可以
var r = responseBody;
var province = r.match(new RegExp('province:\'(.+)\','))
pm.environment.set("province", province[1]);
返回值为xml树
在weatherWS提供的接口中,部分接口返回的响应体是xml形式的,postman中不好对响应体进行操作,例如:
url:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx/getSupportCityString
请求:POST
Body:theRegionCode=658
上述请求返回的responseBody为
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/">
<string>安庆,2032</string>
<string>蚌埠,1934</string>
<string>亳州,1889</string>
<string>长丰,1933</string>
<string>巢湖,1979</string>
<string>池州,2034</string>
<string>滁州,1942</string>
<string>枞阳,2029</string>
<string>当涂,1986</string>
<string>砀山,1862</string>
<string>定远,1938</string>
<string>东至,2028</string>
<string>繁昌,1988</string>
<string>肥东,1978</string>
<string>肥西,1976</string>
<string>凤台,1930</string>
<string>凤阳,1935</string>
<string>阜南,1924</string>
<string>阜阳,1925</string>
<string>固镇,1904</string>
<string>广德,2044</string>
<string>含山,1982</string>
<string>合肥,1977</string>
<string>和县,1983</string>
<string>怀宁,2025</string>
<string>怀远,1903</string>
<string>淮北,1897</string>
<string>淮南,1937</string>
<string>黄山,3427</string>
<string>黄山区,2033</string>
<string>黄山市,3428</string>
<string>霍邱,1931</string>
<string>霍山,1972</string>
<string>绩溪,2043</string>
<string>界首,1892</string>
<string>金寨,1970</string>
<string>泾县,2038</string>
<string>旌德,2040</string>
<string>九华山,2031</string>
<string>来安,1940</string>
<string>郎溪,2045</string>
<string>利辛,1898</string>
<string>临泉,1891</string>
<string>灵璧,1901</string>
<string>六安,1971</string>
<string>庐江,1980</string>
<string>马鞍山,1987</string>
<string>蒙城,1899</string>
<string>明光,1936</string>
<string>南陵,2037</string>
<string>宁国,2041</string>
<string>祁门,2083</string>
<string>潜山,2024</string>
<string>青阳,2030</string>
<string>全椒,1939</string>
<string>石台,2035</string>
<string>寿县,1932</string>
<string>舒城,1973</string>
<string>泗县,1902</string>
<string>宿松,2026</string>
<string>宿州,1900</string>
<string>濉溪,1895</string>
<string>太和,1893</string>
<string>太湖,2023</string>
<string>天长,1946</string>
<string>桐城,1975</string>
<string>铜陵,2036</string>
<string>屯溪,2088</string>
<string>望江,2027</string>
<string>涡阳,1896</string>
<string>无为,1981</string>
<string>芜湖,1985</string>
<string>芜湖县,1989</string>
<string>五河,1905</string>
<string>歙县,2087</string>
<string>萧县,1863</string>
<string>休宁,2089</string>
<string>宣城,2039</string>
<string>黟县,2084</string>
<string>颍上,3426</string>
<string>岳西,1974</string>
</ArrayOfString>
可以利用var DATA = xml2Json(responseBody);
将内容转换为json格式,方便进一步操作。