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值

  • 相关阅读:
    css知识小结(更新中)
    vim的简易操作
    shell语言学习(更新中)
    An Introduction to C & GUI Programming -----Simon Long 学习笔记 1
    fread,fwrite(二)
    fread,fwrite(一)
    printf 打印颜色
    容斥原理及证明
    字典的认识和使用 day05
    列表和元祖的使用 day 04
  • 原文地址:https://www.cnblogs.com/yinze/p/8166601.html
Copyright © 2011-2022 走看看