• python自动化测试应用-番外篇--接口测试2


    篇2                 book-python-auto-test-番外篇--接口测试2

                                                                                 --lamecho辣么丑

           大家好! 我是lamecho(辣么丑),今天将继续上一篇python接口测试番外篇的内容。回顾一下,上篇的内容最后我们是针对天气预报支持的城市查询做了一个脚本,大家还记得它是什么类型的请求吗,对POST,那今天我将对它的另一个接口“城市天气预报查询”在python里实现。

    # -*-coding:utf8-*-

    from appium import webdriver

    import urllib

    import urllib2

    city=u'北京'.encode('utf-8')

    url='http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName'

    data={'theCityName':city}

    data=urllib.urlencode(data)

    ret=urllib2.urlopen(url,data)

    print ret.read()

           看看我们的脚本,是不是和上一篇的脚本不一样了。是的,这样是我们提到的GET请求的写法。我们先来看看这个接口的详细信息的截图,大家也可以访问上一篇提供的网址去看。http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

     

           首先拼接我们的url,大家应该会了吧。那我们就来看看脚本中新出现的data变量,在python里它被定义为一个dict字典类型,key值就是我们要传的参数名称‘'theCityName'’,那么对应的value值是什么呢,自然就是我们要传递的具体参数内容城市名称了。但是我们不能直接传“北京”这个内容进去,会报错。由于我们的后台采用的编码是utf-8,这里可以从后台的返回示例里看出来(content-type),所以我们要将中文的内容转化为utf-8的格式传递进去。处理完这些后再看这句urllib.urlencode(data),为什么要再去对我们的data值做这样的操作呢,是因为我们请求的content-type类型是 x-www-form-urlencoded,所以我们要将data转化为系统识别的格式传递进去才行,如果不去遵守规范自然程序是不认识的。

    大家理解了这里,在遇到其他类型的时候,自然就要思考怎么去把传进去的数据转化为系统要求的格式了。最后还是用我们的urllib2.urlopen(url,data)方法去请求服务端得到返回。看看我们的返回结果是什么,可以看到返回结果正常返回了北京的具体天气情况,没有pm2.5差评。

     

           好了,原本我还要介绍一个解梦的接口,其实实现方式都已经告诉大家了,有必要给大家留份作业。在解梦这个接口中,先解读它的接口详情介绍,是属于什么类型的请求,然后请求的地址是什么。透露个小惊喜,其实这里还是埋了一颗雷的。大家遇到什么问题可以联系我,在我的微博留言,搜索“lamecho好棒

    最后感谢大家耐心读完本篇文章,其实接口的测试过程中不止我文中讲的那些,这两篇自动化测试的番外文章只是针对接口测试的一个引子,希望大家在实际的工作多去实践。我是lamecho,辣么丑。

    原创文章,转载请注明出处。

    欢迎关注我的个人微信号”fire-bug“,了解最新文章或提出你的问题和观点

    微博:https://weibo.com/u/6017986584

  • 相关阅读:
    C#如何释放未托管资源
    C# 如何将一个List转换为只读的
    【转载】所谓爱情不是一个人的事情(爱情不完全手册)
    vbs SendKey 用法 Sendkey 键盘对应的码表
    PowerShell签名和执行策略
    IDisposable接口和析构函数的联合使用
    [读报]2009中国基金业明星基金奖揭晓
    【读书笔记】泛型接口 和 泛型方法
    C# 反射(转)
    设计模式详解——装饰者模式
  • 原文地址:https://www.cnblogs.com/lamecho/p/6773375.html
Copyright © 2020-2023  润新知