zoukankan      html  css  js  c++  java
  • 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 #返回数组最后一行对应的值
  • 相关阅读:
    英语老师不想让你知道的一些网站分享
    最近三周开发的桌面应用系统
    UML技术沙龙PPT
    Pandas时间处理的一些小方法
    合并函数总结
    开博宣言
    DBGrid中增加一列CHECKBOX
    关于Delphi的Hint
    操作EXCEL
    关于FastReport
  • 原文地址:https://www.cnblogs.com/dinghanhua/p/10127429.html
Copyright © 2011-2022 走看看