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值

  • 相关阅读:
    Asp.net 中 listbox 滚动条 定位 火麒
    Silverlight跨域访问WCF服务 火麒
    网页加载速度优化技巧
    很漂亮的login
    ireport
    方法1,定位,相当于四周受力
    方法2,平移
    大端小端数据存储方式
    c++中RTTI
    C语言细节数组a+1和&a+1
  • 原文地址:https://www.cnblogs.com/yinze/p/8166601.html
Copyright © 2011-2022 走看看