博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3 进行接口测试
阅读量:6256 次
发布时间:2019-06-22

本文共 1898 字,大约阅读时间需要 6 分钟。

最近有研究接口测试,然后查了查资料,发现有两种方法,一种是使用urllib库,一种是使用requests库。而在这里,我使用的是requests库,为什么要用这个呢?

从官方文档看出,python的标准库urllib2提供了大部分需要的HTTP功能,但是呢?API太坑,使用标准库实现会写大堆代码。而requests使用起来的话,就比较简洁。(建议使用的开发工具是 pycharm,安装插件方便。)

下面别的不说,先上一个简单示例:

# -*- coding:utf-8 -*-__author__ = u'harry' import requests   #先导入包,这是必须的url = 'http://XXXXXXXXXXXXXXX'       #url:接口地址data = {
'XXXX':'XXX'} #data:接口传递的参数headers = {
'Connection':'close'} #header:传递header信息 #files:接口中需要上传文件则需要用到该参数r = requests.post(url,data = data,headers = headers) #请求url,获得返回的数据信息print(r.text.encode('utf-8'))                  #获得的返回数据使用text方法进行获取

 

 使用requets就是这么简单。

 简单的使用方法写了,各位客官可以对其进行很多的修改。比如说:封装这块代码,每次可以进行调用;可以添加循环,变为自动化,从excel中读取数据,然后进行循环取值。 等等等等。。。。

在最后再加上一个我封装后的urllib库 与 requests库的对比代码:

# -*- coding:utf-8 -*-__author__ = u'harry'import urllib.requestimport requests   #先导入包,这是必须的import urllib.parseurl = 'XXXXXXX'  # url:接口地址data = {
'XXX': 'XXX'} #data:接口传递的参数headers = {
'Connection': 'close'} # header:传递header信息# files:接口中需要上传文件则需要用到该参数def requests_test(url,data,headers): response = requests.post(url,data = data,headers = headers) #请求url,获得返回的数据信息 print(response.text,response.headers) #返回头部信息def urllib_test(url,data): data1 = urllib.parse.urlencode(data).encode('utf-8') response = urllib.request.Request(url=url,data = data1) html = urllib.request.urlopen(response) print(html.read()) print(html.getcode(),html.msg) #获得html返回的状态 print(html.headers) #返回头部信息#下面调用两个方法:urllib_test(url,data)requests_test(url,data,headers)

关于这两个库的get请求,我就不多讲了。

requests: requests.get("url") 

urllib:不传入data就可以了。

 

如果要解决接口返回值的unicode编码,则

html.read().decode('unicode-escape')

 

转载于:https://www.cnblogs.com/harry-xiaojun/p/6733148.html

你可能感兴趣的文章
在CentOS上简单安装tengine
查看>>
c语言——字符串变量、函数
查看>>
解决Type safety: The expression of type List needs
查看>>
POJ 3233 (矩阵)
查看>>
20161220
查看>>
11月27日
查看>>
Java位运算符
查看>>
智能手表ticwatch穿戴体验
查看>>
暑假第五周总结(2018.8.6-8.12)
查看>>
MFC下拉框Combo Box
查看>>
TCP带外数据读写
查看>>
uni-app采坑记录
查看>>
TP方法中打印地址栏中所有的参数:
查看>>
这是一个蒟蒻的计划……QAQ
查看>>
设置局域网共享文件不需要用户名密码
查看>>
raft--分布式一致性协议
查看>>
Solidity notes
查看>>
网上购物系统(Task005)——通用数据库访问函数集SqlHelper类
查看>>
java 单例模式浅析
查看>>
Codeforces Round #389 (Div. 2,) B C
查看>>