TestDog-接口测试get实战

一、requests模块介绍

Requests 是使用 Apache2 Licensed 许可证的 基于Python开发的HTTP 库,其在Python内置模块的基础上进行了高度的封装,使用Requests可以轻而易举的完成浏览器可有的任何操作。

1、安装requests模块

pip3installrequests推荐使用源安装这样会提高安装效率,这里用的豆瓣云pip3installrequests-ihttp://pypi.douban.com/simple/--trusted-hostpypi.douban.com

二、GET请求的使用

1、不带参数的get请求

发送请求一般分为:

1.请求参数 2. 请求方法3.返回结果

请求地址博客园:https://www.cnblogs.com/wen-cheng/

importrequestsdefget_res():url='https://home.cnblogs.com/u/wen-cheng'res=requests.get(url)# 获取codeprint('code:%d'%res.status_code)# 获取返回txt内容print('res:%s'%res.text)if__name__=='__main__':get_res()

2、再发一个带参数的get请求

请求地址:http://zzk.cnblogs.com/s/blogpost?Keywords=自动化测试平台TestDog-V1

请求参数:Keywords=自动化测试平台TestDog-V1,可以以字典的形式传参:{"Keywords": "自动化测试平台TestDog-V1"}

importrequestsdefget_params_res():params={"Keywords":"自动化测试平台TestDog-V1"}url='https://zzk.cnblogs.com/s/blogpost'res=requests.get(url,params)print('code:%d'%res.status_code)print('res:%s'%res.text)if__name__=='__main__':get_params_res()

3、发一个动态参数get请求

请求地址:http://zzk.cnblogs.com/s/blogpost?Keywords=?

请求参数:Keywords=?,可以以字典的形式传参:{"Keywords": ?}

importrequestsdefget_kparams_res():k=input('输入关键字:  ').strip()params={"Keywords":k}url='https://zzk.cnblogs.com/s/blogpost'res=requests.get(url,params)print('code:%d'%res.status_code)print('res:%s'%res.text)if__name__=='__main__':get_kparams_res()

4、发一个带有headers和cookie的get请求

请求地址:http://zzk.cnblogs.com/s/blogpost?Keywords=自动化测试平台TestDog-V1

请求参数:Keywords=自动化测试平台TestDog-V1,可以以字典的形式传参:{"Keywords": "自动化测试平台TestDog-V1"}

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36'

}

cookie=DetectCookieSupport=OK

importrequestsdefgetCookie():"""    获取cookie    :return:    """cook_url='https://zzk.cnblogs.com/s/blogpost?Keywords="自动化测试平台TestDog-V1"'response=requests.get(cook_url)cookie_value=''forkey,valueinresponse.cookies.items():cookie_value+=key+'='+value+';'print(cookie_value)returncookie_valuedefget_headers_params_res():params={"Keywords":"自动化测试平台TestDog-V1"}headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36'}url="https://zzk.cnblogs.com/s/blogpost"cookie_value=getCookie()headers['Cookie']=cookie_valueres=requests.get(url,headers=headers,data=params)print('code:%d'%res.status_code)print('res:%s'%res.text)if__name__=='__main__':get_headers_params_res()

三、本章小结

1、一个完成整的requests请求

defget_Summarize():url="https://xxx.xxx.com/"headers={'k':'w'}params={'k':'w'}requests.get(url,headers=headers,data=params)

2、requests方法总结:

print(dir(requests))

3、常用方法

requests.status_code #响应状态码

requests.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩

requests.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None

requests.json() #Requests中内置的JSON解码器

requests.url # 获取url

requests.encoding # 编码格式

requests.cookies # 获取cookie

requests.raw #返回原始响应体

requests.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码

requests.raise_for_status() #失败请求(非200响应)抛出异常

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家的支持。

更多文章关注小编公众号:自动化测试 To share

你可能感兴趣的:(TestDog-接口测试get实战)