zoukankan      html  css  js  c++  java
  • Robot Framework接口测试(3)--http请求之post

    http请求更多的是post请求,我们可以:

    查看说明:

    很多网站在登录的时候需要加上头部信息即headers,这个信息可以通过抓包工具获得——fiddler,一个轻量级的抓包工具,大神用了都说好~
    这里模拟一下博客园的登录,先在前段模拟一下登录操作,后台开着fiddler抓取登录信息:

    获取到这些信息以后,就可以在代码中写好headers信息,以及登录需要的信息了:

    #coding: utf-8
    
    import requests
    
    def post_info():
    
         url = "https://passport.cnblogs.com/user/signin"
    headers = {
         "User-Agent": 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Encoding': 'gzip, deflate, sdch',
    'Accept-Language': 'zh-CN,zh;q=0.8',
    'Content-Type': 'application/json; charset=UTF-8',
    'Content-Length': '385',
    'X-Requested-With': 'XMLHttpRequest',
    'Cookie': 'UM_distinctid=15ad2746631137-0753f3fbde32fd-591e3916-100200-15ad27466332a0; __gads=ID=b4b937f355218cb8:T=1494253102:S=ALNI_Ma7oKjSqjtXDLAlYH-yb4DlK0kouw; _ga=GA1.2.1665904319.1495250472; _gid=GA1.2.1373367502.1495252278; SERVERID=9b2e527de1fc6430919cfb3051ec3e6c|1495252557|1495250466',
    'Connection': 'keep-alive'}
       payload = { #这是我的用户名和密码(已改成错误的)
         "input1": 'kCEho2Gs9jgtYnvxvo03tHsYygiyg/G618KdRuk=',
         'input2': 'nO1f0itXBsUem+vY4JlR7lkSeqN3OkTWmdSBI=',
         'remember': True}

       r = requests.post(url, json=payload, headers=headers, verify=False)
       return r.json()
       

    调用该函数:

    print post_info()

    可以看到返回登录成功提示:

    代码说明:

    1.由于这里是https请求,直接发送请求会报错误:SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]certificate verify failed,可以加个参数:verify=False,表示忽略对 SSL 证书的验证

    2.最后结果是json格式,可以直接用r.json返回json数据:{u'success': True}

    到这里,我们就知道post请求的方式了,接下来,就可以实现我们的终极目标——接口测试了。

    微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

  • 相关阅读:
    J2那几个E和Web基础
    PHP开发人员对JAVA的WEB开发入门(初版-基础知识)
    一个处理大数据的后台服务(已废弃)
    一个请求过来都经过了什么
    请一定记得升级java虚拟机
    面向对象之 结构体和类的区别
    Swift 结构体的使用
    iOS 波浪效果的实现
    iOS 常用三方(持续更新)
    Xshell 链接 Could not connect to '192.168.80.129' (port 22): Connection failed
  • 原文地址:https://www.cnblogs.com/captainmeng/p/7668054.html
Copyright © 2011-2022 走看看