zoukankan      html  css  js  c++  java
  • python获取响应某个字段值的三种方法

       近期将要对两个接口进行测试,第一个接口的响应值是第二个接口的查询条件。为了一劳永逸,打算写个自动化测试框架。因为请求和响应都是xml格式的,遇到的问题就是怎么获取xml响应的某一个值。尝试了很多博客的方法,最终代码实现如下:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import requests

    import re

    import unitest

    xmlhead=('xml格式报文头')

    xmlhead=('xml格式报文体')

    result =request.post(url,data={'xmlhead':xmlhead,'xmlbody':xmlbody})

    #获取响应字符串的某一个值(可以对字符串采取下标切片方式,此处采用的是正则表达式)

     data='<key值>(.*?)</key值>'                 #将想要的值先用正则表达式替代

    result_data=re.findall(data,result.text)     #引入re模块,利用正则表达式finall函数去响应字符串result.text里匹配。

                                                              最好用re.match()或re.search()函数,因为我调用这两个函数一直报不存在此函数属性,所以调用了re.findall函数

         而今天在看视频时,获悉了两种更简单获取响应字符串某个值的方法,个人感觉比正则表达式思维给简洁,在此分享:

    result_json=result.json()                                                                #引入json模块,将响应结果转变为字典格式

    response_data=result_json[父元素1][子元素2]                                     #获取想要的值

    或 

    result_json=eval(result.text)[父元素1][子元素2]                                   #利用eval函数将字符串转变为字典,在字典中获取想要的value值

  • 相关阅读:
    HSV 量化
    小议:部署SharePoint 2013时,无法连接SQL Server问题
    BZOJ 1492 货币兑换 cdq分治或平衡树维护凸包
    初识ASP.NET---一般处理程序
    Vue.js
    jQuery内部原理和实现方式浅析
    关于js中namespace命名空间模式
    MutationObserver 监听DOM树变化
    TCP/UDP常见端口参考
    运算符优先级
  • 原文地址:https://www.cnblogs.com/yinze/p/8166601.html
Copyright © 2011-2022 走看看