zoukankan      html  css  js  c++  java
  • python自动化测试_2

    自动化测试二:

    常用的requests操作:

    request 请求方法:

    url = '接口地址'
    
    r = requests.get(url)                       # 发送get请求
    
    print(r.status_code)                   # 打印状态码,若有重定向,返回的是重定向之后的代码
    
    print(r.headers)                       # 打印返回的报头(头部)
    
    print(r.text)                           # 查看返回结果的文本形式
    
    r.status_code                        # 响应状态码
    
    r.content                              # 字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
    
    r.headers                           # 以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
    
    r.json()                            # Requests中内置的JSON解码器 ,json转成python的字典了
    
    r.url                              # 如果没有重定向,就是请求的url,如果有重定向,就是重定向后的url
    r.encoding                           # 查看返回的编码格式
    r.cookies                              # 获取cookie
    r.raw                               #返回原始响应体
    
    r.history                              #追踪重定向过程(list类型)
    r.text                              #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
    
    r.content.decode('utf-8')          # 返回内容有乱码时,用此方法打印
    r.raise_for_status()                  #失败请求(非200响应)抛出异常
    
    loginCookies = r.cookies:         # 获取登录的cookies
    
    s = requests.session()             # 可以用这个方法保持会话,不用每次都去获取cookies(只适用于网站是cookies这种,网站是token的没用)
    
    print(r.encoding)                     # 查看返回的编码格式
    
    r.json                                # 获取返回的json
    
    verify=False                           # 访问https请求时加上后不验证证书
    
    # open打开excel文件,保存为后缀为xls的文件
    
    fp = open('yoyo.xls', 'wb')     # w:写入, b:二进制的形式
    

    发送请求:

    1. 无参数:
        import requests
        r = requets.get(url)
        print(r.text)
        
    2. 携带参数:
    	url = 'http://japi.juhe.cn/qqevaluate/qq?key= 8dbee1fcd8627fb6699bce7b986adc45&qq=907728701'
        
        url = 'http://japi.juhe.cn/qqevaluate/qq'
        par = {
                'key':' 8dbee1fcd8627fb6699bce7b986adc45',
                'qq':'907728701'
        }
    r = requests.get(url,params=par)        
    
    post 请求:
    
        url = 'http://japi.juhe.cn/qqevaluate/qq'
        r = requests.post(url)                      #发送post请求
        print(r.status_code)                        #打印状态码
    

    案列:

    import hashlib
    import requests
    import json
    import time
    time = time.time()
    time = str(time).split('.')[0]
    token = 'JyyyyyY'
    data = {
        'name': '先生',
        'mobile': '18079575676',
        'city': '南昌',
        'brand': '未知',
        'series': '未知',
        'model': '未知',
        'kilometer':'10',
        'licensed_date_year':'2010 3',
        'is_operation':'',
        'is_accidented':''
    }
    data = json.dumps(data)
    print(data)
    
    sign = hashlib.md5((data + token + time).encode("utf-8")).hexdigest()
    
    print(sign)
    post_data = {
        'token': token,
        'sign': sign,
        'time': time,
        'data': data,
    }
    url = 'xxxxx'
    r = requests.post(url, data=post_data)
    print(r.text)
    
  • 相关阅读:
    Android :okhttp+Springmvc文件解析器实现android向服务器上传照片
    SpringMVC自定义类型转换器(让jsp支持2018-8-8转化成date类型)
    第一个SpringMVC
    Spring 各功能所用的包(附上网盘下载)
    Spring 基于xml的事务控制
    做一个单纯的react-image显示组件
    CSS Grid 读书笔记
    CSS Modules入门教程
    Taro开发微信小程序的初体验
    教你使用docker部署淘宝rap2服务
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12869517.html
Copyright © 2011-2022 走看看