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)
原文地址:https://www.cnblogs.com/shaozheng/p/12869517.html