python接口測試-項目實踐(二)獲取接口響應,取值(re、json)


一 分別請求3個接口,獲取響應。

第三方接口返回有兩種:1 純字符串  2 帶bom頭的json字串

import requests

api1 = 'url1'
response1 = requests.get(api1)
result1 = response1.content.decode('utf-8-sig') #帶BOM頭的響應

api2 = 'url2'
response2 = requests.get(api2)
result2 = response2.content.decode('utf-8-sig') #帶BOM頭的響應

api3 = 'url3'
response3 = requests.get(api3)
result3 = response3.text.replace('\\n', '').replace('\\', '') #去除特殊字符

 

二 從響應中提取所需數據。

1 正則匹配

def findinfo_from_api(str1,str2):
    '''
    從str1中找第一個"str2":...的值
    :param str1:
    :param str2:
    :return: str2冒號后面的值
    '''
    pattern1 = '"'+str2 + '":(.*?),"' #左右邊界
    result = re.search(pattern1, str1) #正則匹配
    if result:
        result = result.group(1)
    return result

 

2 json格式的數據,取第一行標題對應的最后一行的值

def get_last_value_of_key(resultlist,key):
    '''
    從二維數組取第一行的元素對應的最后一行的值
    :param resultlist:
    :param key:
    :return: value
    '''
    for i in range(0,len(resultlist[0])):
        if key == resultlist[0][i]:   #第一行中找到對應字段名的索引
            result = resultlist[-1][i]
            return result #返回數組最后一行對應的值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM